2008-11-14 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-14  Dan Williams  <dcbw@redhat.com>
2
3         * vpn-manager/nm-vpn-connection.c
4                 - (plugin_state_changed): clear VPN secrets on error to ensure they
5                         are always requested from the settings service (rh #429287)
6
7 2008-11-13  Dan Williams  <dcbw@redhat.com>
8
9         * libnm-util/crypto.c
10                 - (crypto_get_private_key_data): fix bad initial arg type checking
11                         from pkcs#12 patch
12
13 2008-11-13  Dan Williams  <dcbw@redhat.com>
14
15         Add support for PKCS#12 private keys (bgo #558982)
16
17         * libnm-util/crypto.c
18           libnm-util/crypto.h
19                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
20                         take a GByteArray instead of a filename
21                 - (file_to_g_byte_array): handle private key files too
22                 - (decrypt_key): take a GByteArray rather than data + len
23                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
24                         one function that takes a filename, and one that takes raw data;
25                         detect pkcs#12 files as well
26                 - (crypto_load_and_verify_certificate): detect file type
27                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
28                         functions
29
30         * libnm-util/crypto_gnutls.c
31                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
32                         whereby tail padding was incorrectly handled, leading to erroneous
33                         successes when trying to decrypt the data
34                 - (crypto_verify_cert): rework somewhat
35                 - (crypto_verify_pkcs12): validate pkcs#12 keys
36
37         * libnm-util/crypto_nss.c
38                 - (crypto_init): enable various pkcs#12 ciphers
39                 - (crypto_decrypt): take a GByteArray rather than data + len
40                 - (crypto_verify_cert): clean up
41                 - (crypto_verify_pkcs12): validate pkcs#12 keys
42
43         * libnm-util/test-crypto.c
44                 - Handle pkcs#12 keys
45
46         * libnm-util/nm-setting-8021x.c
47           libnm-util/nm-setting-8021x.h
48           libnm-util/libnm-util.ver
49                 - Add two new properties, 'private-key-password' and
50                         'phase2-private-key-password', to be used in conjunction with
51                         pkcs#12 keys
52                 - (nm_setting_802_1x_set_ca_cert_from_file,
53                    nm_setting_802_1x_set_client_cert_from_file,
54                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
55                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
56                         type
57                 - (nm_setting_802_1x_get_private_key_password,
58                    nm_setting_802_1x_get_phase2_private_key_password): return private
59                         key passwords
60                 - (nm_setting_802_1x_set_private_key_from_file,
61                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
62                         key from a file, and update the private key password at the same time
63                 - (nm_setting_802_1x_get_private_key_type,
64                    nm_setting_802_1x_get_phase2_private_key_type): return the private
65                         key type
66
67         * src/supplicant-manager/nm-supplicant-settings-verify.c
68                 - Whitelist private key passwords
69
70         * src/supplicant-manager/nm-supplicant-config.c
71                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
72                         add the private key password to the supplicant config, but do not
73                         add the client certificate (as required by wpa_supplicant)
74
75 2008-11-12  Tambet Ingo  <tambet@gmail.com>
76
77         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
78         (add_secrets): Don't add empty secrets to the secrets hash table.
79
80 2008-11-07  Dan Williams  <dcbw@redhat.com>
81
82         * libnm-util/nm-setting-wireless.c
83                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
84                         that cased this function to return garbage, breaking hidden AP
85                         detection
86
87 2008-11-07  Dan Williams  <dcbw@redhat.com>
88
89         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
90
91         * src/NetworkManagerSystem.c
92           src/NetworkManagerSystem.h
93                 - (nm_system_device_set_ip4_route): return the route that was added
94                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
95                         public, clean up, and return the route that was added
96                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
97                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
98                         flags to allow only certain attributes of the NMIP4Config to be
99                         applied
100
101         * src/nm-device.c
102                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
103                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
104                         what's really changed between the old and new configs; don't export
105                         the new IP4 config on failure; always send the DNS info to the
106                         named manager
107
108         * src/vpn-manager/nm-vpn-connection.c
109                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
110                         parent device's IP4Config and re-add the VPN gateway route when it
111                         changes
112                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
113                         nm_system_apply_ip4_config() no longer does) and cache it for later
114                 - (connection_state_changed): move cleanup code to its own function
115                 - (vpn_cleanup): delete any previously added VPN gateway route; and
116                         re-apply the parent device's addresses and routes using
117                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
118
119 2008-11-07  Dan Williams  <dcbw@redhat.com>
120
121         * src/nm-ip4-config.c
122           src/nm-ip4-config.h
123                 - (nm_ip4_config_diff): new function; return the difference between two
124                         IP4 configs
125                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
126
127 2008-11-05  Dan Williams  <dcbw@redhat.com>
128
129         * nm-ip4-config.c
130           nm-ip4-config.h
131                 - (nm_ip4_config_compare): compare two IP4 configs
132
133 2008-11-05  Dan Williams  <dcbw@redhat.com>
134
135         * src/NetworkManagerPolicy.c
136                 - (update_etc_hosts): only add newline if not the last line of the file
137                         (Jonathan Miner)
138
139 2008-11-05  Dan Williams  <dcbw@redhat.com>
140
141         * src/dhcp-manager/nm-dhcp-dhclient.c
142                 - (get_leasefile_for_iface): move lease files back to where dhclient
143                         puts them
144
145 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
146
147         * initscripts/Debian/NetworkManager
148                 - Update to what Debian is actually using
149
150 2008-11-05  Tambet Ingo  <tambet@gmail.com>
151
152         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
153
154 2008-11-03  Dan Williams  <dcbw@redhat.com>
155
156         * system-settings/src/main.c
157                 - (add_default_dhcp_connection): make the fallback connection read-only
158
159         * libnm-glib/nm-settings.c
160           libnm-glib/nm-settings.h
161                 - Add detailed errors
162                 - (impl_exported_connection_update, impl_exported_connection_delete):
163                         return an error if the connection is read-only
164
165         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
166           system-settings/plugins/keyfile/nm-keyfile-connection.c
167           system-settings/src/main.c
168                 - Use more detailed errors
169
170         * system-settings/src/nm-system-config-error.c
171           system-settings/src/nm-system-config-error.h
172           system-settings/src/dbus-settings.c
173                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
174                         NM_SETTINGS_ERROR_INVALID_CONNECTION
175
176 2008-11-02  Dan Williams  <dcbw@redhat.com>
177
178         * Add license headers to everything in src/
179
180 2008-11-02  Dan Williams  <dcbw@redhat.com>
181
182         * Tag 0.7.0-rc1
183
184 2008-11-02  Dan Williams  <dcbw@redhat.com>
185
186         * src/NetworkManagerAP.c
187                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
188                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
189                         secrets when connecting to an encrypted network failed
190
191 2008-10-30  Dan Williams  <dcbw@redhat.com>
192
193         * libnm-util/libnm-util.ver
194           libnm-util/nm-setting-ip6-config.c
195           libnm-util/nm-setting-ip6-config.h
196           libnm-util/Makefile.am
197                 - Make properties private and add accessor functions
198                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
199
200         * libnm-util/nm-connection.c
201           libnm-util/nm-utils.c
202           libnm-util/nm-utils.h
203                 - Ignore IPv6 stuff for now
204
205 2008-10-30  Dan Williams  <dcbw@redhat.com>
206
207         * libnm-util/libnm-util.ver
208           libnm-util/nm-setting-8021x.c
209           libnm-util/nm-setting-8021x.h
210                 - Make properties private and add accessor functions
211
212         * src/supplicant-manager/nm-supplicant-config.c
213           system-settings/plugins/ifcfg-suse/parser.c
214                 - Use 802.1x setting accessors
215
216 2008-10-30  Dan Williams  <dcbw@redhat.com>
217
218         * libnm-util/libnm-util.ver
219           libnm-util/nm-setting-wireless-security.c
220           libnm-util/nm-setting-wireless-security.h
221                 - Make properties private and add accessor functions
222
223         * libnm-util/nm-setting-wireless.c
224           src/NetworkManagerAP.c
225           src/nm-device-wifi.c
226           src/supplicant-manager/nm-supplicant-config.c
227           system-settings/plugins/ifcfg-fedora/reader.c
228           system-settings/plugins/ifcfg-suse/parser.c
229                 - Use wireless security accessors
230
231 2008-10-30  Dan Williams  <dcbw@redhat.com>
232
233         * src/nm-device-ethernet.c
234           src/nm-device-wifi.c
235           src/nm-device.c
236           src/ppp-manager/nm-ppp-manager.c
237                 - Harmonize return checking of ioctl
238
239         * system-settings/plugins/ifcfg-fedora/reader.c
240                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
241
242 2008-10-30  Dan Williams  <dcbw@redhat.com>
243
244         * src/ppp-manager/nm-ppp-manager.c
245                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
246                         ppp_generic module to create it (bgo #533064)
247
248 2008-10-30  Dan Williams  <dcbw@redhat.com>
249
250         Patch from Alexander Sack <asac@canonical.com>
251
252         Fix "ppp connections don't honour ip4 connection settings"
253
254         * src/nm-device-ethernet.c
255                 - (real_act_stage4_get_ip4_config): merge ip4config settings
256                         with results from ppp manager
257
258         * src/nm-serial-device.c
259                 - (real_act_stage4_get_ip4_config): merge ip4config settings
260                         with results from ppp manager
261
262 2008-10-29  Dan Williams  <dcbw@redhat.com>
263
264         * libnm-util/libnm-util.ver
265           libnm-util/nm-setting-ip4-config.c
266           libnm-util/nm-setting-ip4-config.h
267                 - Make properties private and add accessor functions
268
269         * callouts/nm-dispatcher-action.c
270           libnm-glib/libnm-glib-test.c
271           libnm-util/nm-utils.c
272           src/NetworkManagerPolicy.c
273           src/NetworkManagerSystem.c
274           src/NetworkManagerUtils.c
275           src/dhcp-manager/nm-dhcp-dhclient.c
276           src/dhcp-manager/nm-dhcp-manager.c
277           src/dnsmasq-manager/nm-dnsmasq-manager.c
278           src/nm-device-wifi.c
279           src/nm-device.c
280           src/nm-hso-gsm-device.c
281           src/nm-ip4-config.c
282           src/nm-ip4-config.h
283           src/ppp-manager/nm-ppp-manager.c
284           src/vpn-manager/nm-vpn-connection.c
285           system-settings/plugins/ifcfg-fedora/reader.c
286           system-settings/plugins/ifcfg-suse/parser.c
287           system-settings/plugins/ifcfg-suse/plugin.c
288           system-settings/plugins/ifupdown/parser.c
289           test/nm-tool.c
290           vpn-daemons/vpnc/properties/nm-vpnc.c
291                 - Use IP4 accessor functions
292
293 2008-10-29  Tambet Ingo  <tambet@gmail.com>
294
295         Half of it by Dan Williams <dcbw@redhat.com>
296
297         * libnm-util/libnm-util.ver
298         libnm-util/nm-setting-vpn.c
299         libnm-util/nm-setting-vpn.h
300                 - Make properties private and add accessor functions.
301
302         * src/vpn-manager/nm-vpn-connection.c
303         src/vpn-manager/nm-vpn-manager.c
304         system-settings/plugins/keyfile/reader.c
305         vpn-daemons/openvpn/properties/auth-helpers.c
306         vpn-daemons/openvpn/properties/import-export.c
307         vpn-daemons/openvpn/properties/nm-openvpn.c
308         vpn-daemons/openvpn/src/nm-openvpn-service.c
309         vpn-daemons/pptp/auth-dialog/main.c
310         vpn-daemons/pptp/properties/advanced-dialog.c
311         vpn-daemons/pptp/properties/nm-pptp.c
312         vpn-daemons/pptp/src/nm-pptp-service.c
313         vpn-daemons/vpnc/properties/nm-vpnc.c
314         vpn-daemons/vpnc/src/nm-vpnc-service.c
315                 - Use VPN setting accessors.
316
317 2008-10-28  Dan Williams  <dcbw@redhat.com>
318
319         Patch from Tambet Ingo <tambet@gmail.com>
320
321         * libnm-util/libnm-util.ver
322           libnm-util/nm-setting-wireless.c
323           libnm-util/nm-setting-wireless.h
324                 - Make properties private and add accessor functions
325
326         * src/NetworkManagerAP.c
327           src/nm-device-wifi.c
328           src/nm-manager.c
329           src/supplicant-manager/nm-supplicant-config.c
330           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
331           system-settings/plugins/ifcfg-fedora/reader.c
332           system-settings/plugins/ifcfg-suse/parser.c
333           system-settings/plugins/ifupdown/parser.c
334                 - Use wireless setting accessors
335
336 2008-10-27  Dan Williams  <dcbw@redhat.com>
337
338         Patch from Tambet Ingo <tambet@gmail.com>
339
340         * libnm-util/libnm-util.ver
341           libnm-util/nm-setting-ppp.c
342           libnm-util/nm-setting-ppp.h
343                 - Make properties private and add accessor functions
344
345         * src/ppp-manager/nm-ppp-manager.c
346                 - Use ppp setting accessors
347
348 2008-10-27  Dan Williams  <dcbw@redhat.com>
349
350         Patch from Tambet Ingo <tambet@gmail.com>
351
352         * libnm-util/nm-setting.h
353           libnm-util/nm-setting.c
354                 - Make properties private and add accessor functions
355
356         * libnm-util/nm-connection.c
357           libnm-util/nm-setting-8021x.c
358           libnm-util/nm-setting-cdma.c
359           libnm-util/nm-setting-connection.c
360           libnm-util/nm-setting-gsm.c
361           libnm-util/nm-setting-ip4-config.c
362           libnm-util/nm-setting-ip6-config.c
363           libnm-util/nm-setting-ppp.c
364           libnm-util/nm-setting-pppoe.c
365           libnm-util/nm-setting-serial.c
366           libnm-util/nm-setting-template.c
367           libnm-util/nm-setting-vpn.c
368           libnm-util/nm-setting-wired.c
369           libnm-util/nm-setting-wireless-security.c
370           libnm-util/nm-setting-wireless.c
371           system-settings/plugins/keyfile/reader.c
372           system-settings/plugins/keyfile/writer.c
373                 - Use setting accessors
374
375 2008-10-27  Dan Williams  <dcbw@redhat.com>
376
377         * libnm-util/libnm-util.ver
378           libnm-util/nm-setting-connection.c
379           libnm-util/nm-setting-connection.h
380                 - Add a 'read-only' property that indicates the connection cannot be
381                         modified
382
383         * system-settings/plugins/ifcfg-fedora/reader.c
384           system-settings/plugins/ifcfg-suse/parser.c
385           system-settings/plugins/ifupdown/parser.c
386                 - These plugins are read-only at the moment
387
388         * system-settings/plugins/keyfile/reader.c
389           system-settings/plugins/keyfile/writer.c
390                 - Read-only shouldn't get saved out to files or read in from them
391
392 2008-10-27  Tambet Ingo  <tambet@gmail.com>
393
394         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
395         correct speed reporting for fast devices (kernel >= 2.6.27).
396
397 2008-10-26  Dan Williams  <dcbw@redhat.com>
398
399         Attempt to compensate for modems that don't enable full AT parsing before
400         the PIN has been entered.
401
402         * src/nm-gsm-device.c
403                 - (init_modem): accept different init strings
404                 - (init_done): try different init strings on failure
405                 - (check_pin_done): on PIN success, do full modem init
406
407 2008-10-26  Dan Williams  <dcbw@redhat.com>
408
409         Patch from Tambet Ingo <tambet@gmail.com>
410
411         * libnm-util/libnm-util.ver
412           libnm-util/nm-setting-connection.c
413           libnm-util/nm-setting-connection.h
414                 - Make properties private and add accessor functions
415
416         * src/NetworkManagerPolicy.c
417           src/nm-cdma-device.c
418           src/nm-device-ethernet.c
419           src/nm-device-interface.c
420           src/nm-device-wifi.c
421           src/nm-gsm-device.c
422           src/nm-manager.c
423           src/ppp-manager/nm-ppp-manager.c
424           src/vpn-manager/nm-vpn-connection.c
425           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
426           system-settings/plugins/ifcfg-fedora/plugin.c
427           system-settings/plugins/ifcfg-fedora/reader.c
428           system-settings/plugins/ifcfg-suse/parser.c
429           system-settings/plugins/ifupdown/parser.c
430           system-settings/plugins/keyfile/nm-keyfile-connection.c
431           system-settings/plugins/keyfile/plugin.c
432           system-settings/plugins/keyfile/writer.c
433           system-settings/src/main.c
434                 - Use those accessors
435
436 2008-10-26  Dan Williams  <dcbw@redhat.com>
437
438         Patch from Tambet Ingo <tambet@gmail.com>
439
440         * libnm-util/libnm-util.ver
441           libnm-util/nm-setting-gsm.c
442           libnm-util/nm-setting-gsm.h
443                 - Make properties private and add accessor functions
444
445         * src/nm-gsm-device.c
446           src/nm-hso-gsm-device.c
447           src/ppp-manager/nm-ppp-manager.c
448                 - Use those accessors
449
450 2008-10-26  Dan Williams  <dcbw@redhat.com>
451
452         Patch from Tambet Ingo <tambet@gmail.com>
453
454         * libnm-util/libnm-util.ver
455           libnm-util/nm-setting-cdma.c
456           libnm-util/nm-setting-cdma.h
457                 - Make properties private and add accessor functions
458
459         * src/nm-cdma-device.c
460           src/ppp-manager/nm-ppp-manager.c
461                 - Use those accessors
462
463 2008-10-26  Dan Williams  <dcbw@redhat.com>
464
465         Patch from Tambet Ingo <tambet@gmail.com>
466
467         * libnm-util/libnm-util.ver
468           libnm-util/nm-setting-pppoe.c
469           libnm-util/nm-setting-pppoe.h
470                 - Make properties private and add accessor functions
471
472         * src/nm-device-ethernet.c
473           src/ppp-manager/nm-ppp-manager.c
474                 - Use those accessors
475
476 2008-10-26  Dan Williams  <dcbw@redhat.com>
477
478         Patch from Tambet Ingo <tambet@gmail.com>
479
480         * libnm-util/libnm-util.ver
481           libnm-util/nm-setting-wired.c
482           libnm-util/nm-setting-wired.h
483                 - Make properties private and add accessor functions
484
485         * src/nm-device-ethernet.c
486           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
487           system-settings/plugins/ifcfg-suse/parser.c
488           system-settings/src/main.c
489                 - Use those accessors
490
491 2008-10-26  Dan Williams  <dcbw@redhat.com>
492
493         Patch from Tambet Ingo <tambet@gmail.com>
494
495         * libnm-util/libnm-util.ver
496           libnm-util/nm-setting-serial.c
497           libnm-util/nm-setting-serial.h
498           src/nm-serial-device.c
499                 - Make properties private and use accessors instead
500
501 2008-10-26  Dan Williams  <dcbw@redhat.com>
502
503         * src/supplicant-manager/nm-supplicant-interface.c
504           src/supplicant-manager/nm-supplicant-interface.h
505           src/supplicant-manager/nm-supplicant-manager.c
506           src/supplicant-manager/nm-supplicant-manager.h
507                 - Add state-to-string conversion functions
508
509         * src/nm-device-wifi.c
510           src/nm-device-ethernet.c
511                 - Normalize state info logging and use strings instead of numbers
512
513 2008-10-26  Dan Williams  <dcbw@redhat.com>
514
515         * src/NetworkManagerPolicy.c
516                 - (update_routing_and_dns): ignore host routes when determining whether
517                         a VPN connection should own the default route (bgo #552594)
518
519 2008-10-24  Dan Williams  <dcbw@redhat.com>
520
521         * src/nm-gsm-device.c
522                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
523
524 2008-10-23  Dan Williams  <dcbw@redhat.com>
525
526         * src/ppp-manager/nm-ppp-manager.c
527                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
528                         add really important stuff to the command line to ensure that NM
529                         overrides /etc/ppp/options (bgo #556781)
530
531 2008-10-22  Dan Williams  <dcbw@redhat.com>
532
533         * src/NetworkManagerSystem.c
534           src/nm-device.c
535                 - Use the device's IP interface where appropriate (Per Hallsmark)
536
537 2008-10-22  Dan Williams  <dcbw@redhat.com>
538
539         * src/nm-gsm-device.c
540                 - (schedule_automatic_registration_again): use a short timeout here
541                         instead of an idle handler to avoid using too much CPU polling for
542                         something we should be waiting a bit for anyway
543
544 2008-10-22  Dan Williams  <dcbw@redhat.com>
545
546         * include/NetworkManager.h
547           introspection/nm-device.xml
548                 - Add device state change reason for carrier changes
549
550         * src/nm-device-ethernet.c
551                 - (set_carrier): use the carrier change reason when changing device
552                         state in response to carrier changes
553
554 2008-10-21  Dan Williams  <dcbw@redhat.com>
555
556         * src/NetworkManagerPolicy.c
557                 - (update_etc_hosts): don't leak errors, and ensure that
558                         g_file_set_contents() gets a valid error placeholder (rh #461933)
559
560 2008-10-21  Dan Williams  <dcbw@redhat.com>
561
562         * src/nm-manager.c
563                 - (free_get_settings_info): don't use the DBusGProxy which could be
564                         disposed of by the time the function is called
565                 - (internal_new_connection_cb): save connection scope
566                 - (connection_get_settings_cb): don't replace a connection unless it's
567                         actually different from the existing one; fixes an issue where
568                         killing the settings service wouldn't deactivate an active connection
569                         provided by that settings service, because it was using a connection
570                         that had already been replaced in the system or user hash
571
572 2008-10-21  Dan Williams  <dcbw@redhat.com>
573
574         * src/NetworkManager.c
575                 - (main): keep the DHCP manager around since it's a singleton; fixes
576                         a use-after-free exposed by r4196 since the DHCP manager singleton
577                         variable isn't cleared when the DHCP manager object is finalized
578
579 2008-10-20  Dan Williams  <dcbw@redhat.com>
580
581         * libnm-util/nm-setting-wireless-security.c
582                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
583
584 2008-10-20  Dan Williams  <dcbw@redhat.com>
585
586         * src/supplicant-manager/nm-supplicant-config.c
587                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
588
589 2008-10-20  Dan Williams  <dcbw@redhat.com>
590
591         * src/dhcp-manager/nm-dhcp-manager.c
592                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
593                         manager object already refs it once
594                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
595                         also get cleaned up by nm_dhcp_device_destroy() to prevent
596                         double-frees
597
598 2008-10-20  Dan Williams  <dcbw@redhat.com>
599
600         * src/nm-manager.c
601                 - (initial_get_connections): use private dbus manager, don't keep
602                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
603                         manager object.
604
605 2008-10-18  Dan Williams  <dcbw@redhat.com>
606
607         * libnm-glib/nm-settings.c
608           libnm-glib/nm-settings.h
609                 - Rename the "get_secrets" virtual function "service_get_secrets" to
610                         clarify when it's used; NMExportedConnetion is a base-class for both
611                         the client and service side, which is sort of confusing, and
612                         get_secrets only makes sense on the service side.
613
614         * libnm-glib/nm-dbus-connection.c
615                 - (get_secrets): remove, unused, and clients need to do extra work to
616                         get secrets anyway since the call can block on the remote side
617
618         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
619           system-settings/plugins/keyfile/nm-keyfile-connection.c
620                 - Fix up for get_secrets -> service_get_secrets
621
622 2008-10-16  Dan Williams  <dcbw@redhat.com>
623
624         * src/nm-device-wifi.c
625                 - (constructor): correctly determine encryption capabilities
626
627 2008-10-15  Dan Williams  <dcbw@redhat.com>
628
629         * src/nm-device-wifi.c
630                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
631                         (Johannes Berg)
632
633 2008-10-15  Dan Williams  <dcbw@redhat.com>
634
635         * src/NetworkManagerSystem.c
636                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
637                         if the ip4_dest is in a smaller subnet contained within a subnet
638                         the machine is currently on, the destination is in the same subnet
639                 - (nm_system_device_set_ip4_route): move subnet checks to callers
640                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
641                         subnet as the parent device, and if so, don't add the direct
642                         host route via the parent device's gateway (bgo #481620)
643                 - (nm_system_apply_ip4_config): check whether the route to be added
644                         is contained within a subnet the device is already on
645
646 2008-10-11  Dan Williams  <dcbw@redhat.com>
647
648         * include/NetworkManager.h
649           introspection/nm-device.xml
650           include/NetworkManagerVPN.h
651                 - Add a few more state reasons for the device deactivated state
652
653         * src/nm-device-interface.c
654           src/nm-device-interface.h
655                 - (nm_device_interface_deactivate): add a 'reason' argument
656
657         * src/nm-device.c
658           src/nm-device.h
659                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
660                 - (nm_device_state_changed): pass the state change reason to
661                         nm_device_take_down()
662                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
663                         to the state change function
664
665         * src/nm-manager.c
666           src/nm-manager.h
667                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
668                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
669                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
670                         something reasonable along to VPN deactivation
671
672         * src/vpn-manager/nm-vpn-manager.c
673           src/vpn-manager/nm-vpn-manager.h
674                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
675                         pass that along to nm_vpn_connection_disconnect()
676
677 2008-10-11  Dan Williams  <dcbw@redhat.com>
678
679         * src/nm-device-wifi.c
680                 - (can_scan): remove old madwifi hack for not scanning while connected
681
682 2008-10-11  Dan Williams  <dcbw@redhat.com>
683
684         Add support for VPN subnet gateways (bgo #549196)
685
686         * include/NetworkManager.h
687                 - Add key for internal VPN subnet gateway
688
689         * src/vpn-manager/nm-vpn-connection.c
690                 - (ip_address_to_string): return a const from a static buffer so we
691                         don't leak a lot of strings
692                 - (print_vpn_config): print internal VPN gateway as well
693                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
694                         VPN service too
695                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
696
697         * src/NetworkManagerSystem.c
698           src/NetworkManagerSystem.h
699                 - (nm_system_device_replace_default_ip4_route): split into two, one for
700                         VPN connections and one for normal devices
701                 - (replace_default_ip4_route): break out route stuff into its own function
702                 - (nm_system_replace_default_ip4_route_vpn,
703                    nm_system_replace_default_ip4_route): simplify by having two cases,
704                         one for VPNs and one for normal devices
705
706         * src/NetworkManagerPolicy.c
707                 - (update_routing_and_dns): simplify, use split default route replacement
708                         functions
709
710 2008-10-10  Dan Williams  <dcbw@redhat.com>
711
712         Rework default route handling to consolidate decisions in the policy,
713         and to take active VPN connections into account when changing the default
714         route (bgo #545912)
715
716         * src/NetworkManager.c
717                 - (main): pass the vpn_manager to the policy so it knows about active
718                         VPN connections; clean up the named manager which wasn't done before
719
720         * src/NetworkManagerPolicy.c
721           src/NetworkManagerPolicy.h
722                 - (nm_policy_new): get a clue about the vpn_manager
723                 - (update_default_route): remove, fold into update_routing_and_dns()
724                 - (update_routing_and_dns): handle active VPN connections too; an
725                         active VPN connection becomes the default route if it does not have
726                         server-specified or user-specified custom routes.  Otherwise, the
727                         best active device gets the default route
728                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
729                    nm_policy_destroy): track VPN connection activation and deactivation
730                         and update the default route when appropriate
731
732         * src/NetworkManagerSystem.c
733           src/NetworkManagerSystem.h
734                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
735                         in the VPN connection itself
736                 - (nm_system_vpn_device_set_from_ip4_config,
737                    nm_system_device_set_from_ip4_config): merge together to make
738                         nm_system_apply_ip4_config()
739                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
740                         via the parent device
741                 - (nm_system_apply_ip4_config): simplify
742                 - (add_ip4_route_to_gateway): new function; add a direct route to the
743                         gateway if needed
744                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
745                         route stuff out into add_ip4_route_to_gateway() for clarity
746
747         * src/nm-device.c
748                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
749
750         * src/vpn-manager/nm-vpn-connection.c
751           src/vpn-manager/nm-vpn-connection.h
752                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
753                    nm_vpn_connection_get_parent_device): add
754                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
755                         device explicit
756                 - (connection_state_changed): update the named manager now that
757                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
758                         useful on errors
759
760         * src/vpn-manager/nm-vpn-manager.c
761           src/vpn-manager/nm-vpn-manager.h
762                 - Add a 'connection-activated' signal
763                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
764                         policy to find out about active VPN connections
765
766 2008-10-10  Tambet Ingo  <tambet@gmail.com>
767
768         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
769         a daemon to prevent NM logging spew on console on startup and shutdown (due
770         to dependency loop between NM and syslog).
771
772 2008-10-10  Alexander Sack  <asac@ubuntu.com>
773
774         Implement managed mode. We bind devices configured in /etc/network/interfaces
775         to their connections by updating wired/wireless setting with the
776         mac address of the device.
777
778         * system-settings/plugins/ifupdown/plugin.c
779                 - (get_net_address_for_udi): implement function to retrieve MAC
780                         address of udi from hal in GByteArray format
781                 - (bind_device_to_connection): bind mac address of device to
782                         wired/wireless system connection
783                 - (hal_device_added_cb): call bind_device_to_connection for
784                         system connections with a matching interface.name
785                 - (hal_device_added_cb): ensure that all code paths
786                         properly free the "iface" string.
787
788 2008-10-10  Alexander Sack  <asac@ubuntu.com>
789
790         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
791         mode of the ifupdown system config plugin.
792
793         * system-settings/plugins/ifupdown/plugin.c
794                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
795                         private unmanage_well_known state field accordingly
796
797 2008-10-10  Alexander Sack  <asac@ubuntu.com>
798
799         Implement unmanaged mode that will prevent all devices in the
800         well_known_udis set from being touched by NetworkManager
801
802         * system-settings/plugins/ifupdown/plugin.c
803                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
804                         unmanage_well_known field used to turn on/off unmanaged
805                         mode
806                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
807                         signal when well_known_udis get added/removed
808                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
809                         if we are in unmanaged mode
810
811 2008-10-10  Alexander Sack  <asac@ubuntu.com>
812
813         Add support to track network devices that have a configuration
814         with a matching interface.name in /etc/network/interfaces
815
816         * system-settings/plugins/ifupdown/plugin.c
817                 - (typedef struct SCPluginIfupdownPrivate): add hash table
818                         to track |well_known_udis|
819                 - (get_iface_for_udi): helper function to get interface.name
820                         for a udi
821                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
822                         that add and remove devices to and from the well_known_udis
823                         set depending on whether their |interface.name| matches
824                         any interface definition in /etc/network/interfaces
825                 - (SCPluginIfupdown_init): connect callbacks from above with
826                         hal_mgr and setup well_known_udis hashtable
827                 - (GObject__dispose): destroy well_known_udis hashtable
828                 - (hal_device_added_cb2): implement wrapper callback with GFunc
829                         signature. user_data is supposed to be a triple (hal_mgr,
830                         config and devtype)
831                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
832                         startup and call hal_device_added_cb2
833
834 2008-10-10  Alexander Sack  <asac@ubuntu.com>
835
836         Remove implementation for not used NMSystemConfigInterface callback functions
837         in ifupdown plugin
838
839         * system-settings/plugins/ifupdown/plugin.c
840                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
841                 - (SCPluginIfupdown_connection_added): removed
842
843 2008-10-08  Dan Williams  <dcbw@redhat.com>
844
845         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
846
847         * src/NetworkManagerUtils.c
848                 - (nm_utils_call_dispatcher): add a 'hostname' action
849
850         * src/NetworkManagerPolicy.c
851                 - (set_system_hostname): dispatch hostname changes
852
853         * callouts/nm-dispatcher-action.c
854                 - (nm_dispatcher_action): handle 'hostname' actions
855
856 2008-10-08  Dan Williams  <dcbw@redhat.com>
857
858         * src/NetworkManagerSystem.c
859                 - (find_route): ref the route so it doesn't get destroyed when the cache
860                         is cleared
861                 - (nm_system_device_set_priority): unref the route here after it's done
862                         being used
863
864 2008-10-08  Dan Williams  <dcbw@redhat.com>
865
866         * src/nm-serial-device.c
867                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
868
869 2008-10-08  Tambet Ingo  <tambet@gmail.com>
870
871         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
872         connection with new settings before saving it.
873
874 2008-10-06  Dan Williams  <dcbw@redhat.com>
875
876         * src/nm-ip4-config.c
877           src/nm-ip4-config.h
878                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
879
880         * src/nm-device-interface.c
881                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
882                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
883                         by using '/' for the object path
884
885         * src/nm-device.c
886                 - (src/nm-device.c): marshal missing/unexported ip4-config through
887                         dbus as '/' since dbus-glib can't handle NULL objects nor can
888                         dbus handle NULL object paths
889
890 2008-10-03  Alexander Sack  <asac@ubuntu.com>
891
892         Implement system hostname support for debian/ubuntu
893
894         * system-settings/plugins/ifupdown/plugin.c
895                 - (GObject__get_property): extend announced capabilities; add
896                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
897                 - (GObject__set_property,write_system_hostname): implement
898                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
899                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
900                    update_system_hostname, get_hostname):
901                         implement hostname property that watches and
902                         parses /etc/hostname
903
904 2008-10-03  Alexander Sack  <asac@ubuntu.com>
905
906         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
907           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
908           system-settings/plugins/ifcfg-fedora/Makefile.am
909           system-settings/src/nm-inotify-helper.c
910           system-settings/src/nm-inotify-helper.h
911           src/Makefile.am
912                 - Move ifcfg-fedora inotify helpers to the system settings service so
913                         they are available to all plugins
914
915 2008-10-03  Alexander Sack  <asac@ubuntu.com>
916
917         Implement support for wep-tx-keyidx in ifupdown system
918         config plugin.
919
920         * system-settings/plugins/ifupdown/parser.c
921                 - (update_wireless_security_setting_from_if_block): introduce
922                         free_type_mapping func table; rename a few local
923                         variables to improve readability; add wpa security mapping
924                         for wep-tx-keyidx property
925                 - (string_to_gpointerint): new function used for the auto_type_mapping
926                         of new wep-tx-keyidx property
927                 - (slist_free_all): free func used for mapped slist types
928
929 2008-10-03  Alexander Sack  <asac@ubuntu.com>
930
931         * system-settings/src/main.c:
932                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
933                         always used as the hash key; fixes a crash when removing wired
934                         devices
935
936 2008-10-02  Dan Williams  <dcbw@redhat.com>
937
938         * src/nm-gsm-device.c
939                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
940                         pass the required GSM secret along via user_data rather than keeping
941                         it around in the private data where it sometimes didn't get cleared
942                 - (real_get_ppp_name): implement using the GSM username
943
944 2008-10-02  Dan Williams  <dcbw@redhat.com>
945
946         * src/ppp-manager/nm-ppp-manager.c
947           src/ppp-manager/nm-ppp-manager.h
948                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
949                         the settings daemon for completely new ones
950                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
951                         local PPP peer name; allow PPP debuging by launching NM with
952                         the environment variable NM_PPP_DEBUG defined
953                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
954                         create_pppd_cmd_line()
955
956         * src/nm-serial-device.c
957           src/nm-serial-device.h
958                 - New 'get_ppp_name' function for subclasses to implement to return the
959                         local PPP peer name
960                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
961                         and pass that name to the PPP manager
962
963         * src/nm-device-ethernet.c
964                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
965                         the local peer name
966
967         * src/nm-cdma-device.c
968                 - (real_get_ppp_name): implement using the CDMA username
969
970 2008-10-02  Dan Williams  <dcbw@redhat.com>
971
972         Patch from Alexander Sack <asac ubuntu com>
973
974         * system-settings/plugins/ifupdown/parser.c
975                 - Implement more graceful ip4 config parsing for cases where
976                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
977                   by using default values
978
979 2008-10-02  Dan Williams  <dcbw@redhat.com>
980
981         * src/NetworkManagerPolicy.c
982                 - (device_state_changed): when marking a connection invalid, clear its
983                         secrets too so that fresh secrets get requested the next time
984
985 2008-10-01  Dan Williams  <dcbw@redhat.com>
986
987         * system-settings/src/dbus-settings.c
988                 - (nm_sysconfig_settings_init): cache system hostname on startup as
989                         a fallback if no plugin provides a hostname
990                 - (get_property): fall back to cached hostname if no plugin provides
991                         a hostname
992
993 2008-10-01  Dan Williams  <dcbw@redhat.com>
994
995         Fix setting value comparison issue that caused some settings to look the
996         same when they were really different (rh #464417)
997
998         * libnm-util/nm-param-spec-specialized.c
999                 - (type_is_fixed_size): return fundamental size of the fixed type too
1000                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1001                         in the comparison so that the _entire_ fixed type collection gets
1002                         compared rather than just the first 'len1' bytes
1003
1004 2008-09-30  Dan Williams  <dcbw@redhat.com>
1005
1006         * src/NetworkManagerPolicy.c
1007                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1008                         idle handler could have already run and freed the LookupThread
1009                         structure
1010
1011 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1012
1013         * src/nm-device.c (nm_device_get_priority): Implement.
1014         (nm_device_set_ip4_config): Send the device priority to system ip4 
1015         config setter.
1016
1017         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1018         Add priority argument and if it's >= 0, set the priority of the network
1019         route added automatically by netlink (or kernel?).
1020         (nm_system_device_set_priority): Implement.
1021
1022         * src/NetworkManagerPolicy.c (get_best_device): Use 
1023         nm_device_get_priority() instead of home-grown version. Revert the
1024         meaning, best priority is the lowest one.
1025
1026 2008-09-29  Dan Williams  <dcbw@redhat.com>
1027
1028         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1029         when it returns EAGAIN (rh #362421)
1030
1031         * src/nm-device-wifi.c
1032                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1033                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1034
1035 2008-09-28  Dan Williams  <dcbw@redhat.com>
1036
1037         * src/nm-serial-device.c
1038           src/nm-serial-device.h
1039                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1040                         cleaned at the right times when subclasses close the serial port too
1041                 - (nm_serial_device_send_command): use a default send delay; don't
1042                         spin forever on EAGAIN
1043                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1044                         remove, no longer used
1045                 - (find_response): return the matched response if any
1046                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1047                         while doing so
1048                 - (wait_for_reply_done): pass the matched response to the callback
1049                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1050                         handling
1051                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1052                         const since they never get modified
1053                 - (cleanup_device): split out common cleanup stuff to a new function
1054                 - (real_deactivate_quickly, finalize): use cleanup_device()
1055
1056         * src/nm-gsm-device.c
1057                 - (modem_get_reply): remove, unused
1058                 - (set_apn): give the card a bit more time to respond
1059                 - (manual_registration_again, schedule_manual_registration_again,
1060                    manual_registration_response, manual_registration): handle manual
1061                         registration timeouts better by retrying registration a few times
1062                         because cards are a bit slow after CFUN=1
1063                 - (automatic_registration_get_network, get_network_response): use
1064                         modem_wait_for_reply() because it interacts better with the serial
1065                         buffer and does more intelligent matching; need to wait for 'OK'
1066                         rather than just matching terminators
1067                 - (schedule_automatic_registration_again,
1068                    automatic_registration_response, automatic_registration): retry
1069                         registration a few times on timeout or "searching" because cards
1070                         take a bit to find a network after being powered up with CFUN=1
1071                 - (power_up_response, power_up, init_full_done, enter_pin,
1072                    check_pin_done): power up the card with CFUN=1 before trying to
1073                         register with the network
1074                 - (init_modem_full, init_modem): use more standard 3G init strings
1075
1076         * src/nm-hso-gsm-device.c
1077                 - (modem_get_reply): remove, unused
1078                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1079                         modem_wait_for_reply() to match actual responses instead of single
1080                         termination characters; it doesn't leave stuff in the serial buffer
1081                         that might confuse later calls
1082                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1083                         to ensure that the call is really disconnected and not leave extra
1084                         stuff in the serial buffer
1085
1086         * src/nm-cdma-device.c
1087                 - (power_up_response, power_up, init_done): try Sierra-style modem
1088                         power up before attempting to connect
1089
1090 2008-09-27  Dan Williams  <dcbw@redhat.com>
1091
1092         * libnm-util/nm-setting-gsm.c
1093                 - (verify): verify GSM network ID
1094
1095 2008-09-25  Dan Williams  <dcbw@redhat.com>
1096
1097         * libnm-util/nm-setting-gsm.c
1098           libnm-util/nm-setting-gsm.h
1099                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1100                         technology terms (bgo #551361)
1101
1102 2008-09-25  Dan Williams  <dcbw@redhat.com>
1103
1104         Fix bgo #549401 (inspired by patch from Alexander Sack)
1105
1106         * src/nm-device-ethernet.c
1107                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1108                 - (remove_supplicant_interface_error_handler): remove the supplicant
1109                         error idle callback too
1110                 - (supplicant_interface_release): rename from supplicant_interface_clean
1111                         to match nm-device-wifi.c; clean up supplicant interface-related
1112                         state tasks when the supplicant interface is disposed of
1113                 - (schedule_state_handler): add scheduled tasks to a list so they can
1114                         be cleaned up later
1115                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1116                    supplicant_iface_connection_state_cb_handler): use
1117                         finish_supplicant_task() to clean up each completed task
1118                 - (supplicant_iface_connection_error_cb_handler,
1119                    supplicant_connection_timeout_cb): clear source id when the task is
1120                         complete
1121                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1122                         later cleanup
1123                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1124                         tasks
1125
1126         * src/nm-device-wifi.c
1127                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1128                 - (remove_supplicant_interface_error_handler): remove the supplicant
1129                         error idle callback too
1130                 - (supplicant_interface_release): clean up supplicant interface-related
1131                         state tasks when the supplicant interface is disposed of
1132                 - (schedule_state_handler): add scheduled tasks to a list so they can
1133                         be cleaned up later
1134                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1135                    supplicant_iface_connection_state_cb_handler): use
1136                         finish_supplicant_task() to clean up each completed task
1137                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1138                         the task is complete
1139                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1140                         later cleanup
1141                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1142
1143 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1144
1145         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1146         method and get/set hostname property.
1147
1148 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1149
1150         * src/supplicant-manager/nm-supplicant-interface.c
1151         (nm_supplicant_interface_disconnect): Don't increment the reference 
1152         count when disconnecting. The problem is on shutdown, when the replies
1153         to these commands do not arrive before NM exits, resulting on never
1154         calling supplicant interface's dispose(), which removes the interface
1155         from supplicant.
1156
1157 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1158
1159         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1160         all the public function arguments.
1161
1162 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1163
1164         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1165         "Failure" signal from VPN plugins, store the failure reason, and
1166         use it when the state is changed to failure.
1167
1168         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1169         description.
1170
1171         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1172         reason to the end of the list to not break the API.
1173         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1174         so it can be shared by plugins and daemon.
1175
1176 2008-09-18  Dan Williams  <dcbw@redhat.com>
1177
1178         Patch from Alexander Sack <asac@ubuntu.com>
1179
1180         * configure.in
1181           system-settings/plugins/Makefile.am
1182           system-settings/plugins/ifupdown/Makefile.am
1183           system-settings/plugins/ifupdown/interface_parser.c
1184           system-settings/plugins/ifupdown/interface_parser.h
1185           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1186           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1187           system-settings/plugins/ifupdown/parser.c
1188           system-settings/plugins/ifupdown/parser.h
1189           system-settings/plugins/ifupdown/plugin.c
1190           system-settings/plugins/ifupdown/plugin.h
1191                 - Implement a Debian/Ubuntu legacy network configuration plugin
1192                         (gnome.org #551941)
1193
1194 2008-09-18  Dan Williams  <dcbw@redhat.com>
1195
1196         Implement support for honoring configured and automatic hostnames, and for
1197         setting the configured hostname.
1198
1199         * introspection/nm-ip4-config.xml
1200           src/nm-ip4-config.c
1201           src/nm-ip4-config.h
1202           src/dhcp-manager/nm-dhcp-manager.c
1203                 - Remove useless hostname property; it's not really part of the IPv4
1204                         config
1205
1206         * introspection/nm-settings-system.xml
1207           libnm-glib/nm-dbus-settings-system.c
1208           libnm-glib/nm-dbus-settings-system.h
1209                 - Add SetHostname() call to system settings D-Bus interface
1210                 - Add Hostname property to system settings D-Bus interface
1211                 - (nm_dbus_settings_system_save_hostname,
1212                    nm_dbus_settings_system_get_hostname): implement
1213
1214         * src/nm-device.c
1215           src/nm-device.h
1216                 - (nm_device_get_dhcp4_config): implement
1217
1218         * src/nm-manager.c
1219           src/nm-manager.h
1220                 - Fetch and track system settings service hostname changes, and proxy
1221                         the changes via a GObject property of the manager
1222
1223         * system-settings/src/nm-system-config-interface.c
1224           system-settings/src/nm-system-config-interface.h
1225                 - Replace nm_system_config_interface_supports_add() with a capabilities
1226                         bitfield
1227
1228         * system-settings/src/nm-system-config-error.c
1229           system-settings/src/nm-system-config-error.h
1230                 - Add additional errors
1231
1232         * system-settings/src/dbus-settings.c
1233           system-settings/src/dbus-settings.h
1234                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1235                         property; first plugin returning a hostname wins
1236                 - (impl_settings_add_connection): use plugin capabilities instead of
1237                         nm_system_config_interface_supports_add()
1238                 - (impl_settings_save_hostname): implement hostname saving
1239
1240         * src/NetworkManagerPolicy.c
1241                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1242                    lookup_thread_die): implement an asynchronous hostname lookup thread
1243                         which given an IPv4 address tries to look up the hostname for that
1244                         address with reverse DNS
1245                 - (get_best_device): split out best device code from
1246                         update_routing_and_dns()
1247                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1248                         to preserve the 127.0.0.1 reverse mapping that so many things require
1249                 - (set_system_hostname): set a given hostname
1250                 - (update_system_hostname): implement hostname policy; a configured
1251                         hostname (from the system settings service) is used if available,
1252                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1253                         If there was no automatically determined hostname, reverse DNS of
1254                         the best device's IP address will be used, and as a last resort the
1255                         hostname 'localhost.localdomain' is set.
1256                 - (update_routing_and_dns): use get_best_device(); update the system
1257                         hostname when the network config changes
1258                 - (hostname_changed): update system hostname if the system settings
1259                         service signals a hostname change
1260                 - (nm_policy_new): list for system settings service hostname changes
1261                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1262                         gets told to die
1263
1264         * system-settings/plugins/keyfile/plugin.c
1265           system-settings/plugins/ifcfg-suse/plugin.c
1266                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1267                         capabilities properties
1268
1269         * system-settings/plugins/ifcfg-fedora/shvar.c
1270                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1271                         writes out /etc/sysconfig/network now
1272
1273         * system-settings/plugins/ifcfg-fedora/plugin.c
1274                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1275                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1276                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1277                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1278                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1279                         hostname get/set and capabilities get
1280
1281 2008-09-18  Dan Williams  <dcbw@redhat.com>
1282
1283         * libnm-util/nm-setting-wireless.c
1284                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1285                         group ciphers if the wireless-security setting explicitly specified
1286                         them, effectively making the default be "all ciphers"  (idea from
1287                         Alexander Sack)
1288
1289 2008-09-15  Dan Williams  <dcbw@redhat.com>
1290
1291         Patch from Alexander Sack <asac@ubuntu.com>
1292
1293         * src/named-manager/nm-named-manager.c
1294                 - (dispatch_resolvconf): respect resolvconf exit code
1295
1296 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1297
1298         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1299         again. Add some debugging.
1300
1301 2008-09-11  Dan Williams  <dcbw@redhat.com>
1302
1303         * system-settings/plugins/keyfile/plugin.c
1304                 - (update_connection_settings): update connection manually, since
1305                         nm_exported_connection_update() does authentication
1306                 - (dir_changed): update_connection_settings() doesn't need to return
1307                         an error
1308
1309 2008-09-09  Dan Williams  <dcbw@redhat.com>
1310
1311         * libnm-glib/nm-vpn-plugin-ui-interface.c
1312           libnm-glib/nm-vpn-plugin-ui-interface.h
1313           libnm-glib/libnm_glib_vpn.ver
1314                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1315                         should clean up resources related to the connection (like keyring
1316                         secrets)
1317                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1318                         should save user-scope secrets (like to the keyring)
1319
1320 2008-09-08  Dan Williams  <dcbw@redhat.com>
1321
1322         Patch from Alexander Sack <asac@ubuntu.com>
1323
1324         * libnm-util/crypto_gnutls.c
1325           libnm-util/crypto_nss.c
1326                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1327
1328         * libnm-util/nm-utils.c
1329           libnm-util/nm-utils.h
1330           libnm-util/libnm-util.ver
1331                 - (nm_utils_init): initialize libnm-util
1332                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1333
1334         * libnm-util/nm-setting-8021x.c
1335                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1336
1337 2008-09-05  Dan Williams  <dcbw@redhat.com>
1338
1339         Patch from Roy Marples <roy@marples.name> and others
1340
1341         * configure.in
1342           src/named-manager/nm-named-manager.c
1343                 - Add support for resolvconf; use --with-resolvconf at configure time
1344                         to enable it
1345
1346 2008-09-05  Dan Williams  <dcbw@redhat.com>
1347
1348         * libnm-util/crypto_nss.c
1349           libnm-util/crypto_gnutls.c
1350           libnm-util/crypto.h
1351                 - (crypto_init): return error when init fails
1352
1353 2008-09-05  Dan Williams  <dcbw@redhat.com>
1354
1355         * libnm-glib/nm-device-wifi.c
1356                 - (access_point_removed_proxy): clean up the active access point too
1357                         just in case the active ap changed signal didn't come through yet
1358                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1359
1360 2008-09-05  Dan Williams  <dcbw@redhat.com>
1361
1362         * libnm-glib/nm-client.c
1363                 - (constructor): get initial state after we know whether NM is running
1364                         or not
1365
1366 2008-09-05  Dan Williams  <dcbw@redhat.com>
1367
1368         * libnm-glib/nm-ip4-config.c
1369           libnm-glib/nm-dhcp4-config.c
1370                 - (finalize): clean up the DBusGProxy
1371
1372 2008-09-04  Dan Williams  <dcbw@redhat.com>
1373
1374         * src/nm-ip4-config.c
1375           src/nm-ip4-config.h
1376                 - (nm_ip4_config_new): don't export over D-Bus here
1377                 - (nm_ip4_config_export): new function; export the config over D-Bus
1378                 - (nm_ip4_config_is_exported): new function
1379
1380         * src/nm-device.c
1381                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1382                         objects by balancing the IP4Config constructor; the device holds
1383                         a reference to the IP4Config already
1384                 - (nm_device_set_ip4_config): export the IP4Config when needed
1385
1386 2008-09-04  Dan Williams  <dcbw@redhat.com>
1387
1388         * src/supplicant-manager/nm-supplicant-settings-verify.c
1389                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1390
1391 2008-09-04  Dan Williams  <dcbw@redhat.com>
1392
1393         * libnm-util/nm-setting-vpn.c
1394           libnm-util/nm-setting-vpn.h
1395                 - Split VPN secrets from VPN data so that settings services can actually
1396                         figure out that they are secrets and store them accordingly
1397
1398         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1399           system-settings/plugins/keyfile/reader.c
1400           system-settings/plugins/keyfile/reader.h
1401           system-settings/plugins/keyfile/writer.c
1402                 - Store VPN secrets separately from VPN data so that they can be fetched
1403                         on demand
1404                 - Implement the get_secrets() call so that (a) secrets don't leak out
1405                         to unprivileged callers, and (b) secrets can be sent to privileged
1406                         callers when needed
1407
1408         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1409                 - Handle split VPN secrets
1410
1411 2008-08-27  Dan Williams  <dcbw@redhat.com>
1412
1413         * system-settings/plugins/ifcfg-fedora/reader.c
1414                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1415
1416 2008-08-27  Dan Williams  <dcbw@redhat.com>
1417
1418         Ensure zombie children get cleaned up.  To get notifications when children
1419         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1420         that requires calling waitpid() yourself if you've removed the child watch
1421         handler before the process has actually died, which NM needs to do in a few
1422         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1423         cleans up after the child when required.  Should fix problems trying to
1424         activate mobile broadband connections after a previous failure.
1425
1426         * src/dhcp-manager/nm-dhcp-dhclient.c
1427           src/dhcp-manager/nm-dhcp-dhcpcd.c
1428                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1429
1430         * src/dhcp-manager/nm-dhcp-manager.c
1431                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1432                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1433                         block on child quitting, since the non-blocking functionality was
1434                         never actually used
1435
1436         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1437                 - (dm_watch_cb): child is already reaped here
1438                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1439
1440         * src/nm-device.c
1441                 - (aipd_cleanup): block until child is dead
1442
1443         * src/named-manager/nm-named-manager.c
1444                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1445                         event bothering to watch the child
1446
1447         * src/ppp-manager/nm-ppp-manager.c
1448                 - (ppp_watch_cb): child is already reaped here
1449                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1450
1451         * src/vpn-manager/nm-vpn-service.c
1452                 - (vpn_service_watch_cb): child is already reaped here
1453                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1454                         status of the child is actually tracked
1455                 - (ensure_killed, finalize): block until child is dead
1456
1457 2008-08-26  Dan Williams  <dcbw@redhat.com>
1458
1459         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1460                 - (update): Update filename of the connection if the connection id
1461                         was changed
1462
1463         * system-settings/plugins/keyfile/plugin.c
1464                 - (dir_changed): first pass at handling connection renames correctly
1465
1466         * system-settings/plugins/keyfile/writer.c
1467           system-settings/plugins/keyfile/writer.h
1468                 - (write_connection): replace '/' with '*' when writing out the filename
1469                         from the connection id
1470
1471 2008-08-26  Dan Williams  <dcbw@redhat.com>
1472
1473         Add connection UUIDs, since connection names can be changed, and since
1474         old-style connection IDs could change over the life of the connection.  The
1475         UUID should be assigned at connection creation time, be stable for a given
1476         connection, and should be unique among all connections for a given settings
1477         service.
1478
1479         * configure.in
1480           libnm-util/Makefile.am
1481                 - Require libuuid
1482
1483         * introspection/nm-exported-connection.xml
1484                 - Remove "GetID" method
1485
1486         * libnm-glib/nm-dbus-connection.c
1487           libnm-glib/nm-settings.c
1488           libnm-glib/nm-settings.h
1489                 - Remove id-related stuff
1490
1491         * libnm-util/nm-utils.c
1492           libnm-util/nm-utils.h
1493           libnm-util/libnm-util.ver
1494                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1495                         utility functions to generate UUIDs
1496
1497         * libnm-util/nm-setting-connection.c
1498           libnm-util/nm-setting-connection.h
1499                 - Add 'uuid' member to the connection setting
1500                 - (verify): require valid 'uuid' for a valid connection
1501
1502         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1503           system-settings/plugins/ifcfg-fedora/reader.c
1504           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1505           system-settings/plugins/ifcfg-suse/parser.c
1506           system-settings/plugins/keyfile/nm-keyfile-connection.c
1507           system-settings/src/main.c
1508                 - Remove id-related stuff
1509                 - Give connections UUIDs where needed
1510
1511 2008-08-25  Dan Williams  <dcbw@redhat.com>
1512
1513         * libnm-util/crypto_gnutls.c
1514           libnm-util/crypto_nss.c
1515                 - (crypto_init, crypto_deinit): refcount init/deinit
1516                 - (crypto_md5_hash): allow NULL salt
1517
1518 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1519
1520         * libnm-glib/Makefile.am
1521           libnm-util/Makefile.am
1522           libnm-glib/libnm_glib.ver
1523           libnm-glib/libnm_glib_vpn.ver
1524           libnm-util/libnm-util.ver
1525                 - Use linker version scripts to control the list of exported 
1526                 symbols. List each exported symbol explicitely.
1527         * libnm-util/Makefile.am
1528                 - Fix compilation of the test-crypto binary. The crypto
1529                 functions are no longer part of the libnm-util API. Add 
1530                 crypto_*.c to test_crypto_SOURCES and link against the correct
1531                 crypto libraries.
1532
1533 2008-08-19  Dan Williams  <dcbw@redhat.com>
1534
1535         * configure.in
1536           test/Makefile.am
1537                 - Don't build test/test-common
1538                 - Remove unused stuff
1539
1540         * test/nm-set-fallback
1541           test/nmtestdevices.c
1542           test/test-common/.cvsignore
1543           test/test-common/Makefile.am
1544           test/test-common/test-common.c
1545           test/test-common/test-common.h
1546                 - delete
1547
1548 2008-08-18  Dan Williams  <dcbw@redhat.com>
1549
1550         * libnm-util/nm-utils.c
1551           libnm-util/nm-utils.h
1552                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1553                         export anything that needs to be converted with this function
1554
1555         * src/dhcp-manager/nm-dhcp-manager.c
1556                 - (garray_to_string): convert a byte array to a UTF-8 string with
1557                         minimal validation; the DHCP client sends it in ASCII anyway
1558                 - (get_option, copy_option): use garray_to_string()
1559
1560 2008-08-18  Dan Williams  <dcbw@redhat.com>
1561
1562         * include/NetworkManager.h
1563           introspection/nm-device.xml
1564                 - Add a "missing firmware" device state reason
1565
1566         * src/NetworkManagerSystem.c
1567           src/NetworkManagerSystem.h
1568                 - (nm_system_device_set_up_down): add a no_firmware argument
1569                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1570                         IFF_UP is ENOENT, that almost always means missing firmware
1571
1572         * src/backends/NetworkManagerGeneric.c
1573           src/nm-device-ethernet.c
1574           src/nm-device-private.h
1575           src/nm-device-wifi.c
1576           src/nm-device.c
1577           src/nm-device.h
1578           src/nm-hso-gsm-device.c
1579           src/vpn-manager/nm-vpn-connection.c
1580                 - Pass no_firmware along; check it where appropriate
1581
1582 2008-08-18  Dan Williams  <dcbw@redhat.com>
1583
1584         Patch from Robert Buchholz <rbu@gentoo.org>
1585
1586         * autogen.sh
1587           configure.in
1588                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1589                         1003.1-1988, allowing for file names longer than 99 characters
1590
1591 2008-08-17  Dan Williams  <dcbw@redhat.com>
1592
1593         * include/NetworkManager.h
1594           introspection/nm-device.xml
1595           src/nm-gsm-device.c
1596                 - Finer-grained GSM registration failure error codes
1597
1598 2008-08-17  Dan Williams  <dcbw@redhat.com>
1599
1600         * callouts/Makefile.am
1601           src/Makefile.am
1602                 - Move dispatcher directory creation to callouts/Makefile.am
1603
1604         * system-settings/plugins/keyfile/Makefile.am
1605                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1606
1607 2008-08-15  Dan Williams  <dcbw@redhat.com>
1608
1609         Do connection sharing in a cleaner manner; all required iptables rules
1610         are now stored in the activation request and pertain only to the device
1611         which is being shared to other computers. (rh #458625)
1612
1613         * src/nm-activation-request.c
1614           src/nm-activation-request.h
1615                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1616                         the activation request which will get torn down automatically when
1617                         the activation request dies
1618                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1619                         is started, and tear them down when sharing is stopped
1620
1621         * src/nm-device.c
1622                 - (start_sharing): start up sharing by doing the required iptables magic
1623                 - (share_init): poke the right bits of the kernel and load the right
1624                         modules for NAT
1625                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1626                         connection if it's a 'shared' connection
1627
1628         * src/NetworkManagerPolicy.c
1629                 - Remove all sharing stuff; done in the device code itself
1630
1631 2008-08-15  Dan Williams  <dcbw@redhat.com>
1632
1633         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1634                 - (create_dm_cmd_line): send the right router address
1635
1636 2008-08-15  Dan Williams  <dcbw@redhat.com>
1637
1638         * src/ppp-manager/nm-ppp-manager.c
1639                 - (pppd_timed_out): ensure timeouts fail the connection
1640
1641 2008-08-14  Dan Williams  <dcbw@redhat.com>
1642
1643         * src/nm-properties-changed-signal.c
1644           src/nm-properties-changed-signal.h
1645                 - Add a property spec flag for "don't export this property" in
1646                         property changed signals
1647
1648         * src/nm-hso-gsm-device.c
1649           src/nm-gsm-device.c
1650           src/nm-cdma-device.c
1651                 - Don't export monitor interface or netdev interface properties
1652
1653 2008-08-14  Dan Williams  <dcbw@redhat.com>
1654
1655         * src/NetworkManagerPolicy.c
1656                 - (update_routing_and_dns): 'hso' devices can be default even if they
1657                         don't have a gateway
1658
1659 2008-08-14  Dan Williams  <dcbw@redhat.com>
1660
1661         * src/nm-device.c
1662                 - (nm_device_deactivate_quickly): tear down activation request after
1663                         calling device-specific deactivation
1664
1665         * src/nm-hso-gsm-device.c
1666                 - (real_deactivate_quickly): terminate connection when deactivating
1667
1668 2008-08-14  Dan Williams  <dcbw@redhat.com>
1669
1670         * src/nm-activation-request.h
1671                 - Add HSO secrets caller
1672
1673         * src/nm-gsm-device.c
1674           src/nm-gsm-device.h
1675                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1676                         something to the callback function
1677                 - (set_apn, set_apn_done): call class dial function, not a static one
1678                 - (nm_gsm_device_class_init): add a class 'dial' function
1679
1680         * src/nm-hal-manager.c
1681                 - (get_hso_netdev): find the hso-driven hardware's net device
1682                 - (modem_device_creator): recognize hso-driven hardware and create the
1683                         right type of device object for it
1684
1685         * src/Makefile.am
1686           src/nm-hso-gsm-device.c
1687           src/nm-hso-gsm-device.h
1688                 - Implement support for devices driven by the 'hso' driver as a subclass
1689                         of NMGsmDevice
1690
1691 2008-08-14  Dan Williams  <dcbw@redhat.com>
1692
1693         * src/NetworkManagerSystem.c
1694                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1695                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1696                         success if the operation really was successful
1697
1698 2008-08-14  Dan Williams  <dcbw@redhat.com>
1699
1700         * src/nm-netlink-monitor.c
1701           src/nm-netlink-monitor.h
1702           src/nm-device-ethernet.c
1703                 - (nm_netlink_monitor_request_status): return an error on failure
1704                 - (constructor): don't segfault on missing error
1705
1706 2008-08-13  Dan Williams  <dcbw@redhat.com>
1707
1708         * callouts/nm-dispatcher-action.c
1709                 - Add IP4 config info to script environment
1710
1711 2008-08-12  Dan Williams  <dcbw@redhat.com>
1712
1713         * src/nm-device.c
1714                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1715                         that want to use DHCP hostnames should use dispatcher scripts
1716                         for that
1717
1718         * src/NetworkManagerSystem.h
1719           src/backends/NetworkManagerArch.c
1720           src/backends/NetworkManagerDebian.c
1721           src/backends/NetworkManagerFrugalware.c
1722           src/backends/NetworkManagerGeneric.c
1723           src/backends/NetworkManagerGeneric.h
1724           src/backends/NetworkManagerGentoo.c
1725           src/backends/NetworkManagerMandriva.c
1726           src/backends/NetworkManagerPaldo.c
1727           src/backends/NetworkManagerRedHat.c
1728           src/backends/NetworkManagerSlackware.c
1729           src/backends/NetworkManagerSuSE.c
1730                 - Remove nm_system_set_hostname(), no longer used
1731           
1732         * src/backends/Makefile.am
1733           src/backends/shvar.c
1734           src/backends/shvar.h
1735                 - Remove shvar.*; no longer used
1736
1737 2008-08-12  Dan Williams  <dcbw@redhat.com>
1738
1739         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1740         hostname is updated at runtime.  Distros or users who want hostname updates
1741         can use dispatcher scripts to update the hostname if they need it.
1742
1743 2008-08-12  Dan Williams  <dcbw@redhat.com>
1744
1745         * introspection/nm-settings-system.xml
1746           system-settings/src/dbus-settings.c
1747           system-settings/src/dbus-settings.h
1748                 - Add a 'Hostname' property (rw) which represents the configured
1749                         hostname and domain of the system, if any
1750
1751         * system-settings/src/nm-system-config-error.c
1752           system-settings/src/nm-system-config-error.h
1753           system-settings/src/nm-system-config-interface.c
1754           system-settings/src/nm-system-config-interface.h
1755                 - Add a 'hostname' property to the plugin interface
1756                 - Add a method to send updated hostname to plugins to save in their
1757                         backing configuration store
1758
1759         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1760           system-settings/plugins/keyfile/plugin.c
1761           system-settings/plugins/keyfile/writer.c
1762           system-settings/plugins/keyfile/writer.h
1763           system-settings/plugins/ifcfg-suse/plugin.c
1764                 - Add minimal hostname support
1765
1766         * system-settings/plugins/ifcfg-fedora/plugin.c
1767                 - Add support for updating system hostname in /etc/sysconfig/network
1768
1769 2008-08-12  Dan Williams  <dcbw@redhat.com>
1770
1771         * system-settings/plugins/ifcfg-fedora/shvar.c
1772           system-settings/plugins/ifcfg-fedora/shvar.c
1773                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1774
1775 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1776
1777         * Makefile.am: Fix distcheck.
1778
1779 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1780
1781         * libnm-glib/*.c. Document some more.
1782
1783 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1784
1785         Start documenting libnm-glib public API using gtk-doc.
1786
1787         * libnm-glib/nm-serial-device.c: 
1788         * libnm-glib/nm-object.c: 
1789         * libnm-glib/nm-gsm-device.c: 
1790         * libnm-glib/nm-device.c: 
1791         * libnm-glib/nm-device-wifi.c: 
1792         * libnm-glib/nm-device-ethernet.c: 
1793         * libnm-glib/nm-client.c: 
1794         * libnm-glib/nm-cdma-device.c: Document the public API.
1795
1796         * docs/libnm-glib/libnm-glib.types: Implement.
1797
1798         * docs/libnm-glib/Makefile.am: Implement.
1799
1800         * autogen.sh: 
1801         * configure.in: 
1802         * Makefile.am: Add gtk-doc support.
1803
1804 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1805
1806         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1807
1808         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1809         the composite result of all the IP4 configurations and call a distro
1810         specific update_resolv_conf().
1811         (update_resolv_conf): Implement one for directly writing to 
1812         /etc/resolv.conf and one for opensuse to call netconfig.
1813
1814 2008-08-11  Dan Williams  <dcbw@redhat.com>
1815
1816         * src/ppp-manager/nm-ppp-manager.c
1817                 - (impl_ppp_manager_need_secrets): pass interface as required
1818
1819 2008-08-11  Dan Williams  <dcbw@redhat.com>
1820
1821         Merge the vpn-properties setting with the vpn setting since it was pointless
1822         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1823         of string:string (instead of string:variant) so that system settings plugins
1824         can have an easier time dealing with the arbitrary key/value pairs.
1825
1826 2008-08-11  Dan Williams  <dcbw@redhat.com>
1827
1828         * libnm-util/nm-utils.c
1829                 - (nm_utils_register_value_transformations): add value transform for
1830                         a hash table of string:string
1831
1832 2008-08-10  Dan Williams  <dcbw@redhat.com>
1833
1834         * libnm-glib/nm-vpn-plugin.c
1835                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1836                         an idle handler so the Connect reply gets delivered before the
1837                         stop StateChanged signal
1838
1839 2008-08-10  Dan Williams  <dcbw@redhat.com>
1840
1841         * src/nm-ip4-config.c
1842                 - (get_property): use common ip4 address/route conversion functions
1843                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1844                         copy the new route here, not take ownership
1845
1846 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1847
1848         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1849         Update the IP4 setting's method name.
1850
1851 2008-08-07  Dan Williams  <dcbw@redhat.com>
1852
1853         * introspection/nm-ip4-config.xml
1854           libnm-glib/libnm-glib-test.c
1855           libnm-glib/nm-ip4-config.c
1856           libnm-glib/nm-ip4-config.h
1857           src/NetworkManagerSystem.h
1858           src/backends/NetworkManagerArch.c
1859           src/backends/NetworkManagerDebian.c
1860           src/backends/NetworkManagerFrugalware.c
1861           src/backends/NetworkManagerGeneric.c
1862           src/backends/NetworkManagerGeneric.h
1863           src/backends/NetworkManagerGentoo.c
1864           src/backends/NetworkManagerMandriva.c
1865           src/backends/NetworkManagerPaldo.c
1866           src/backends/NetworkManagerRedHat.c
1867           src/backends/NetworkManagerSlackware.c
1868           src/backends/NetworkManagerSuSE.c
1869           src/dhcp-manager/nm-dhcp-manager.c
1870           src/nm-device.c
1871           src/nm-ip4-config.c
1872           src/nm-ip4-config.h
1873                 - Remove NIS logic; should be done from dispatcher scripts instead
1874
1875 2008-08-07  Dan Williams  <dcbw@redhat.com>
1876
1877         * src/dhcp-manager/nm-dhcp-manager.c
1878                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1879                         mis-handling of DHCP responses that returned more than one router
1880                         (found by Grant Williamson)
1881
1882 2008-08-07  Dan Williams  <dcbw@redhat.com>
1883
1884         * callouts/nm-dispatcher-action.c
1885                 - (nm_dispatcher_action): grab device path and create the device; pass
1886                         the device's DHCP4 config to script caller
1887                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1888                         scripts
1889
1890         * libnm-glib/nm-dhcp4-config.c
1891           libnm-glib/nm-dhcp4-config.h
1892                 - (nm_dhcp4_config_get_options): expose
1893                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1894
1895 2008-08-07  Dan Williams  <dcbw@redhat.com>
1896
1897         * include/NetworkManager.h
1898                 - Add the DHCP4Config D-Bus interface
1899
1900         * libnm-glib/Makefile.am
1901           libnm-glib/nm-dhcp4-config.c
1902           libnm-glib/nm-dhcp4-config.h
1903                 - Handle DHCP4 config objects exported by NM over D-Bus
1904
1905         * libnm-glib/nm-device.c
1906           libnm-glib/nm-device.h
1907                 - Add a 'dhcp4-config' property
1908
1909         * libnm-glib/libnm-glib-test.c
1910                 - Print out DHCP4 config for devices
1911                 - Fix some crashes when no connections are active
1912
1913         * src/nm-device-interface.c
1914           src/nm-device.c
1915           src/nm-dhcp4-config.c
1916           src/nm-dhcp4-config.h
1917                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1918                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1919                         doesn't let us do when the property type is G_TYPE_OBJECT
1920
1921 2008-08-07  Dan Williams  <dcbw@redhat.com>
1922
1923         * src/NetworkManager.c
1924           src/NetworkManagerSystem.h
1925           src/backends/NetworkManagerArch.c
1926           src/backends/NetworkManagerDebian.c
1927           src/backends/NetworkManagerFrugalware.c
1928           src/backends/NetworkManagerGeneric.c
1929           src/backends/NetworkManagerGeneric.h
1930           src/backends/NetworkManagerGentoo.c
1931           src/backends/NetworkManagerMandriva.c
1932           src/backends/NetworkManagerPaldo.c
1933           src/backends/NetworkManagerRedHat.c
1934           src/backends/NetworkManagerSlackware.c
1935           src/backends/NetworkManagerSuSE.c
1936                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1937
1938 2008-08-06  Dan Williams  <dcbw@redhat.com>
1939
1940         * libnm-glib/nm-ip4-config.c
1941           libnm-glib/nm-ip4-config.h
1942                 - Add 'routes' property
1943
1944         * libnm-util/nm-setting-vpn.c
1945           libnm-util/nm-setting-vpn.h
1946                 - Remove 'routes' property
1947
1948         * libnm-util/nm-setting-ip4-config.c
1949           libnm-util/nm-setting-ip4-config.h
1950                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1951                 - Add 'ignore-auto-routes' property
1952                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1953                         accomodate route metrics
1954                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1955
1956         * libnm-util/nm-utils.c
1957           libnm-util/nm-utils.h
1958                 - Add helpers for marshalling IP4 routes
1959
1960         * src/NetworkManagerUtils.c
1961                 - (nm_utils_merge_ip4_config): handle property renames and new route
1962                         structure
1963
1964         * src/NetworkManagerSystem.c
1965                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1966                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1967
1968         * src/dhcp-manager/nm-dhcp-manager.c
1969                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1970
1971         * system-settings/plugins/ifcfg-fedora/reader.c
1972           system-settings/plugins/ifcfg-fedora/writer.c
1973                 - Handle routes separately from addresses now that routes have a different
1974                         format
1975
1976         * introspection/nm-ip4-config.xml
1977           src/nm-ip4-config.c
1978           src/nm-ip4-config.h
1979                 - Rename internal routing functions
1980                 - 'static-routes' renamed to 'routes'
1981
1982 2008-08-04  Dan Williams  <dcbw@redhat.com>
1983
1984         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1985
1986         * src/NetworkManager.c
1987           src/nm-manager.c
1988           src/nm-manager.h
1989                 - More explicitly make the NMManager a singleton
1990
1991 2008-08-04  Dan Williams  <dcbw@redhat.com>
1992
1993         * libnm-util/nm-connection.c
1994           libnm-util/nm-connection.h
1995                 - (nm_connection_verify): return error on missing 'connection' setting
1996                         (found by Sjoerd Simons)
1997
1998 2008-08-04  Dan Williams  <dcbw@redhat.com>
1999
2000         Handle multiple concurrent PPP connections.
2001
2002         * src/ppp-manager/nm-ppp-manager.c
2003           src/ppp-manager/nm-ppp-manager.h
2004                 - (constructor): only PPP Manager request bus name once; each
2005                         NMPPPManager object gets a unique object path
2006                 - (nm_ppp_manager_class_init, get_property, set_property,
2007                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2008                         at construct time
2009                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2010                         remove timeout until PPP manager gets an IP4 config
2011                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2012                         the plugin can call back to this specific PPP manager instance
2013
2014         * src/nm-device-ethernet.c
2015           src/nm-serial-device.c
2016                 - Pass parent device in nm_ppp_manager_new()
2017
2018         * src/nm-gsm-device.c
2019           src/nm-cdma-device.c
2020                 - (device_state_changed): don't close serial device on NEED_AUTH
2021                         state changed, that's not a failure case like the rest are
2022
2023         * src/ppp-manager/nm-pppd-plugin.c
2024                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2025                         binds one interface to any pppd process, thus the correct index
2026                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2027                         problems; try harder to get a peer address in spite of pppd
2028                 - (plugin_init): use 'ipparam' as the object path back to our specific
2029                         PPP manager instance
2030
2031 2008-08-04  Dan Williams  <dcbw@redhat.com>
2032
2033         * src/ppp-manager/nm-ppp-manager.c
2034                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2035                         since the GSM and CDMA settings now implement need_secrets, we can
2036                         rely on them to do the right thing.  Where secrets are not required,
2037                         just pass empty strings back to the pppd plugin.
2038                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2039                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2040                         on successful IP4 config receipt
2041
2042 2008-08-04  Dan Williams  <dcbw@redhat.com>
2043
2044         * libnm-util/nm-setting-cdma.c
2045           libnm-util/nm-setting-gsm.c
2046                 - (verify): validate username & password if they exist
2047                 - (need_secrets): if username given, require a password too
2048
2049 2008-08-04  Dan Williams  <dcbw@redhat.com>
2050
2051         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2052                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2053                         manpage says about --listen-address without --interface
2054                         (bgo #546033)
2055
2056 2008-08-01  Dan Williams  <dcbw@redhat.com>
2057
2058         * libnm-glib/nm-device.c
2059                 - (proxy_get_string): util function for querying a HAL property
2060                 - (get_ancestor_device): split out from get_product_and_vendor()
2061                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2062                         from PCI devices by querying subsys properties
2063                 - (nm_device_update_description): simplify
2064
2065 2008-08-01  Dan Williams  <dcbw@redhat.com>
2066
2067         * libnm-util/nm-setting-ip4-config.c
2068           libnm-util/nm-setting-ip4-config.h
2069                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2070                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2071                         settings, and they don't necessarily use DHCP.
2072
2073         * src/NetworkManagerPolicy.c
2074           src/nm-device.c
2075           system-settings/plugins/ifcfg-fedora/reader.c
2076           system-settings/plugins/ifcfg-suse/parser.c
2077                 - Fixup for method changes
2078
2079 2008-07-31  Dan Williams  <dcbw@redhat.com>
2080
2081         * src/nm-activation-request.c
2082           src/vpn-manager/nm-vpn-connection.c
2083                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2084                         itself should be attached to the activation request or the VPN
2085                         connection, not the NMConnection object, since the call is not
2086                         expected to live as long as the NMConnection itself
2087
2088 2008-07-31  Dan Williams  <dcbw@redhat.com>
2089
2090         * src/nm-device-wifi.c
2091                 - (real_act_stage2_config): fix issue where association would continue
2092                         even though secrets were needed; 'goto out' was in wrong scope and
2093                         result of handle_auth_or_fail() should have been dumped directly to
2094                         'ret' to ensure that the association was postponed until secrets
2095                         are available
2096
2097 2008-07-31  Dan Williams  <dcbw@redhat.com>
2098
2099         * system-settings/plugins/ifcfg-fedora/plugin.c
2100           system-settings/plugins/ifcfg-fedora/reader.c
2101                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2102                         valid NM connection
2103
2104 2008-07-29  Dan Williams  <dcbw@redhat.com>
2105
2106         * src/nm-gsm-device.c
2107                 - (automatic_registration_response, automatic_registration): recognize
2108                         denied registration and reorder responses
2109
2110 2008-07-29  Dan Williams  <dcbw@redhat.com>
2111
2112         * src/nm-serial-device.c
2113                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2114                         time(2) is used for current time, which returns seconds, we shouldn't
2115                         be multiplying by 1000.
2116
2117 2008-07-28  Dan Williams  <dcbw@redhat.com>
2118
2119         Patch from Fabrice Bellet <fabrice@bellet.info>
2120
2121         * src/NetworkManagerSystem.c
2122                 - (route_in_same_subnet): mask addresses and compare them so that the
2123                         function actually does what it says it's going to do (rh #456685)
2124
2125 2008-07-27  Dan Williams  <dcbw@redhat.com>
2126
2127         * libnm-util/nm-setting-ip6-config.c
2128                 - (set_property): add missing break that caused routes to be overwritten
2129                         with addresses
2130
2131         * libnm-util/nm-setting-ip6-config.c
2132                 - (verify): validate routes and return GError everywhere on invalid setting
2133                 - (finalize): don't leak routes
2134                 - (set_property): add missing break that caused routes to be overwritten
2135                         with addresses
2136
2137 2008-07-27  Dan Williams  <dcbw@redhat.com>
2138
2139         * libnm-util/*
2140                 - Relicense to LGPLv2+
2141
2142 2008-07-27  Dan Williams  <dcbw@redhat.com>
2143
2144         * system-settings/plugins/ifcfg-fedora/reader.c
2145                 - (make_ip4_setting): fix parsing automatic configs
2146
2147 2008-07-27  Dan Williams  <dcbw@redhat.com>
2148
2149         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2150           src/nm-device.c
2151           src/ppp-manager/nm-ppp-manager.c
2152                 - Ensure child process gets reaped.  The child watch function may be
2153                         removed from the mainloop before the child gets killed, so we have
2154                         to make sure the child is reaped when it's told to die intentionally
2155
2156 2008-07-27  Dan Williams  <dcbw@redhat.com>
2157
2158         Patch from Roy Marples <roy@marples.name>
2159
2160         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2161                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2162
2163 2008-07-27  Dan Williams  <dcbw@redhat.com>
2164
2165         * src/nm-gsm-device.c
2166                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2167                         Huawei devices turn echo back on after CPIN (rh #456770)
2168
2169 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2170
2171         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2172         format argument to g_set_error() call.
2173
2174         * src/backends/interface_parser.[ch]: Remove.
2175
2176         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2177
2178 2008-07-21  Dan Williams  <dcbw@redhat.com>
2179
2180         * src/ppp-manager/nm-ppp-manager.c
2181                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2182                         to prevent pppd from picking up some random local address from an
2183                         interface that doesn't have anything to do with the one we're
2184                         interested in (rh #455348)
2185
2186 2008-07-17  Dan Williams  <dcbw@redhat.com>
2187
2188         * libnm-util/nm-utils.c
2189                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2190                         by locale
2191                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2192                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2193
2194 2008-07-17  Dan Williams  <dcbw@redhat.com>
2195
2196         * introspection/Makefile.am
2197           introspection/nm-device.xml
2198           introspection/nm-dhcp4-config.xml
2199                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2200                         itself
2201         * src/nm-device-interface.c
2202           src/nm-device-interface.h
2203                 - Add the DHCP4Config property
2204
2205         * src/nm-device.c
2206                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2207                         D-Bus clients when it changes
2208
2209         * src/nm-dhcp4-config.c
2210           src/nm-dhcp4-config.h
2211                 - Simple object to store DHCP4 options, export them over D-Bus, and
2212                         notify when they change
2213
2214         * src/dhcp-manager/nm-dhcp-manager.c
2215           src/dhcp-manager/nm-dhcp-manager.h
2216                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2217                         filter server-returned DHCP options into an NMDHCP4Config object
2218
2219 2008-07-16  Dan Williams  <dcbw@redhat.com>
2220
2221         * introspection/nm-device.xml
2222                 - Add device state reasons
2223
2224 2008-07-16  Dan Williams  <dcbw@redhat.com>
2225
2226         Patch from Roy Marples <roy@marples.name>
2227
2228         * configure.in
2229                 - Add --with-dhcp-client option
2230
2231         * src/dhcp-manager/Makefile.am
2232                 - pass DHCP_CLIENT_PATH on compile line
2233
2234         * src/dhcp-manager/nm-dhcp-manager.c
2235           src/dhcp-manager/nm-dhcp-manager.h
2236                 - Genericize for both dhcpcd and dhclient
2237
2238         * src/dhcp-manager/nm-dhcp-dhclient.c
2239                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2240
2241         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2242                 - Implement support for dhcpcd too
2243
2244 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2245
2246         * system-settings/src/nm-system-config-interface.c 
2247         (nm_system_config_interface_supports_add): Implement.
2248         (nm_system_config_interface_add_connection): Return a boolean to notify
2249         of errors.
2250
2251         * system-settings/src/nm-polkit-helpers.c: 
2252         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2253         a separate file.
2254
2255         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2256         Return an error when none of the plugins support add or if addition
2257         failed for some reason.
2258
2259         * system-settings/src/nm-system-config-error.h: 
2260         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2261         here from nm-polkit-helpers.[ch].
2262
2263         * system-settings/src/Makefile.am: Build new files.
2264
2265         * system-settings/plugins/keyfile/reader.c 
2266         (read_array_of_array_of_uint): Make it more general so that it would
2267         work for routes as well.
2268
2269         * system-settings/plugins/keyfile/writer.c
2270         (write_array_of_array_of_uint): Ditto.
2271         Fix the netmask/prefix writing.
2272
2273         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2274         boolean to notify errors.
2275
2276         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2277         Return more specific error.
2278         (delete): Ditto.
2279
2280 2008-07-11  Dan Williams  <dcbw@redhat.com>
2281
2282         Modify the NMDevice::state-changed signal to include the previous state
2283         and reason. Enables the applet to provide more information why device
2284         activation failed.
2285
2286 2008-07-09  Dan Williams  <dcbw@redhat.com>
2287
2288         * callouts/Makefile.am
2289           callouts/nm-avahi-autoipd-action.c
2290           callouts/nm-avahi-autoipd.conf
2291                 - avahi-autoipd callout to send options back to NM
2292
2293         * src/autoip.c
2294           src/autoip.h
2295                 - remove
2296
2297         * src/nm-device.c
2298           src/nm-device-private.h
2299           src/nm-manager.c
2300                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2301                         old custom stuff
2302
2303 2008-07-07  Dan Williams  <dcbw@redhat.com>
2304
2305         * system-settings/plugins/ifcfg-fedora/reader.c
2306                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2307                         handle PREFIX too; clean up
2308
2309 2008-07-07  Dan Williams  <dcbw@redhat.com>
2310
2311         Convert to using IPv4 prefixes instead of netmasks.
2312
2313 2008-07-03  Dan Williams  <dcbw@redhat.com>
2314
2315         * libnm-util/nm-setting-ip4-config.c
2316           libnm-util/nm-setting-ip4-config.h
2317                 - Add properties for DHCP Client Identifier and DHCP Hostname
2318
2319         * src/dhcp-manager/nm-dhcp-manager.c
2320           src/dhcp-manager/nm-dhcp-manager.h
2321                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2322                         setting as an argument to pass on to the dhclient config file
2323                         creation function
2324                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2325                         DHCP is torn down
2326                 - (dhclient_run): punt config file handling to create_dhclient_config()
2327                 - (create_dhclient_config): create an interface-specific dhclient
2328                         config file since there may need to be interface-specific options
2329                         passed to dhclient
2330                 - (merge_dhclient_config): merge normal distro dhclient config file and
2331                         add options from the connection
2332                 - (nm_dhcp_device_new): generate the interface specific dhclient
2333                         config file path once
2334                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2335                         dhclient config file path
2336
2337         * src/nm-device.c
2338                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2339                         DHCP manager when starting DHCP
2340
2341 2008-07-02  Dan Williams  <dcbw@redhat.com>
2342
2343         * libnm-util/nm-setting-8021x.c
2344                 - (verify): allow forcing the PEAP label to 0
2345
2346 2008-07-02  Dan Williams  <dcbw@redhat.com>
2347
2348         * introspection/nm-active-connection.xml
2349           introspection/nm-vpn-connection.xml
2350           libnm-glib/nm-active-connection.c
2351           src/nm-activation-request.c
2352           src/nm-active-connection.h
2353           src/vpn-manager/nm-vpn-connection.c
2354                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2355                         and libnm-glib API since sharing didn't get implemented that way
2356
2357 2008-07-02  Dan Williams  <dcbw@redhat.com>
2358
2359         * src/nm-device-wifi.c
2360                 - (can_scan): don't scan when a shared connection is activated since
2361                         that makes drivers mad (causing disconnects); also NM doesn't need
2362                         to hedge against disconnects by keeping up-to-date network topology
2363                         because the connection originates from the local machine, and thus
2364                         there should be no disconnects
2365
2366 2008-07-01  Dan Williams  <dcbw@redhat.com>
2367
2368         Fix mobile broadband username/password issues.  NM was never requesting
2369         mobile broadband secrets, nor was it passing back the username and password
2370         if it had them.
2371
2372         * marshallers/nm-marshal.list
2373                 - Add some new types for activation request objects
2374
2375         * src/nm-activation-request.c
2376           src/nm-activation-request.h
2377                 - (get_secrets_cb): pass the caller type in the signal
2378                 - (nm_act_request_request_connection_secrets): take a caller type, so
2379                         that GetSecrets() reply handlers know who asked for the secrets in
2380                         the first place; use secret hints too so the settings service can
2381                         figure out exactly what NM wants (ie, PIN or the PPP password)
2382
2383         * src/ppp-manager/nm-ppp-manager.c
2384           src/ppp-manager/nm-ppp-manager.h
2385                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2386                         detect needed secrets when the secret could be blank, like GSM/CDMA
2387                         passwords.  So always ask for secrets, and send a hint as to what
2388                         secret we really want.
2389                 - (nm_ppp_manager_update_secrets): make function more generic by making
2390                         the device specific class figure out the username and password, and
2391                         accept an error argument to return back over D-Bus
2392
2393         * src/nm-device-wifi.c
2394                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2395                         nm_act_request_request_connection_secrets()
2396                 - (real_connection_secrets_updated): update for 'caller' changes
2397
2398         * src/nm-device.c
2399           src/nm-device.h
2400                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2401                         for 'caller' changes
2402
2403         * src/nm-device-ethernet.c
2404                 - (real_connection_secrets_updated): update for 'caller' changes and
2405                         move logic for getting PPPoE username and password here before
2406                         calling nm_ppp_manager_update_secrets()
2407                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2408                         nm_act_request_request_connection_secrets()
2409
2410         * src/nm-cdma-device.c
2411                 - (real_connection_secrets_updated): pass username and password back
2412                         to the PPP manager when required
2413
2414         * src/nm-gsm-device.c
2415                 - (enter_pin): send the required secret name to the settings service
2416                 - (real_connection_secrets_updated): pass username and password back
2417                         to the PPP manager when required
2418
2419 2008-06-30  Dan Williams  <dcbw@redhat.com>
2420
2421         * src/nm-device-wifi.c
2422                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2423
2424 2008-06-30  Dan Williams  <dcbw@redhat.com>
2425
2426         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2427         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2428         priv->supplicant.iface.  When either condition is false, the device should
2429         transition back to UNAVAILABLE because it cannot be used.
2430
2431         * src/nm-device-wifi.c
2432                 - (constructor): cleanup; connect to supplicant manager here since the
2433                         supplicant manager is always around
2434                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2435                         ensure the supplicant manager is in the IDLE state
2436                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2437                         cancel any pending scans too
2438                 - (real_bring_up): don't set up the supplicnat interface here, because
2439                         we need the supplicant interface at times when the device may not
2440                         be "up"
2441                 - (real_take_down): just remove the periodic source
2442                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2443                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2444                         do anything if there's no supplicant interface
2445                 - (cleanup_association_attempt): cleanup
2446                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2447                         the interface enters the READY state; transition to UNAVAILABLE
2448                         state when the interface goes down because the device can't be used
2449                         without a supplicant interface
2450                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2451                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2452                         acquire the supplicant interface and transition to DISCONNECTED
2453                         if the radio isn't killed
2454                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2455                 - (state_changed_cb): release any existing supplicant interface; if the
2456                         radio is enabled then try to acquire a new supplicant interface;
2457                         if the radio is enabled and a supplicant interface has been acquired,
2458                         we can transition to DISCONNECTED
2459                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2460                         don't enable the radio, because HAL probably lied to us about the
2461                         killswitch being off.  If bringing the hardware up worked, then
2462                         try to grab a supplicant interface, and if that was successful,
2463                         transition to DISCONNECTED
2464
2465 2008-06-30  Dan Williams  <dcbw@redhat.com>
2466
2467         * src/supplicant-manager/nm-supplicant-interface.c
2468                 - (request_scan_results, nm_supplicant_interface_dispose,
2469                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2470                         the id of the timeout, not a GSource
2471
2472 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2473
2474         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2475         bunch of typoes introduced by "Patch from David Cantrell 
2476         <dcantrell@redhat.com> and me".
2477
2478 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2479
2480         * src/nm-serial-device.c: 
2481         * src/nm-gsm-device.c: 
2482         * src/nm-cdma-device.c: Move the pending call handling to a common location
2483         in serial device. Handle setting device state to failed in one place as well.
2484
2485 2008-06-29  Dan Williams <dcbw@redhat.com>
2486
2487         * src/nm-hal-manager.c
2488                 - Rework killswitch handling to query killswitch status immediately
2489                         when the first killswitch is added, so that rfkill state is
2490                         known as early as possible
2491                 - Also treat failure of GetPower() as rfkill when the dbus method
2492                         call times out (but not when the HAL callout returns an error)
2493
2494 2008-06-26  Dan Williams <dcbw@redhat.com>
2495
2496         Patch from David Cantrell <dcantrell@redhat.com> and me
2497
2498         * include/nm-dbus-glib-types.h
2499                 - Add IP6 address types
2500
2501         * libnm-util/Makefile.am
2502           libnm-util/nm-setting-ip6-config.c
2503           libnm-util/nm-setting-ip6-config.h
2504                 - Add IP6 settings object
2505
2506         * libnm-util/nm-connection.c
2507                 - (register_default_settings): register ip6 settings object
2508
2509         * libnm-util/nm-utils.c
2510           libnm-util/nm-utils.h
2511                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2512                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2513                         ip6 address conversion functions
2514         
2515 2008-06-26  Dan Williams <dcbw@redhat.com>
2516
2517         Patch from David Cantrell <dcantrell@redhat.com>
2518         
2519         * Use inet_ntop() and inet_pton() everwhere and check for errors
2520
2521 2008-06-26  Dan Williams <dcbw@redhat.com>
2522
2523         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2524
2525 2008-06-26  Dan Williams <dcbw@redhat.com>
2526
2527         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2528
2529         * src/nm-device-wifi.c
2530                 - (link_timeout_cb): don't ignore disconnects due to scanning
2531                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2532                         a longer timeout when scanning; avoids case where supplicant can't
2533                         find the AP and just keeps scanning forever but isn't connected
2534
2535 2008-06-26  Dan Williams <dcbw@redhat.com>
2536
2537         Patch from Michael Biebl <biebl@debian.org>
2538
2539         * Clean up build system stuff
2540
2541 2008-06-23  Christian Persch  <chpe@gnome.org>
2542
2543         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2544         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2545         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2546         (impl_get_object):
2547         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2548         (impl_get_object):
2549         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2550         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2551         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2552         (impl_get_object):
2553         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2554         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2555         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2556         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2557         * vpn-daemons/pptp/properties/vpnui_opt.c:
2558         (vpnui_opt_connect_signals):
2559         * vpn-daemons/pptp/properties/vpnui_opt.h:
2560         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2561         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2562         deprecated gtk type macros. Bug #539325.
2563
2564 2008-06-20  Dan Williams  <dcbw@redhat.com>
2565
2566         * libnm-glib/nm-vpn-plugin-ui-interface.c
2567           libnm-glib/nm-vpn-plugin-ui-interface.h
2568                 - 'validity-changed' -> 'changed' to work better with the connection
2569                         editor.  Plugin UI widgets should emit 'changed' whenever their
2570                         UI values change in a meaningful way.
2571                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2572                         update_connection member now returns validity of the UI widget
2573
2574 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2575
2576         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2577
2578 2008-06-17  Dan Williams  <dcbw@redhat.com>
2579
2580         * libnm-glib/nm-vpn-plugin-ui-interface.c
2581           libnm-glib/nm-vpn-plugin-ui-interface.h
2582                 - Add "desc" property for longer descriptions of the VPN plugin
2583
2584 2008-06-16  Dan Williams  <dcbw@redhat.com>
2585
2586         * configure.in
2587           libnm-glib/libnm_glib_vpn.pc.in
2588                 - add a .pc file for libnm_glib_vpn
2589
2590         * libnm-glib/nm-vpn-plugin-ui-interface.c
2591           libnm-glib/nm-vpn-plugin-ui-interface.h
2592                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2593                         rework it substantially
2594
2595 2008-06-12  Dan Williams  <dcbw@redhat.com>
2596
2597         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2598         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2599         returns a descriptive GError when verification fails.
2600
2601 2008-06-11  Dan Williams  <dcbw@redhat.com>
2602
2603         Patch from Tambet Ingo <tambet@gmail.com>
2604
2605         * libnm-util/nm-setting-gsm.c
2606                 - (verify): validate APN
2607
2608         * src/nm-gsm-device.c
2609                 - (manual_registration_done): start setting APN if needed
2610                 - (set_apn, set_apn_done): set the APN
2611                 - (do_dial): use the APN when dialing
2612
2613 2008-06-11  Dan Williams  <dcbw@redhat.com>
2614
2615         * src/NetworkManagerSystem.c
2616                 - (nm_system_device_set_ip4_route,
2617                    nm_system_device_replace_default_ip4_route): check for the right
2618                         return value from rtnl_route_add() to know when to add a gateway
2619                         route (from Tambet)
2620
2621 2008-06-11  Dan Williams  <dcbw@redhat.com>
2622
2623         * src/NetworkManagerPolicy.c
2624                 - do_ipt_cmd -> do_cmd
2625                 - (sharing_init): use do_cmd() instead of system()
2626
2627 2008-06-10  Dan Williams  <dcbw@redhat.com>
2628
2629         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2630         and use "wifi" everwhere instead.
2631
2632 2008-06-10  Dan Williams  <dcbw@redhat.com>
2633
2634         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2635
2636 2008-06-10  Dan Williams  <dcbw@redhat.com>
2637
2638         Patch from Tambet Ingo <tambet@gmail.com>
2639
2640         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2641                 changes.
2642
2643         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2644                 a signal to emit these changes over dbus.
2645
2646         * src/Makefile.am: Genereate nm-serial-device-glue.
2647
2648         * libnm-glib/nm-serial-device.[ch]: Implement.
2649
2650         * libnm-glib/nm-cdma-device.[ch]
2651           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2652
2653         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2654
2655         * introspection/nm-device-serial.xml: Implement.
2656
2657         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2658
2659         * introspection/Makefile.am: Add nm-device-serial.xml.
2660
2661         * include/NetworkManager.h: Add a DBus interface for serial device.
2662
2663 2008-06-10  Dan Williams  <dcbw@redhat.com>
2664
2665         * configure.in
2666                 - Add TARGET_* define to config.h to distinguish distros
2667
2668         * src/dhcp-manager/nm-dhcp-manager.c
2669                 - (dhclient_run): use distro-specific path for dhclient config file
2670
2671 2008-06-09  Dan Williams  <dcbw@redhat.com>
2672
2673         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2674           src/dnsmasq-manager/nm-dnsmasq-manager.h
2675                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2676                         calculate the addresses passed to dnsmasq instead of hard-coding
2677                         them
2678
2679         * src/nm-device.c
2680                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2681                         IP addresses for shared connections to guard against shared
2682                         connection address collisions
2683                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2684                         error conditions
2685                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2686                         the dnsmasq manager
2687
2688 2008-06-09  Dan Williams  <dcbw@redhat.com>
2689
2690         * src/NetworkManagerPolicy.c
2691                 - (update_routing_and_dns): set the default connection _after_ unsetting
2692                         default on all non-default connections so that two connections can
2693                         never be default at the same time
2694                 - (device_state_changed): start and stop connection sharing when
2695                         needed
2696                 - (active_connection_default_changed): restart or stop sharing when
2697                         the default connection changes to keep shared connections always
2698                         NAT-ed through the default connection
2699                 - (check_sharing): handle activation/deactivation of shared connections
2700                 - (sharing_restart): atom-bomb approach to connection sharing until we
2701                         can use libnl; reinit all sharing when the default connection or
2702                         shared connections change
2703                 - (sharing_init, sharing_stop): evil functions that init and deinit
2704                         iptables
2705
2706 2008-06-09  Dan Williams  <dcbw@redhat.com>
2707
2708         * src/nm-activation-request.c
2709           src/nm-activation-request.h
2710                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2711                    nm_act_request_get_device): new functions to facilitate connection
2712                         sharing
2713
2714 2008-06-09  Dan Williams  <dcbw@redhat.com>
2715
2716         * src/nm-device.c
2717                 - (clear_act_request): unset the 'default' property of the activation
2718                         request when clearing it to ensure the property changed signal gets
2719                         delivered and handled
2720
2721 2008-06-09  Dan Williams  <dcbw@redhat.com>
2722
2723         * libnm-glib/nm-device-802-11-wireless.c
2724                 - (access_point_removed_proxy): actually unref the AP after removing
2725                         it from the device's AP list.  Fixes refcounting bug for APs that
2726                         caused them to get mixed up in the applet's menu.
2727
2728 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2729
2730         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2731         (nm_dhcp_device_destroy): Destroy the device options hash table.
2732
2733 2008-06-06  Dan Williams <dcbw@redhat.com>
2734
2735         * system-settings/src/nm-polkit-helpers.c
2736                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2737                         unref the context if the initialization fails; also avoid spew when
2738                         the error isn't set
2739
2740 2008-06-06  Dan Williams <dcbw@redhat.com>
2741
2742         Patch from Tambet Ingo  <tambet@gmail.com>
2743
2744         * src/NetworkManagerSystem.c
2745           src/NetworkManagerSystem.h
2746                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2747                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2748                 - (nm_system_device_set_ip4_route): clean up
2749                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2750
2751         * src/nm-device.c
2752                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2753
2754         * src/vpn-manager/nm-vpn-connection.c
2755                 - (ip_address_to_string): new function
2756                 - (print_vpn_config): use ip_address_to_string
2757                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2758                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2759
2760         * include/NetworkManagerVPN.h
2761                 - Add 'routes' key
2762
2763 2008-06-05  Dan Williams <dcbw@redhat.com>
2764
2765         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2766
2767         * test/nm-tool.c
2768                 - Show which device is the default device
2769
2770 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2771
2772         Fix memory leaks.
2773
2774         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2775         Free data returned from dbus method call.
2776
2777         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2778         dbus_g_method_get_sender() returns a duplicated string, free it 
2779         when done.
2780         (check_polkit_privileges): Looks like policykit sometimes returns
2781         error and non-null return value, don't leak errors in that case.
2782
2783         * system-settings/src/main.c (find_plugin): Don't leak existing 
2784         plugin names.
2785         (load_stuff): Don't leak device list and list items.
2786         (have_connection_for_device): Don't leak connection list.
2787
2788         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2789         Free the data received from g_keyfile_get_*.
2790
2791         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2792         the key when the security object is updated.
2793
2794         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2795         Free data returned from dbus method call.
2796         (iface_state_cb): Ditto.
2797         (add_network_cb): Ditto.
2798         (nm_supplicant_interface_add_cb): Don't make another copy of already
2799         duplicated object path.
2800         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2801         when done.
2802
2803         * src/supplicant-manager/nm-supplicant-config.c 
2804         (ADD_STRING_LIST_VAL): Fix a memory leak.
2805
2806         * src/nm-manager.c (free_get_settings_info): Free the allocated
2807         memory slice.
2808         (list_connections_cb): Free data returned from dbus method call.
2809         (system_settings_get_unmanaged_devices_cb): Ditto.
2810
2811         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2812
2813         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2814         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2815         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2816         of the GList.
2817
2818         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2819         arguments after the object is created.
2820
2821 2008-06-04  Dan Williams <dcbw@redhat.com>
2822
2823         * libnm-util/Makefile.am
2824                 - Don't distribute nm-param-spec-specialized.h
2825
2826 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2827
2828         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2829
2830         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2831         NMIP4Address, update the getters and setters.
2832
2833         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2834         Use the updated NMIP4Config routes api.
2835
2836         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2837         static routes as well.
2838
2839         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2840         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2841         routes api.
2842
2843 2008-05-30  Dan Williams <dcbw@redhat.com>
2844
2845         * src/named-manager/nm-named-manager.c
2846           src/named-manager/nm-named-manager.h
2847                 - Remove stale/obsolete bits for controlling bind over DBus
2848
2849 2008-05-29  Dan Williams <dcbw@redhat.com>
2850
2851         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2852           src/dnsmasq-manager/nm-dnsmasq-manager.h
2853                 - (nm_dnsmasq_manager_new): move iface argument here
2854                 - (constructor): remove, not needed
2855                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2856                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2857
2858         * src/nm-device.c
2859                 - (real_act_stage4_get_ip4_config,
2860                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2861                         changes
2862
2863 2008-05-29  Dan Williams <dcbw@redhat.com>
2864
2865         * src/nm-device.c
2866                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2867                         something happens to dnsmasq
2868                 - (nm_device_new_ip4_shared_config): new function; create a new
2869                         ip4-config for shared connections.  Shared connections always use a
2870                         fixed static IP address.
2871                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2872                         autoip connections by actually using the returned ip4-config and
2873                         not leaking it
2874                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2875                         connections
2876                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2877                         if its active
2878
2879 2008-05-29  Dan Williams <dcbw@redhat.com>
2880
2881         * src/nm-device-802-11-wireless.c
2882                 - (real_get_best_auto_connection): auto-activate 'shared' method
2883                         connections too
2884
2885 2008-05-29  Dan Williams <dcbw@redhat.com>
2886
2887         * libnm-util/nm-setting-ip4-config.c
2888           libnm-util/nm-setting-ip4-config.h
2889                 - Add a 'shared' method to indicate that this connection should be
2890                         brought up with a DHCP and proxy DNS server to facilitate
2891                         connection sharing.
2892                 - (verify): 'shared' method doesn't allow DNS or searches either
2893
2894 2008-05-29  Dan Williams <dcbw@redhat.com>
2895
2896         * configure.in
2897           src/Makefile.am
2898           src/dnsmasq-manager/Makefile.am
2899           src/dnsmasq-manager/nm-dnsmasq-manager.c
2900           src/dnsmasq-manager/nm-dnsmasq-manager.h
2901                 - Add a dnsmasq daemon manager to facilitate connection sharing
2902
2903 2008-05-29  Dan Williams <dcbw@redhat.com>
2904
2905         * src/nm-device-private.h
2906                 - Remove unused prototypes and clean up
2907
2908         * src/nm-device.c
2909                 - Remove anything related to system_config_data, which is no longer used
2910                 - (nm_device_new_ip4_autoip_config): make static
2911
2912 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2913
2914         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2915         (file_changed): Fix a bug where suse system settings plugin didn't
2916         update the connections automatically when the files changed.
2917
2918 2008-05-28  Dan Williams  <dcbw@redhat.com>
2919
2920         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2921
2922 2008-05-28  Dan Williams  <dcbw@redhat.com>
2923
2924         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2925
2926         * src/NetworkManagerSystem.c
2927                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2928                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2929                         was causing -EINVAL errors since the libnl code actually does flush
2930                         the routes on VPN interfaces now
2931
2932         * src/backends/NetworkManagerArch.c
2933           src/backends/NetworkManagerDebian.c
2934           src/backends/NetworkManagerFrugalware.c
2935           src/backends/NetworkManagerGeneric.c
2936           src/backends/NetworkManagerGentoo.c
2937           src/backends/NetworkManagerMandriva.c
2938           src/backends/NetworkManagerPaldo.c
2939           src/backends/NetworkManagerRedHat.c
2940           src/backends/NetworkManagerSlackware.c
2941           src/backends/NetworkManagerSuSE.c
2942                 - (nm_system_device_flush_ip4_routes,
2943                    nm_system_device_flush_ip4_routes_with_iface): remove
2944
2945 2008-05-28  Dan Williams  <dcbw@redhat.com>
2946
2947         * libnm-util/nm-setting-wireless.c
2948           libnm-util/nm-setting-wireless.h
2949                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2950                         'adhoc-create' property, which when TRUE indicates that NM should
2951                         create this connection as an adhoc wifi network if it's not found
2952                         as an adhoc network during scanning.  Can be used to auto-create
2953                         adhoc networks when used in combination with autoconnect.
2954
2955 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2956
2957         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2958
2959         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2960         checked, it doesn't work on some devices.
2961
2962 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2963
2964         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2965         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2966
2967         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2968         Use inet_aton() everywhere to improve error detection.
2969         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2970         provided.
2971
2972 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2973
2974         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2975         Fix a typo.
2976
2977 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2978
2979         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2980         reference counting issue.
2981
2982 2008-05-23  Dan Williams  <dcbw@redhat.com>
2983
2984         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2985
2986         * src/backends/NetworkManagerGeneric.c
2987                 - (nm_generic_enable_loopback): use libnl
2988
2989 2008-05-23  Dan Williams  <dcbw@redhat.com>
2990
2991         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2992
2993         * src/NetworkManagerSystem.h
2994           src/backends/NetworkManagerArch.c
2995           src/backends/NetworkManagerDebian.c
2996           src/backends/NetworkManagerFrugalware.c
2997           src/backends/NetworkManagerGentoo.c
2998           src/backends/NetworkManagerMandriva.c
2999           src/backends/NetworkManagerPaldo.c
3000           src/backends/NetworkManagerRedHat.c
3001           src/backends/NetworkManagerSlackware.c
3002           src/backends/NetworkManagerSuSE.c
3003                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3004                    nm_system_flush_arp_cache): remove, unused
3005
3006         * src/backends/NetworkManagerGeneric.c
3007           src/backends/NetworkManagerGeneric.h
3008                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3009                    nm_generic_flush_arp_cache): remove, unused
3010
3011 2008-05-23  Dan Williams  <dcbw@redhat.com>
3012
3013         * system-settings/plugins/ifcfg-fedora/reader.c
3014                 - (make_ip4_setting): honor PEERDNS setting
3015
3016 2008-05-23  Dan Williams  <dcbw@redhat.com>
3017
3018         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3019
3020         * src/NetworkManagerSystem.c
3021                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3022                         libnl
3023
3024         * src/backends/NetworkManagerArch.c
3025           src/backends/NetworkManagerDebian.c
3026           src/backends/NetworkManagerFrugalware.c
3027           src/backends/NetworkManagerGentoo.c
3028           src/backends/NetworkManagerMandriva.c
3029           src/backends/NetworkManagerPaldo.c
3030           src/backends/NetworkManagerRedHat.c
3031           src/backends/NetworkManagerSlackware.c
3032           src/backends/NetworkManagerSuSE.c
3033                 - (nm_system_device_flush_ip4_addresses,
3034                    nm_system_device_flush_ip4_addresses_with_iface): remove
3035
3036         * src/backends/NetworkManagerGeneric.c
3037                 - (nm_generic_device_flush_ip4_addresses,
3038                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3039
3040 2008-05-23  Dan Williams  <dcbw@redhat.com>
3041
3042         * src/supplicant-manager/nm-supplicant-settings-verify.c
3043                 - Switch 'bssid' from bytes to keyword type
3044                 - (validate_type_keyword): allow NULL keyword lists
3045
3046         * src/supplicant-manager/nm-supplicant-config.c
3047                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3048                         a byte array to string form, which is what the supplicant expects
3049
3050 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3051
3052         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3053         information received from DHCP.
3054
3055         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3056         to make it possible to ignore the DNS information (both servers and 
3057         searches) returned by DHCP server.
3058
3059         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3060         name servers and searches if "ignore_dhcp_dns" is set.
3061
3062         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3063         (nm_ip4_config_reset_searches): Implement.
3064
3065 2008-05-22  Dan Williams  <dcbw@redhat.com>
3066
3067         Remove anything mDNS related.  This is better done from a distro-specific
3068         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3069         avahi, since avahi can handle interface changes just fine using netlink.
3070
3071         * configure.in
3072                 - Remove --with-mdns-provider
3073
3074         * src/NetworkManagerPolicy.c
3075                 - (global_state_changed): don't restart the mdns provider
3076
3077         * src/NetworkManagerSystem.h
3078           src/backends/NetworkManagerArch.c
3079           src/backends/NetworkManagerDebian.c
3080           src/backends/NetworkManagerFrugalware.c
3081           src/backends/NetworkManagerGentoo.c
3082           src/backends/NetworkManagerMandriva.c
3083           src/backends/NetworkManagerPaldo.c
3084           src/backends/NetworkManagerRedHat.c
3085           src/backends/NetworkManagerSlackware.c
3086           src/backends/NetworkManagerSuSE.c
3087                 - (nm_system_restart_mdns_responder): remove
3088
3089         * src/backends/NetworkManagerGeneric.c
3090           src/backends/NetworkManagerGeneric.h
3091                 - (nm_generic_restart_mdns_responder): remove
3092
3093 2008-05-22  Dan Williams  <dcbw@redhat.com>
3094
3095         * configure.in
3096                 - clean up crypto options; just use --with-crypto=nss or
3097                         --with-crypto=gnutls
3098
3099 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3100
3101         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3102         anymore, do it right away.
3103
3104 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3105
3106         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3107         serial device open when we're not connecting or connected.
3108
3109         * src/nm-cdma-device.c (device_state_changed): Ditto.
3110
3111 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3112
3113         Don't remove all devices on waking up, sync with HAL.
3114
3115         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3116         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3117         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3118
3119 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3120
3121         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3122         If the default gateway is unreachable, add a route to gateway and try
3123         again.
3124
3125 2008-05-20  Dan Williams  <dcbw@redhat.com>
3126
3127         * system-settings/plugins/ifcfg-fedora/reader.c
3128                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3129
3130 2008-05-19  Dan Williams  <dcbw@redhat.com>
3131
3132         * system-settings/plugins/ifcfg-fedora/reader.c
3133                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3134                         if the ifcfg doesn't specify one (rh #446527)
3135
3136 2008-05-19  Dan Williams  <dcbw@redhat.com>
3137
3138         Make the system settings service exit when the bus goes away.  Since it's
3139         a bus-activated service, it's lifetime is limited to the bus that activated
3140         it (rh #444976).
3141
3142         * system-settings/src/Makefile.am
3143           system-settings/src/nm-system-config-hal-manager-private.h
3144                 - Remove nm-system-config-hal-manager-private.h
3145
3146         * system-settings/src/nm-system-config-hal-manager.c
3147                 - (nm_system_config_hal_manager_reinit_dbus,
3148                    nm_system_config_hal_manager_deinit_dbus): remove
3149
3150         * system-settings/src/main.c
3151                 - (dbus_reconnect): remove
3152                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3153                 - (destroy_cb): just quit when the bus goes away
3154                 - (start_dbus_service, dbus_init): simplify
3155                 - (main): destroy the wired devices hash table after destroying
3156                         the HAL manager so we don't have to disconnect signals from the
3157                         HAL manager
3158
3159 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3160
3161         Move crypto functions from nm-applet to libnm-util.
3162
3163         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3164         (nm_setting_802_1x_set_client_cert)
3165         (nm_setting_802_1x_set_phase2_ca_cert)
3166         (nm_setting_802_1x_set_phase2_client_cert)
3167         (nm_setting_802_1x_set_private_key)
3168         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3169         file (or private key and it's password), read the certificate data.
3170
3171         * libnm-util/crypto_nss.c: 
3172         * libnm-util/crypto_gnutls.c: 
3173         * libnm-util/crypto.[ch]: Move here from nm-applet.
3174
3175         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3176
3177         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3178         Imlement WPA-EAP configuration reading from sysconfig.
3179
3180 2008-05-16  Dan Williams  <dcbw@redhat.com>
3181
3182         * src/nm-device-802-11-wireless.c
3183                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3184                         wireless
3185
3186 2008-05-14  Dan Williams  <dcbw@redhat.com>
3187
3188         Fix Linus' bug in rh #134886
3189
3190         * src/nm-device-802-3-ethernet.c
3191                 - (constructor): request initial carrier state
3192
3193         * src/nm-netlink-monitor.c
3194                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3195                         signals after refilling the link cache.  Because the refill is a 
3196                         synchronous operation, the normal message hander won't get called
3197                         since libnl has already consumed the messages.
3198                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3199
3200 2008-05-14  Dan Williams  <dcbw@redhat.com>
3201
3202         * src/NetworkManagerSystem.c
3203                 - (nm_system_device_is_up_with_iface): clean up
3204
3205 2008-05-13  Dan Williams  <dcbw@redhat.com>
3206
3207         Fix refcounting issues over sleep/wake when a VPN connection was active that
3208         caused NM to try registering an object path for a device upon wake that was
3209         the same as an already registered object path.
3210
3211         * src/nm-device.c
3212                 - (nm_device_take_down): properly handle cases where the device is
3213                         no longer active but was just active, and therefore must be
3214                         deactivated.  When a device moves to unmanaged mode, this function
3215                         previously would not deactivate the device, because the state was
3216                         already unmanaged by the time this function was called.
3217
3218         * src/vpn-manager/nm-vpn-connection.c
3219                 - (device_state_changed): properly handle multiple devices states in
3220                         which the device is now deactivated.  Code previously didn't handle
3221                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3222                         UNMANAGED states.
3223
3224 2008-05-13  Dan Williams  <dcbw@redhat.com>
3225
3226         * src/nm-device-private.h
3227           src/nm-device.c
3228                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3229
3230         * src/nm-device-802-11-wireless.c
3231                 - (nm_device_802_11_wireless_set_enabled): take devices up
3232                         and down as appropriate for the rfkill state
3233
3234 2008-05-13  Dan Williams  <dcbw@redhat.com>
3235
3236         * marshallers/nm-marshal.list
3237                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3238
3239         * system-settings/plugins/ifcfg-fedora/Makefile.am
3240           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3241           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3242                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3243                         events.  Solely for use watching ifcfg files to pick up changes
3244                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3245
3246         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3247                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3248                         file contents change
3249                 - (finalize): clean up inotify watches
3250                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3251                         and the connection ifcfg for changes on their hardlinks
3252                 - (files_changed_cb): proxy the changed signal back out to listeners
3253
3254         * system-settings/plugins/ifcfg-fedora/plugin.c
3255                 - (dir_changed): 
3256                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3257                         changes
3258                 - (read_one_connection): connect to change signals on the new connection
3259                 - (dir_changed, connection_changed_handler,
3260                    handle_connection_remove_or_new): break out connection change
3261                         handling and connection new/remove handling so it can be used from
3262                         both the GFileMonitor callback and the NMIfcfgConnection changed
3263                         signals
3264
3265         * system-settings/plugins/ifcfg-fedora/reader.c
3266           system-settings/plugins/ifcfg-fedora/reader.h
3267                 - (connection_from_file): return the keyfile path the connection would use
3268
3269 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3270
3271         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3272         single PolKitContext which is shared by all. PolKitContext::unref leaks
3273         just about everything, including all open file descriptiors and results
3274         in 99% cpu usage when data arrives to any of the fds that don't belong
3275         to any context anymore.
3276
3277 2008-05-12  Dan Williams  <dcbw@redhat.com>
3278
3279         * gfilemonitor/glocaldirectorymonitor.c
3280           gfilemonitor/glocaldirectorymonitor.h
3281                 - (g_local_directory_monitor_constructor): actually subscribe to the
3282                         watch
3283                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3284
3285         * gfilemonitor/glocalfilemonitor.c
3286           gfilemonitor/glocalfilemonitor.h
3287                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3288                 - (_g_local_file_monitor_new): ensure that inotify is started up
3289
3290 2008-05-11  Dan Williams  <dcbw@redhat.com>
3291
3292         * configure.in
3293                 - record PolicyKit version
3294
3295         * system-settings/src/nm-polkit-helpers.c
3296                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3297                         with PolicyKit <= 0.6
3298
3299 2008-05-11  Dan Williams  <dcbw@redhat.com>
3300
3301         Update Fedora system-settings plugin to support latest API and use
3302         GFileMonitor rather than home-rolled inotify code.
3303
3304         * system-settings/plugins/ifcfg-fedora/Makefile.am
3305           system-settings/plugins/ifcfg-fedora/common.h
3306           system-settings/plugins/ifcfg-fedora/plugin.c
3307                 - Update to latest system settings plugin API; use GIO instead of
3308                         custom inotify code; use NMIfcfgConnection objects instead of
3309                         ConnectionData structures tacked onto NMConnection objects
3310
3311         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3312           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3313                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3314                         connections
3315
3316         * system-settings/plugins/ifcfg-fedora/reader.c
3317           system-settings/plugins/ifcfg-fedora/reader.h
3318                 - Move ifcfg parsing bits here from parser.c
3319
3320         * system-settings/plugins/ifcfg-fedora/parser.c
3321           system-settings/plugins/ifcfg-fedora/parser.h
3322                 - Remove; most code moved to reader.c
3323
3324 2008-05-11  Dan Williams  <dcbw@redhat.com>
3325
3326         * configure.in
3327           Makefile.am
3328           gfilemonitor/*
3329                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3330                         implementation, so that the same change monitoring code can be used
3331                         on systems without glib-2.14 (like Fedora 8)
3332
3333         * system-settings/plugins/keyfile/Makefile.am
3334           system-settings/plugins/keyfile/plugin.c
3335           system-settings/plugins/ifcfg-suse/Makefile.am
3336           system-settings/plugins/ifcfg-suse/plugin.c
3337                 - Use private gfilemonitor code if GIO is not present
3338
3339 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3340
3341         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3342         NMExportedConnection's 'update' and 'delete' and return error with
3343         descriptive message.
3344
3345 2008-05-08  Dan Williams  <dcbw@redhat.com>
3346
3347         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3348
3349         * src/nm-gsm-device.c
3350           src/nm-cdma-device.c
3351                 - (real_get_best_auto_connection): implement; allow autoconnection
3352                         to GSM & CDMA devices
3353
3354 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3355
3356         Use PolicyKit to authorize the system settings' AddConnection method
3357         and the system settings connections' Update and Delete methods.
3358         
3359         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3360         (impl_exported_connection_delete, nm_exported_connection_update)
3361         (nm_exported_connection_delete): Return boolean and fill GError
3362         to notify the callers of the reasons why it might have failed.
3363
3364         * libnm-glib/nm-dbus-settings-system.c
3365         (nm_dbus_settings_system_add_connection): Return the error from dbus
3366         call so that the callers can see why it failed.
3367
3368         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3369         signatures.
3370
3371         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3372
3373         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3374         abstract base class that checks PolicyKit permissions.
3375
3376         * system-settings/src/dbus-settings.c:
3377         (impl_settings_add_connection): Check the policy before carring out
3378         the request.
3379
3380         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3381         Inherit from NMSysconfigConnection, check the policies before
3382         allowing updating or removing.
3383
3384         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3385         Inherit from NMSysconfigConnection.
3386
3387         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3388         "Delete" methods with async flag so that the implementations can get
3389         access to DBusGMethodInvocation.
3390
3391         * system-settings/src/dbus-settings.c 
3392         (settings_add_connection_check_privileges): Implement.
3393         (impl_settings_add_connection): Check the privileges before adding a new
3394         connection. Improve error reporting.
3395
3396         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3397         async so that the implementation can access DBusGMethodInvocation.
3398
3399         * configure.in: Check for PolicyKit.
3400
3401         * policy/org.freedesktop.network-manager-settings.system.policy: 
3402         New file.
3403
3404         * policy/Makefile.am: Install the policy file.
3405
3406         * configure.in: Add 'policy' subdir.
3407
3408 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3409
3410         Rewrite the suse system settings plugin.
3411
3412         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3413
3414         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3415
3416         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3417
3418         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3419
3420         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3421
3422         * system-settings/src/main.c (load_plugins): Improve error reporting.
3423
3424         * system-settings/src/sha1.[ch] Add.
3425
3426         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3427
3428 2008-05-07  Dan Williams  <dcbw@redhat.com>
3429
3430         * system-settings/plugins/keyfile/reader.c
3431                 - (read_one_setting_value): handle IP address items separately
3432                 - (read_array_of_uint): read IPv4 DNS option as a string array
3433                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3434                         array
3435
3436         * system-settings/plugins/keyfile/writer.c
3437                 - (write_setting_value): handle IP address items separately
3438                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3439                         not an array of uint, so that it's user-editable
3440                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3441                         arrays, so they are user-editable
3442
3443 2008-05-07  Dan Williams  <dcbw@redhat.com>
3444
3445         * system-settings/plugins/keyfile/Makefile.am
3446                 - Change location of the keyfile plugin settings to
3447                         /etc/NetworkManager/system-connections
3448
3449 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3450
3451         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3452
3453         * system-settings/plugins/keyfile/plugin.c: Work with
3454         NMKeyfileConnections.
3455
3456         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3457         Plugins are supposed to return NMExportedConnections now and handle the
3458         updated(), removed(), and GetSecrets().
3459         Store the internal list of connections in hash table to make it easier
3460         to find duplicates.
3461
3462 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3463
3464         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3465         for multiple IP addresses.
3466
3467 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3468
3469         Patch from André Lemos.
3470
3471         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3472         corruption.
3473
3474 2008-05-06  Dan Williams  <dcbw@redhat.com>
3475
3476         * src/dhcp-manager/nm-dhcp-manager.c
3477                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3478                         NMIP4Config to support multiple IP addresses
3479
3480         * src/NetworkManagerUtils.c
3481                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3482
3483         * src/nm-ip4-config.c
3484           src/nm-ip4-config.h
3485                 - Store a list of IPv4 address/netmask/gateway tuples
3486                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3487                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3488                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3489                    nm_ip4_config_set_address): remove
3490                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3491                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3492                         new functions; handle multiple IPv4 addresses
3493
3494         * src/nm-device.c
3495           src/ppp-manager/nm-ppp-manager.c
3496           src/vpn-manager/nm-vpn-connection.c
3497           src/NetworkManagerPolicy.c
3498           test/nm-tool.c
3499           libnm-glib/libnm-glib-test.c
3500                 - update for changes to NMIP4Config for multiple IPv4 addresses
3501
3502         * src/NetworkManagerSystem.c
3503                 - (nm_system_device_set_ip4_route): don't add the route if any address
3504                         is on the same subnet as the destination
3505                 - (check_one_address): ignore the exact match, just match family and
3506                         interface index
3507                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3508                         an interface
3509                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3510                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3511
3512         * introspection/nm-ip4-config.xml
3513                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3514                 - Add 'addresses' property which is an array of (uuu) tuples of
3515                         address/netmask/gateway
3516
3517         * libnm-util/nm-setting-ip4-config.c
3518                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3519
3520         * libnm-glib/nm-ip4-config.c
3521           libnm-glib/nm-ip4-config.h
3522                 - Handle D-Bus interface changes to support multiple IP addresses
3523
3524 2008-05-06  Dan Williams  <dcbw@redhat.com>
3525
3526         * libnm-util/nm-utils.c
3527           libnm-util/nm-utils.h
3528                 - (nm_utils_ip4_addresses_from_gvalue,
3529                    nm_utils_ip4_addresses_to_gvalue): new functions
3530
3531 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3532
3533         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3534         the returned connection paths.
3535
3536 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3537
3538         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3539         "PropertiesChanged" signal signature.
3540
3541         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3542         defined in nm-dbus-glib-types.h.
3543         Don't register the connection on dbus, we're a proxy class to 
3544         communicate with an already registered connection over dbus.
3545
3546 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3547
3548         Implement new subclasses of NMSettings and NMExportedConnection to make
3549         it easier for the applet to access and modify system settings.
3550
3551         * libnm-glib/nm-dbus-connection.[ch]:
3552         * libnm-glib/nm-dbus-settings.[ch]:
3553         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3554
3555         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3556         bindings and glue.
3557
3558         * include/NetworkManager.h: Define the system settings DBus interface.
3559
3560 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3561
3562         Implement additional C API for exported connections to make them identical
3563         with the DBus API. Change the (list_connections) virtual function to be
3564         more usable from C - instead of requiring implementers to return a GPtrArray
3565         of dbus paths, return a list of connections.
3566
3567         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3568         (nm_settings_list_connections):
3569         (nm_exported_connection_new):
3570         (nm_exported_connection_update):
3571         (nm_exported_connection_delete): Implement.
3572
3573         (impl_settings_list_connections):
3574         (impl_exported_connection_update):
3575         (impl_exported_connection_delete): Use the new public functions to make 
3576         sure the C and dbus interfaces stay in sync.
3577
3578         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3579         connections.
3580
3581 2008-05-02  Dan Williams  <dcbw@redhat.com>
3582
3583         * system-settings/plugins/ifcfg-fedora/plugin.c
3584                 - (dispose): use right unref call on the DBusGConnection
3585
3586 2008-05-02  Dan Williams  <dcbw@redhat.com>
3587
3588         * src/nm-serial-device.c
3589                 - (find_terminator): don't compare the whole line, just the size of the
3590                         terminator, since some modems put stuff after the terminator, like
3591                         "CONNECT 9600"
3592
3593 2008-05-01  Dan Williams  <dcbw@redhat.com>
3594
3595         Patch from Michael Biebl <biebl@debian.org>
3596
3597         * callouts/Makefile.am
3598           callouts/org.freedesktop.nm_dispatcher.service.in
3599           system-settings/src/Makefile.am
3600           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3601                 - use the right install location for dbus-activated stuff
3602
3603 2008-04-30  Dan Williams  <dcbw@redhat.com>
3604
3605         * src/nm-gsm-device.c
3606                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3607                         PIN or PUK
3608
3609 2008-04-30  Dan Williams  <dcbw@redhat.com>
3610
3611         * src/nm-manager.c
3612                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3613
3614 2008-04-30  Dan Williams  <dcbw@redhat.com>
3615
3616         * src/nm-device-802-3-ethernet.c
3617           src/nm-device-802-11-wireless.c
3618                 - (real_is_up): return true instead of chaining up to unimplemented
3619                         parent method
3620
3621 2008-04-30  Dan Williams  <dcbw@redhat.com>
3622
3623         * src/NetworkManagerSystem.c
3624           src/NetworkManagerSystem.h
3625                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3626                         functions to check device flags for IFF_UP
3627
3628         * src/nm-serial-device.c
3629                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3630                         implement is_up
3631
3632         * src/nm-device-802-3-ethernet.c
3633           src/nm-device-802-11-wireless.c
3634                 - (real_hw_is_up): call nm_system_device_is_up()
3635
3636         * src/nm-device.c
3637                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3638                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3639                         does not implement
3640
3641 2008-04-29  Dan Williams  <dcbw@redhat.com>
3642
3643         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3644
3645         * marshallers/nm-marshal.list
3646                 - Add marshaller
3647
3648         * src/NetworkManager.c
3649                 - (main): let the NMManager handle the NMHalManager
3650
3651         * src/nm-hal-manager.c
3652           src/nm-hal-manager.h
3653                 - convert to a GObject, and emit singals when stuff changes.  Let the
3654                         NMManager handle the signals, instead of the NMHalManager calling
3655                         into the NMManager.  
3656
3657         * src/nm-manager.c
3658           src/nm-manager.h
3659                 - (remove_one_device): consolidate device removals here
3660                 - (dispose): use remove_one_device()
3661                 - (nm_manager_get_device_by_udi): make static
3662                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3663                         manager for devices at startup or wakeup time
3664                 - (nm_manager_new): create and monitor the HAL manager
3665                 - (hal_manager_udi_added_cb): new function; do what
3666                         nm_manager_add_device() used to do when signalled by the hal manager
3667                 - (hal_manager_udi_removed_cb): new function; do what
3668                         nm_manager_remove_device() used to do when signalled by the hal
3669                         manager
3670                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3671                         hal manager
3672                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3673                         in our device list that aren't known to HAL
3674                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3675                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3676                         commits ago
3677                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3678                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3679                    nm_manager_wireless_hardware_enabled,
3680                    nm_manager_set_wireless_hardware_enabled): remove, unused
3681
3682 2008-04-28  Dan Williams  <dcbw@redhat.com>
3683
3684         Fix the device up/down ambiguities.  Up/down state used to be a
3685         conglomeration of hardware state (IFF_UP) and any device-specific things
3686         (supplicant, periodic timers, etc) that the device used to indicate
3687         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3688         reason, then the device specific stuff wouldn't get run, and the device
3689         would be stuck.
3690
3691         * src/nm-device.c
3692           src/nm-device.h
3693                 - Create hw_is_up, hw_bring_up, and hw_take_down
3694                 - Rename bring_down -> take_down
3695                 - (real_hw_is_up): check interface flags for IFF_UP
3696                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3697                 - (nm_device_is_up): make static; only used locally
3698                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3699                         if the device is already up; if the device isn't up, bring it up
3700                 - (nm_device_hw_take_down): just take down hardware
3701                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3702                 - (nm_device_take_down): always deactivate device when called; always
3703                         try to take hardware down too
3704                 - (nm_device_state_changed): take device down when entering unmanaged
3705                         state from a higher state
3706
3707         * src/nm-device-802-11-wireless.c
3708                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3709                         check IFF_UP really
3710                 - (real_take_down, supplicant_iface_state_cb_handler, 
3711                    supplicant_iface_connection_state_cb_handler,
3712                    supplicant_mgr_state_cb_handler): fix some messages
3713
3714         * src/nm-device-802-3-ethernet.c
3715                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3716                         check IFF_UP really
3717
3718 2008-04-28  Dan Williams  <dcbw@redhat.com>
3719
3720         * src/nm-manager.c
3721           src/nm-manager.h
3722                 - (nm_manager_error_get_type): add new error
3723                 - (nm_manager_remove_device): don't bother taking down the device here,
3724                         the state change from unmanaging the device will do it
3725                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3726                         uses it; when going to sleep, just unmanage the device instead of
3727                         taking it down, because stuff will cleaned up correctly when the
3728                         device gets unmanaged
3729
3730 2008-04-28  Dan Williams  <dcbw@redhat.com>
3731
3732         * src/nm-hal-manager.c
3733                 - (add_initial_devices): convert to a GSourceFunc prototype
3734                 - (nm_manager_state_changed): when coming out of sleep, punt the
3735                         device re-addition to an idle handler to let D-Bus events go out
3736                         first, fixing a potential dbus-glib assert if the old device was
3737                         not yet disposed (due to references held while emitting the D-Bus
3738                         signals) but the new device was found, because the mainloop didn't
3739                         run between signal emission and add_initial_devices()
3740
3741 2008-04-27  Dan Williams  <dcbw@redhat.com>
3742
3743         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3744
3745         * initscript/paldo/NetworkManager.in
3746           initscript/SUSE/networkmanager.in
3747                 - Remove last bits of dhcdbd
3748
3749 2008-04-27  Dan Williams  <dcbw@redhat.com>
3750
3751         * src/nm-device-802-11-wireless.c
3752                 - (link_timeout_cb): don't ask for secrets when disconnected during
3753                         association/authentication phase, drivers are still just too crappy
3754
3755 2008-04-27  Dan Williams  <dcbw@redhat.com>
3756
3757         * Makefile.am
3758           configure.in
3759           dispatcher-daemon/Makefile.am
3760           dispatcher-daemon/NetworkManagerDispatcher.c
3761           initscript/Arch/Makefile.am
3762           initscript/Arch/networkmanager-dispatcher.in
3763           initscript/Gentoo/Makefile.am
3764           initscript/Gentoo/NetworkManagerDispatcher.in
3765           initscript/Mandriva/Makefile.am
3766           initscript/Mandriva/networkmanagerdispatcher.in
3767           initscript/RedHat/Makefile.am
3768           initscript/RedHat/NetworkManagerDispatcher.in
3769           initscript/SUSE/Makefile.am
3770           initscript/SUSE/networkmanager-dispatcher.in
3771           initscript/Slackware/Makefile.am
3772           initscript/Slackware/rc.networkmanager-dispatcher.in
3773           initscript/paldo/Makefile.am
3774           initscript/paldo/NetworkManagerDispatcher.in
3775           man/Makefile.am
3776           man/NetworkManagerDispatcher.8.in
3777                 - Remove the dispatcher daemon
3778
3779 2008-04-27  Dan Williams  <dcbw@redhat.com>
3780
3781         * callouts/Makefile.am
3782           callouts/nm-dispatcher-action.c
3783           callouts/nm-dispatcher-action.h
3784           callouts/nm-dispatcher.conf
3785           callouts/nm-dispatcher.xml
3786           callouts/org.freedesktop.nm_dispatcher.service
3787                 - Re-implement the dispatcher as a system-bus activated service that
3788                         NM calls on-demand, rather than an always running daemon
3789
3790         * src/Makefile.am
3791                 - Add callouts dir to includes to pick up dispatcher defines
3792
3793         * src/nm-device.c
3794                 - (nm_device_state_changed): call dispatcher on device activated/
3795                         deactivated
3796
3797         * src/vpn-manager/nm-vpn-connection.c
3798                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3799                         go up and down
3800
3801         * src/NetworkManagerUtils.c
3802           src/NetworkManagerUtils.h
3803                 - (nm_utils_call_dispatcher): helper to call dispatcher
3804
3805 2008-04-27  Dan Williams  <dcbw@redhat.com>
3806
3807         * src/NetworkManagerUtils.c
3808           src/NetworkManagerUtils.h
3809                 - remove unneeded includes
3810                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3811                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3812                    nm_timeval_cmp, nm_timeval_add): remove, unused
3813                 - clean up formatting
3814                 - (nm_spawn_process): de-uglify
3815
3816         * src/nm-device-802-11-wireless.c
3817                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3818
3819 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3820
3821         * initscript/Gentoo/NetworkManager.in:
3822                 Fix for starting the daemon.
3823
3824 2008-04-25  Dan Williams  <dcbw@redhat.com>
3825
3826         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3827
3828         * src/NetworkManagerSystem.c
3829                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3830
3831 2008-04-25  Dan Williams  <dcbw@redhat.com>
3832
3833         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3834
3835         * src/NetworkManagerSystem.c
3836                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3837                         implementation of nm_system_device_replace_default_route()
3838
3839         * src/NetworkManagerPolicy.c
3840                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3841
3842         * src/backends/NetworkManagerArch.c
3843           src/backends/NetworkManagerDebian.c
3844           src/backends/NetworkManagerFrugalware.c
3845           src/backends/NetworkManagerGeneric.c
3846           src/backends/NetworkManagerGeneric.h
3847           src/backends/NetworkManagerGentoo.c
3848           src/backends/NetworkManagerMandriva.c
3849           src/backends/NetworkManagerPaldo.c
3850           src/backends/NetworkManagerRedHat.c
3851           src/backends/NetworkManagerSlackware.c
3852           src/backends/NetworkManagerSuSE.c
3853                 - (nm_system_device_replace_default_route): remove
3854
3855 2008-04-25  Dan Williams  <dcbw@redhat.com>
3856
3857         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3858
3859         * src/NetworkManagerSystem.c
3860                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3861                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3862                         replace nm_system_device_add_route_via_device_with_iface() in the
3863                         backends
3864
3865         * src/backends/NetworkManagerArch.c
3866           src/backends/NetworkManagerDebian.c
3867           src/backends/NetworkManagerFrugalware.c
3868           src/backends/NetworkManagerGeneric.c
3869           src/backends/NetworkManagerGeneric.h
3870           src/backends/NetworkManagerGentoo.c
3871           src/backends/NetworkManagerMandriva.c
3872           src/backends/NetworkManagerPaldo.c
3873           src/backends/NetworkManagerRedHat.c
3874           src/backends/NetworkManagerSlackware.c
3875           src/backends/NetworkManagerSuSE.c
3876                 - Remove nm_system_device_add_route_via_device_with_iface()
3877
3878 2008-04-25  Dan Williams  <dcbw@redhat.com>
3879
3880         * system-settings/plugins/ifcfg-fedora/parser.c
3881                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3882
3883 2008-04-24  Dan Williams  <dcbw@redhat.com>
3884
3885         * dispatcher-daemon/NetworkManagerDispatcher.c
3886                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3887
3888 2008-04-24  Dan Williams  <dcbw@redhat.com>
3889
3890         * initscript/RedHat/NetworkManager.in
3891           initscript/RedHat/NetworkManagerDispatcher.in
3892                 - Be active at runlevel 2
3893                 - Adjust priorities earlier
3894
3895 2008-04-22  Dan Williams  <dcbw@redhat.com>
3896
3897         * src/NetworkManagerPolicy.c
3898                 - (update_routing_and_dns): when checking for a gateway, look at the
3899                         composite IP4 config, not the connection's ip4-config setting, which
3900                         doesn't include DHCP-returned information
3901
3902 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3903
3904         Implement GKeyFile system settings plugin.
3905         Implement writing system settings (currently supported only by GKeyFile plugin).
3906
3907         * system-settings/src/main.c: 
3908         * system-settings/src/dbus-settings.c: Move the communication with plugins
3909         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3910         plugins for adding/updating/removing connections.
3911
3912         * system-settings/src/nm-system-config-interface.c
3913         (nm_system_config_interface_add_connection): Implement
3914         (nm_system_config_interface_update_connection): Implement.
3915         (nm_system_config_interface_remove_connection): Implement.
3916
3917         * system-settings/plugins/keyfile/Makefile.am:
3918         * system-settings/plugins/keyfile/plugin.[ch]:
3919         * system-settings/plugins/keyfile/writer.[ch]:
3920         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3921
3922         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3923
3924         * configure.in: Generate GKeyFile Makefile.
3925
3926         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3927         corruption, need to duplicate the returned string.
3928         (impl_exported_connection_update): Implement.
3929         (impl_exported_connection_delete): Implement.
3930
3931         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3932
3933         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3934
3935 2008-04-22  Dan Williams  <dcbw@redhat.com>
3936
3937         Patch from Charles R. Anderson (cra@wpi.edu)
3938
3939         * src/NetworkManagerPolicy.c
3940                 - (update_routing_and_dns): don't select devices without a gateway
3941                         as having the default route (rh #437338)
3942
3943 2008-04-21  Dan Williams  <dcbw@redhat.com>
3944
3945         * src/nm-activation-request.c
3946           src/nm-activation-request.h
3947                 - (dispose): ensure to disconnect from the device's state-changed signal
3948                         when appropriate so the signal doesn't get handled by an already
3949                         disposed NMActRequest
3950                 - (device_state_changed): update is_default here too just to make sure
3951                         default is only True when the child device is activated
3952                 - (nm_act_request_set_default): new function
3953
3954         * src/NetworkManagerPolicy.c
3955                 - (update_routing_and_dns): set 'default' on the active connection which
3956                         has the default route and DNS
3957
3958 2008-04-21  Dan Williams  <dcbw@redhat.com>
3959
3960         * src/NetworkManagerPolicy.c
3961                 - (device_state_changed): update routing and DNS when a device goes
3962                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3963
3964 2008-04-21  Dan Williams  <dcbw@redhat.com>
3965
3966         * include/NetworkManager.h
3967                 - Add NMActiveConnectionState enum
3968
3969         * introspection/nm-active-connection.xml
3970           introspection/nm-vpn-connection.xml
3971                 - Add 'State' property for overall active connection state
3972                 - Add 'Default' property, when True means this active connection
3973                         has the default route
3974                 - Add PropertyChanged signals so changes actually go out over the bus
3975
3976         * src/nm-active-connection.h
3977                 - Add defines for State & Default properties
3978
3979         * src/nm-activation-request.c
3980                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3981                         signal to determine active connection state
3982
3983         * src/vpn-manager/nm-vpn-connection.c
3984           src/vpn-manager/nm-vpn-connection.h
3985           src/vpn-manager/nm-vpn-manager.c
3986           src/vpn-manager/nm-vpn-service.c
3987                 - Rename old 'state' to 'vpn-state'
3988                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3989                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3990                         'vpn-state-changed' signal
3991
3992         * libnm-glib/nm-active-connection.c
3993           libnm-glib/nm-active-connection.h
3994                 - Add new 'state' and 'default' properties and accessors
3995
3996         * libnm-glib/nm-vpn-connection.c
3997           libnm-glib/nm-vpn-connection.h
3998                 - Rename old 'state' property to 'vpn-state'
3999                 - Add new 'state' and 'default' properties and accessors
4000
4001 2008-04-21  Dan Williams  <dcbw@redhat.com>
4002
4003         * src/nm-ip4-config.c
4004                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4005                         not specified (rh #443474)
4006
4007 2008-04-20  Dan Williams  <dcbw@redhat.com>
4008
4009         * src/NetworkManagerUtils.c
4010           src/NetworkManagerUtils.h
4011                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4012                         NMSettingIP4Config to an NMIP4Config object
4013
4014         * src/nm-device.c
4015                 - (merge_ip4_config): move to NetworkManagerUtils.c
4016
4017         * src/vpn-manager/nm-vpn-connection.c
4018                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4019                         too
4020
4021 2008-04-18  Dan Williams  <dcbw@redhat.com>
4022
4023         * libnm-util/nm-setting-ppp.c
4024           libnm-util/nm-setting-ppp.h
4025                 - Add 'no-vj-comp' option for TCP header compression
4026                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4027                         uint32
4028
4029 2008-04-18  Dan Williams  <dcbw@redhat.com>
4030
4031         * libnm-util/nm-setting-ppp.c
4032           libnm-util/nm-setting-ppp.h
4033           src/ppp-manager/nm-ppp-manager.c
4034                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4035
4036 2008-04-18  Dan Williams  <dcbw@redhat.com>
4037
4038         * libnm-util/nm-setting-ppp.c
4039           libnm-util/nm-setting-ppp.h
4040           src/ppp-manager/nm-ppp-manager.c
4041                 - Remove the 'usepeerdns' option and always request DNS servers from
4042                         the PPP server; the connection chooses to use/override/ignore the
4043                         DNS servers returned from the PPP server
4044
4045 2008-04-18  Dan Williams  <dcbw@redhat.com>
4046
4047         * libnm-util/nm-setting-ppp.c
4048           libnm-util/nm-setting-ppp.h
4049           src/ppp-manager/nm-ppp-manager.c
4050                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4051                         it seems to have been an erroneous addition to the PPTP plugin in
4052                         the first place (from which the ppp-manager is derived)
4053
4054 2008-04-17  Dan Williams  <dcbw@redhat.com>
4055
4056         * libnm-util/nm-setting-pppoe.c
4057                 - (verify): require a PPP setting too
4058
4059         * src/ppp-manager/nm-ppp-manager.c
4060                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4061                         segfaulting
4062
4063 2008-04-17  Dan Williams  <dcbw@redhat.com>
4064
4065         * src/nm-device.c
4066                 - (nm_device_state_changed): do deactivation and and promotion to
4067                         unavailable here, so that the device gets cleaned up before the
4068                         manager runs and starts emitting signals; do the
4069                         FAILED->DISCONNECTED transition from an idle handler rather than
4070                         immediately to guard against recursion
4071                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4072                         FAILED->DISCONNECTED handler if it's scheduled
4073
4074 2008-04-17  Dan Williams  <dcbw@redhat.com>
4075
4076         * src/nm-device-802-11-wireless.c
4077                 - (state_changed_cb): clear AP list when device transitions to
4078                         unavailable or unmanaged
4079                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4080                         since this is already done in device_cleanup()
4081                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4082                         isn't available or managed
4083                 - (device_cleanup): use remove_all_aps()
4084                 - (remove_all_aps): consolidate code removing all APs
4085
4086 2008-04-17  Dan Williams  <dcbw@redhat.com>
4087
4088         * src/nm-serial-device.c
4089           src/nm-serial-device.h
4090                 - (wait_for_reply_got_data): break input into lines, and search each
4091                         line for responses _and_ terminator strings; also make sure that
4092                         the read loop doesn't continue after the timeout is supposed to fire
4093                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4094
4095         * src/nm-gsm-device.c
4096           src/nm-cdma-device.c
4097                 - Send terminators to nm_serial_device_wait_for_reply()
4098
4099 2008-04-16  Dan Williams  <dcbw@redhat.com>
4100
4101         Patch from 陈鑫 <znscnchen@gmail.com>
4102
4103         * src/ppp-manager/nm-pppd-plugin.c
4104                 - (get_credentials): return correct value for success; handle case where
4105                         pppd just does some checking but doesn't want a password
4106                 - (plugin_init): make CHAP work too
4107
4108 2008-04-16  Dan Williams  <dcbw@redhat.com>
4109
4110         Patch from 陈鑫 <znscnchen@gmail.com>
4111
4112         * src/ppp-manager/nm-ppp-manager.c
4113                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4114
4115 2008-04-16  Dan Williams  <dcbw@redhat.com>
4116
4117         Patch from 陈鑫 <znscnchen@gmail.com>
4118
4119         * src/nm-device-802-3-ethernet.c
4120                 - (real_deactivate_quickly): clear the IP interface name on
4121                         deactivation, otherwise the wrong interface might get used later
4122                         for routing and IP management
4123
4124 2008-04-15  Dan Williams  <dcbw@redhat.com>
4125
4126         * libnm-glib/nm-device.c
4127                 - (get_product_and_vendor): handle serial devices correctly
4128                 - (nm_device_update_description): pass device to get_product_and_vendor()
4129
4130 2008-04-15  Dan Williams  <dcbw@redhat.com>
4131
4132         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4133
4134         * src/NetworkManagerSystem.h
4135           src/backends/NetworkManagerArch.c
4136           src/backends/NetworkManagerDebian.c
4137           src/backends/NetworkManagerFrugalware.c
4138           src/backends/NetworkManagerGeneric.c
4139           src/backends/NetworkManagerGeneric.h
4140           src/backends/NetworkManagerGentoo.c
4141           src/backends/NetworkManagerMandriva.c
4142           src/backends/NetworkManagerPaldo.c
4143           src/backends/NetworkManagerRedHat.c
4144           src/backends/NetworkManagerSlackware.c
4145           src/backends/NetworkManagerSuSE.c
4146           src/nm-device.c
4147                 - (nm_generic_device_add_ip6_link_address,
4148                    nm_system_device_add_ip6_link_address): remove
4149
4150 2008-04-15  Dan Williams  <dcbw@redhat.com>
4151
4152         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4153
4154         * src/backends/NetworkManagerArch.c
4155           src/backends/NetworkManagerDebian.c
4156           src/backends/NetworkManagerFrugalware.c
4157           src/backends/NetworkManagerGeneric.c
4158           src/backends/NetworkManagerGeneric.h
4159           src/backends/NetworkManagerGentoo.c
4160           src/backends/NetworkManagerMandriva.c
4161           src/backends/NetworkManagerPaldo.c
4162           src/backends/NetworkManagerRedHat.c
4163           src/backends/NetworkManagerSlackware.c
4164           src/backends/NetworkManagerSuSE.c
4165           src/NetworkManagerSystem.h
4166                 - flush_routes -> flush_ip4_routes
4167                 - flush_addresses -> flush_ip4_addresses
4168
4169         * src/NetworkManagerSystem.c
4170           src/nm-device.c
4171           src/vpn-manager/nm-vpn-connection.c
4172                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4173
4174 2008-04-15  Dan Williams  <dcbw@redhat.com>
4175
4176         Remove exposure of wireless-tools mode types in the API.
4177
4178         * include/NetworkManager.h
4179                 - Define NM80211Mode enum
4180
4181         * introspection/generic-types.xml
4182                 - Describe NM_802_11_MODE enum
4183                 - Remove IW_MODE_* enum
4184
4185         * introspection/nm-access-point.xml
4186           libnm-glib/nm-access-point.c
4187           libnm-glib/nm-access-point.h
4188                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4189
4190         * introspection/nm-device-802-11-wireless.xml
4191           libnm-glib/nm-device-802-11-wireless.c
4192           libnm-glib/nm-device-802-11-wireless.h
4193                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4194
4195         * libnm-util/nm-setting-wireless.c
4196           src/NetworkManagerAP.c
4197           src/NetworkManagerAP.h
4198           src/nm-device-802-11-wireless.c
4199           src/nm-device-802-11-wireless.h
4200           test/nm-tool.c
4201                 - Use NM80211Mode not IW_MODE_*
4202
4203 2008-04-15  Dan Williams  <dcbw@redhat.com>
4204
4205         Enhance nm-online based on a patch from Bill Nottingham.
4206
4207         * test/nm-online.c
4208                 - Add a '-q' option
4209                 - Add help messages and option summary
4210                 - Add long-format options
4211                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4212
4213 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4214
4215         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4216
4217         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4218
4219 2008-04-15  Dan Williams  <dcbw@redhat.com>
4220
4221         * nm-setting-ip4-config.c
4222                 - (ip4_addresses_from_gvalue): handle NULL address array
4223
4224         * nm-setting-8021x.c
4225                 - (verify_tls, verify_ttls): warn on failed verification
4226
4227 2008-04-10  Dan Williams  <dcbw@redhat.com>
4228
4229         * src/nm-gsm-device.c
4230                 - (automatic_registration): accept "+CREG: 0,0"
4231                 - (automatic_registration_response): fail on "+CREG: 0,0"
4232
4233 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4234
4235         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4236
4237 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4238
4239         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4240         Make it compile again by commenting out broken code that at first didn't work and
4241         now didn't compile either.
4242
4243 2008-04-08  Dan Williams  <dcbw@redhat.com>
4244
4245         * libnm-glib/nm-object-cache.c
4246           libnm-glib/nm-settings.c
4247           src/dhcp-manager/nm-dhcp-manager.c
4248           system-settings/plugins/ifcfg-fedora/plugin.c
4249           system-settings/plugins/ifcfg-suse/plugin.c
4250           system-settings/src/nm-system-config-hal-manager.c
4251           libnm-util/nm-utils.c
4252                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4253                         not threadsafe anyway
4254
4255 2008-04-08  Dan Williams  <dcbw@redhat.com>
4256
4257         * system-settings/src/main.c
4258                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4259                         callbacks take a device type too
4260
4261 2008-04-08  Dan Williams  <dcbw@redhat.com>
4262
4263         The system settings service will now create a new default DHCP connection
4264         for wired devices that have no existing applicable connection.
4265
4266         * system-settings/src/nm-system-config-hal-manager.c
4267           system-settings/src/nm-system-config-hal-manager.h
4268                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4269
4270         * system-settings/src/dbus-settings.c
4271           system-settings/src/dbus-settings.h
4272                 - (nm_sysconfig_settings_get_connections): new function
4273                 - (nm_sysconfig_settings_is_device_managed): new function
4274
4275         * system-settings/src/main.c
4276                 - (load_stuff): check for wired devices that need a default connection
4277                 - (get_details_for_udi): get interface and MAC address from HAL
4278                 - (add_default_dhcp_connection): add a default connection for a wired
4279                         device if needed
4280                 - (device_added_cb, device_removed_cb): do the right thing with
4281                         wired devices and their default connections on HAL device events
4282
4283 2008-04-07  Dan Williams  <dcbw@redhat.com>
4284
4285         * libnm-glib/nm-device.c
4286           libnm-glib/nm-device.h
4287                 - Proxy the 'managed' property
4288
4289 2008-04-07  Dan Williams  <dcbw@redhat.com>
4290
4291         * src/nm-gsm-device.c
4292           src/nm-cdma-device.c
4293                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4294                         handler to transition to DISCONNECTED
4295
4296 2008-04-07  Dan Williams  <dcbw@redhat.com>
4297
4298         Patch from Bill Nottingham
4299
4300         * dispatcher-daemon/NetworkManagerDispatcher.c
4301                 - ignore backup/packaging crufy (rh #440143)
4302
4303 2008-04-07  Dan Williams  <dcbw@redhat.com>
4304
4305         * include/NetworkManager.h
4306                 - Remove the DOWN and CANCELLED device states
4307                 - Add UNMANAGED and UNAVAILABLE device states
4308                 - Document the device states
4309
4310         * introspection/nm-device.xml
4311           src/nm-device-interface.c
4312           src/nm-device-interface.h
4313                 - Add the 'managed' property
4314
4315         * test/nm-tool.c
4316                 - (detail_device): print out device state
4317
4318         * src/NetworkManagerSystem.h
4319           src/backends/NetworkManagerArch.c
4320           src/backends/NetworkManagerDebian.c
4321           src/backends/NetworkManagerFrugalware.c
4322           src/backends/NetworkManagerGentoo.c
4323           src/backends/NetworkManagerMandriva.c
4324           src/backends/NetworkManagerPaldo.c
4325           src/backends/NetworkManagerRedHat.c
4326           src/backends/NetworkManagerSlackware.c
4327           src/backends/NetworkManagerSuSE.c
4328                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4329                    nm_system_device_free_system_config): remove; they were unused and
4330                         their functionality should be re-implemented in each distro's
4331                         system settings service plugin 
4332
4333         * src/nm-gsm-device.c
4334           src/nm-gsm-device.h
4335           src/nm-cdma-device.c
4336           src/nm-cdma-device.h
4337                 - (*_new): take the 'managed' argument
4338
4339         * src/nm-device.c
4340                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4341                 - (nm_device_init): start in unmanaged state, not disconnected
4342                 - (constructor): don't start device until the system settings service
4343                         has had a chance to figure out if the device is managed or not
4344                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4345                         don't set device state here, let callers handle that as appropriate
4346                 - (nm_device_dispose): don't touch the device if it's not managed
4347                 - (set_property, get_property, nm_device_class_init): implement the
4348                         'managed' property
4349                 - (nm_device_state_changed): bring the device up if its now managed,
4350                         and deactivate it if it used to be active
4351                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4352                         with the managed state
4353
4354         * src/nm-hal-manager.c
4355                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4356                         take initial managed state and pass it along to device constructors
4357                 - (create_device_and_add_to_list): get managed state and pass to
4358                         type creators
4359
4360         * src/nm-device-802-11-wireless.c
4361                 - (real_can_activate): fold in most of
4362                         nm_device_802_11_wireless_can_activate()
4363                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4364                 - (link_timeout_cb): instead of deactivating, change device state and
4365                         let the device state handler to it
4366                 - (real_update_hw_address): clean up
4367                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4368                         handler to transition to DISCONNECTED if the device isn't rfkilled
4369
4370         * src/nm-device-802-3-ethernet.c
4371                 - (set_carrier): move above callers and get rid of prototype
4372                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4373                         idle handler to transition to DISCONNECTED if the device has a
4374                         carrier
4375                 - (real_update_hw_address): clean up
4376                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4377                         deactivation directly as deactivation doesn't change state anymore
4378
4379         * src/NetworkManagerPolicy.c
4380                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4381                         the NMManager and wireless devices work that out themselves now
4382                 - (device_state_changed): change to a switch and update for new device
4383                         states
4384                 - (device_carrier_changed): remove; device handles this now through
4385                         state changes
4386                 - (device_added): don't care about carrier any more; the initial
4387                         activation check will happen when the device transitions to
4388                         DISCONNECTED
4389
4390         * src/nm-manager.c
4391                 - (dispose): clear unmanaged devices
4392                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4393                         the managed property on each device when needed
4394                 - (system_settings_properties_changed_cb): handle signals from the
4395                         system settings service
4396                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4397                         getting the unmanaged device list method call
4398                 - (query_unmanaged_devices): ask the system settings service for its
4399                         list of unmanaged devices
4400                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4401                         devices
4402                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4403                         devices directly and let them handle the necessary state transitions
4404                 - (manager_device_state_changed): update for new device states
4405                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4406                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4407                 - (nm_manager_activate_connection): return error if the device is
4408                         unmanaged
4409                 - (nm_manager_sleep): handle new device states correctly; don't change
4410                         the state of unavailable/unmanaged devices
4411
4412         * libnm-glib/nm-device-802-11-wireless.c
4413                 - (state_changed_cb): update for new device states
4414
4415 2008-04-07  Dan Williams  <dcbw@redhat.com>
4416
4417         * marshallers/nm-marshal.list
4418                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4419
4420 2008-04-07  Dan Williams  <dcbw@redhat.com>
4421
4422         * system-settings/src/main.c
4423                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4424                         plugins to the dbus settings object
4425                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4426                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4427                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4428                 - (main): switch default logging to syslog with a 'debug' option to
4429                         output to console; start up the HAL manager
4430
4431 2008-04-07  Dan Williams  <dcbw@redhat.com>
4432
4433         * introspection/nm-settings-system.xml
4434           introspection/Makefile.am
4435                 - Define the unmanaged devices interface for the system settings service
4436
4437         * system-settings/src/nm-system-config-hal-manager.c
4438           system-settings/src/nm-system-config-hal-manager.h
4439           system-settings/src/nm-system-config-hal-manager-private.h
4440           system-settings/src/Makefile.am
4441                 - Add a lightweight HAL manager object for tracking network devices for
4442                         the purpose of determining unmanaged devices and which devices need
4443                         the default DHCP connections
4444
4445         * system-settings/src/nm-system-config-interface.c
4446           system-settings/src/nm-system-config-interface.h
4447                 - (nm_system_config_interface_init): add the HAL manager as an argument
4448                 - (nm_system_config_interface_get_unmanaged_devices): implement
4449                 - Define 'unmanaged-devices-changed' signal
4450
4451         * system-settings/src/dbus-settings.c
4452           system-settings/src/dbus-settings.h
4453                 - Implement the unmanaged devices interface; some cleanups
4454
4455         * system-settings/plugins/ifcfg-suse/plugin.c
4456                 - Fixup for plugin interface changes
4457
4458         * system-settings/plugins/ifcfg-fedora/plugin.c
4459                 - (get_ether_device_udi): new function; find the device that has
4460                         a specified MAC address and return its UDI
4461                 - (get_udi_for_connection): new function; try to find the specific
4462                         device a connection is locked to, if any
4463                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4464                         response to HAL events
4465                 - (get_unmanaged_devices): new function; return unmanaged device list
4466                 - (build_one_connection): set the connection's locked device, if any
4467                 - (write_auto_wired_connection): remove
4468                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4469                 - (handle_connection_changed): alert listeners that the unmanaged device
4470                         list has changed
4471                 - (init): fixup for plugin interface changes, implement unmanaged devices
4472
4473         * system-settings/plugins/ifcfg-fedora/parser.c
4474           system-settings/plugins/ifcfg-fedora/parser.h
4475                 - (connection_data_free): clean up connection UDI
4476
4477 2008-04-07  Dan Williams  <dcbw@redhat.com>
4478
4479         * system-settings/plugins/ifcfg-fedora/parser.c
4480                 - (make_ip4_setting): fix parsing of DNS servers
4481
4482 2008-04-05  Dan Williams  <dcbw@redhat.com>
4483
4484         * Makefile.am
4485           configure.in
4486           marshallers/Makefile.am
4487           marshallers/nm-marshal-main.c
4488           marshallers/nm-marshal.list
4489                 - Consolidate marshallers
4490
4491         * libnm-glib/nm-marshal-main.c
4492           libnm-glib/nm-marshal.list
4493           src/marshallers/Makefile.am
4494           src/marshallers/nm-marshal-main.c
4495           src/marshallers/nm-marshal.list
4496                 - Remove
4497
4498         * libnm-glib/Makefile.am
4499           src/Makefile.am
4500           src/dhcp-manager/Makefile.am
4501           src/ppp-manager/Makefile.am
4502           src/supplicant-manager/Makefile.am
4503           src/vpn-manager/Makefile.am
4504                 - Use consolidated marshallers
4505
4506 2008-04-04  Dan Williams  <dcbw@redhat.com>
4507
4508         * src/nm-hal-manager.c
4509           src/nm-hal-manager.h
4510                 - (hal_init): don't look for hardware here
4511                 - (nm_hal_manager_start): new function; look for hardware here instead,
4512                         which can be done at a later time than hal_init()
4513
4514         * src/NetworkManager.c
4515                 - (main): start HAL manager after entering the main loop
4516
4517 2008-04-03  Dan Williams  <dcbw@redhat.com>
4518
4519         * libnm-glib/nm-settings.c
4520           libnm-glib/nm-settings.h
4521             - (nm_exported_connection_get_id): new function
4522                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4523
4524 2008-04-02  Dan Williams  <dcbw@redhat.com>
4525
4526         * src/nm-device-interface.c
4527           src/nm-device-interface.h
4528           src/nm-device.c
4529           src/nm-device.h
4530                 - Rename check_connection_conflicts() to check_connection_compatible()
4531
4532         * src/nm-device-802-11-wireless.c
4533                 - (real_check_connection_conflicts): remove
4534                 - (real_check_connection_compatible): implement; match MAC address
4535
4536         * src/nm-device-802-3-ethernet.c
4537                 - (real_check_connection_conflicts): remove
4538                 - (real_check_connection_compatible): implement; match MAC address
4539                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4540
4541         * src/nm-manager.c
4542                 - (check_connection_allowed): remove; unused until PolicyKit integration
4543                 - (internal_activate_device): check whether the connection is compatible
4544                         with the device before trying to activate it
4545
4546 2008-04-02  Dan Williams  <dcbw@redhat.com>
4547
4548         * system-settings/plugins/ifcfg-fedora/parser.c
4549                 - (read_mac_address): new function; read in MAC address and stuff it
4550                         into the connection
4551                 - (add_one_wep_key): remove debug spew
4552                 - (make_wireless_security_setting): validate the default TX key; don't
4553                         add the wireless-security setting if the connection doesn't need
4554                         security; don't leak the keys shvarFile on error cases
4555                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4556                         address
4557
4558 2008-04-02  Dan Williams  <dcbw@redhat.com>
4559
4560         * libnm-util/nm-setting-connection.c
4561           libnm-util/nm-setting-connection.h
4562                 - (set_property, get_property, nm_setting_connection_class_init): remove
4563                         the 'lockdown' property; it's functionality will be replaced by
4564                         PolicyKit instead
4565
4566 2008-04-01  Dan Williams  <dcbw@redhat.com>
4567
4568         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4569
4570         * configure.in
4571           initscript/Makefile.am
4572           initscript/Mandriva/Makefile.am
4573           initscript/Mandriva/networkmanager.in
4574           initscript/Mandriva/networkmanagerdispatcher.in
4575           src/backends/Makefile.am
4576           src/backends/NetworkManagerMandriva.c
4577           system-settings/plugins/Makefile.am
4578                 - Add Mandriva support
4579
4580 2008-03-31  Dan Williams  <dcbw@redhat.com>
4581
4582         * src/vpn-manager/nm-vpn-service.c
4583                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4584                         errors can be passed back to the caller; also no longer scheduled
4585                         as an idle handler, but called directly; and bump up VPN service
4586                         spawn timeout, 2s is really short
4587                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4588                         but call it directly so that errors are reported on return from
4589                         ActivateConnection() and don't get lost.  If scheduled as an idle
4590                         handler, clients don't have the time to query NM for the new VPN
4591                         connection's properties before the VPN connection is torn down again
4592                         if the service couldn't be launched, and therefore launch errors
4593                         get lost.
4594
4595 2008-03-31  Dan Williams  <dcbw@redhat.com>
4596
4597         * src/vpn-manager/nm-vpn-connection.c
4598                 - (device_state_changed): send correct state on device failure too
4599                 - (plugin_state_changed): failed state means unexpected disconnection,
4600                         thus if the service goes away while the VPN connection is activated
4601                         that's a failure too
4602
4603 2008-03-31  Dan Williams  <dcbw@redhat.com>
4604
4605         * src/vpn-manager/nm-vpn-manager.c
4606           src/vpn-manager/nm-vpn-manager.h
4607                 - Make VPNManager errors more available; add a service-start-failed error
4608
4609 2008-03-31  Dan Williams  <dcbw@redhat.com>
4610
4611         * libnm-glib/nm-client.c
4612           libnm-glib/nm-client.h
4613                 - (activate_cb): pass the new active connection to callback; fix
4614                         message when no callback is specified
4615
4616 2008-03-30  Dan Williams  <dcbw@redhat.com>
4617
4618         * libnm-util/nm-setting-wireless-security.c
4619                 - (need_secrets): only require key0 if the transmit key index is also
4620                         0
4621                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4622
4623 2008-03-29  Dan Williams  <dcbw@redhat.com>
4624
4625         * libnm-util/nm-setting-8021x.c
4626           libnm-util/nm-setting-ip4-config.c
4627           libnm-util/nm-setting-vpn-properties.c
4628           libnm-util/nm-setting-vpn.c
4629           libnm-util/nm-setting-wireless-security.c
4630           libnm-util/nm-setting-wireless.c
4631           libnm-util/nm-utils.c
4632           src/dhcp-manager/nm-dhcp-manager.c
4633           src/nm-activation-request.c
4634           src/nm-ip4-config.c
4635           src/nm-manager.c
4636           src/nm-properties-changed-signal.c
4637           src/ppp-manager/nm-pppd-plugin.c
4638           src/supplicant-manager/nm-supplicant-interface.c
4639           src/vpn-manager/nm-vpn-connection.c
4640                 - consistently use nm-dbus-glib-types.h
4641
4642 2008-03-29  Dan Williams  <dcbw@redhat.com>
4643
4644         * src/vpn-manager/nm-vpn-connection.c
4645                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4646                         not string
4647
4648         * src/nm-activation-request.c
4649                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4650                         not string
4651
4652 2008-03-29  Dan Williams  <dcbw@redhat.com>
4653
4654         * libnm-glib/nm-device-802-11-wireless.c
4655                 - (access_point_added_proxy): create new APs if not found
4656
4657 2008-03-29  Dan Williams  <dcbw@redhat.com>
4658
4659         * libnm-glib/nm-client.c
4660                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4661                         before freeing them
4662
4663 2008-03-29  Dan Williams  <dcbw@redhat.com>
4664
4665         * system-settings/plugins/ifcfg-fedora/parser.c
4666                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4667                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4668
4669 2008-03-29  Dan Williams  <dcbw@redhat.com>
4670
4671         * system-settings/plugins/ifcfg-fedora/parser.c
4672                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4673
4674 2008-03-27  Dan Williams  <dcbw@redhat.com>
4675
4676         * nm-object.c
4677                 - (nm_object_queue_notify): don't notify multiple times for the same
4678                         property
4679
4680         * nm-object-private.h
4681                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4682                         if it has zero elements
4683
4684         * nm-ip4-config.c
4685                 - (finalize): use g_ptr_array_foreach() when freeing domains
4686                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4687
4688         * nm-active-connection.c
4689                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4690
4691         * nm-device-802-11-wireless.c
4692           nm-device-802-11-wireless.h
4693                 - (nm_device_802_11_wireless_get_access_points): return const; use
4694                         handle_ptr_array_return()
4695
4696         * nm-types.c
4697                 - (nm_object_array_demarshal): always create an array, even of length
4698                         zero, to distinguish between "NM returned no items" and "haven't
4699                         asked NM yet"
4700
4701         * nm-client.c
4702                 - (dispose): free active connections too
4703                 - (proxy_name_owner_changed): free active connections too when NM goes
4704                         away
4705                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4706                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4707
4708 2008-03-26  Dan Williams  <dcbw@redhat.com>
4709
4710         Rework VPN connection handling for a more consistent D-Bus API.  The
4711         VPNManager object has been removed, and active VPN connections are now the
4712         same as any other active connection.  The Manager object's ActivateConnection
4713         and DeactivateConnection methods are used to start and stop a VPN connection,
4714         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4715         When activating a VPN connection, pass the path of the active connection
4716         to which the VPN connection is tied in the 'specific_object' argument.
4717
4718         Consequently, the libnm-glib API has been reworked to match this arrangement,
4719         with the VPNManager object removed, and the NMVPNConnection objects now
4720         being subclasses of NMActiveConnection.
4721
4722 2008-03-25  Dan Williams  <dcbw@redhat.com>
4723
4724         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4725
4726         * initscript/Arch/networkmanager.in
4727           initscript/Arch/networkmanager-dispatcher.in
4728                 - Updates for Arch Linux (gnome.org #523701)
4729
4730 2008-03-25  Dan Williams  <dcbw@redhat.com>
4731
4732         * libnm-glib/nm-ip4-config.c
4733           libnm-glib/nm-active-connection.c
4734           libnm-glib/nm-access-point.c
4735                 - Use nm_object_queue_notify() instead of g_object_notify()
4736
4737         * libnm-glib/nm-device.c
4738                 - (demarshal_ip4_config): distinguish between successful but missing
4739                         ip4-config request, and unsuccessful and missing ip4-config request
4740                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4741                         path
4742                 - Use nm_object_queue_notify() instead of g_object_notify()
4743
4744         * libnm-glib/nm-device-802-11-wireless.c
4745                 - (demarshal_active_ap): distinguish between successfull but missing
4746                         active-ap request, and unsuccessful and missing active-ap request
4747                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4748                         code
4749                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4750                         for the NMClient to notify the device that wireless is disabled,
4751                         and therefore to clear the AP list and active AP
4752                 - Use nm_object_queue_notify() instead of g_object_notify()
4753
4754         * libnm-glib/nm-client.c
4755                 - (poke_wireless_devices_with_rf_status): new function
4756                 - (update_wireless_status): notify wireless devices of the rfkill status
4757                         so they can clean up if needed
4758                 - Use nm_object_queue_notify() instead of g_object_notify()
4759
4760 2008-03-25  Dan Williams  <dcbw@redhat.com>
4761
4762         * libnm-glib/nm-object.c
4763           libnm-glib/nm-object-private.h
4764                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4765                         signals to an idle handler
4766                 - (nm_object_get_property): add a timeout to the D-Bus method call
4767
4768 2008-03-25  Dan Williams  <dcbw@redhat.com>
4769
4770         * introspection/nm-device-cdma.xml
4771           introspection/nm-device-gsm.xml
4772           introspection/Makefile.am
4773           introspection/all.xml
4774                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4775
4776         * src/nm-gsm-device.h
4777           src/nm-gsm-device.c
4778           src/nm-cdma-device.h
4779           src/nm-cdma-device.c
4780           src/Makefile.am
4781                 - Implement PropertiesChanged signals
4782
4783         * libnm-glib/nm-cdma-device.c
4784           libnm-glib/nm-cdma-device.c
4785                 - Attach to PropertiesChanged signals
4786
4787 2008-03-24  Dan Williams  <dcbw@redhat.com>
4788
4789         * libnm-glib/nm-client.c
4790                 - (client_device_added_proxy): add new devices to the internal device
4791                         list so they appear to clients
4792
4793 2008-03-24  Dan Williams  <dcbw@redhat.com>
4794
4795         Massive fixup of libnm-glib to:
4796         a) have all objects (with the exception of VPN) cache their properties and
4797                 update them asynchronously on PropertiesChanged signals from NM
4798         b) return internal const data for most attributes/properties instead of
4799                 allocated values that the caller must free
4800         c) cache wrapped objects such that a given D-Bus path will always map to the
4801                 same GObject returned by libnm-glib
4802         d) remove a few signals and move them to GObject property notifications
4803         e) match recent NM D-Bus API changes for activation/deactivation
4804         f) remove some private functions from libnm-glib headers
4805
4806 2008-03-20  Dan Williams  <dcbw@redhat.com>
4807
4808         * src/nm-manager.c
4809                 - (nm_manager_update_state, manager_device_state_changed,
4810                    nm_manager_activate_device, connection_added_default_handler,
4811                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4812                         queue PropertyChanged singals when the active connections change
4813
4814 2008-03-20  Dan Williams  <dcbw@redhat.com>
4815
4816         * introspection/nm-manager.xml
4817           introspection/nm-manager-client.xml
4818                 - (ActivateConnection): return the object path of the active connection
4819                         on success
4820                 - (GetActiveConnections): remove
4821                 - (DeactivateConnection): new function; deactivate a currently active
4822                         connection
4823                 - Add an ActiveConnections property which returns an array of
4824                         active connection object paths
4825
4826         * introspection/nm-device.xml
4827                 - (Deactivate): remove
4828
4829         * introspection/all.xml
4830                 - Add ActiveConnection introspection
4831
4832         * introspection/nm-active-connection.xml
4833                 - Add the ActiveConnection object
4834
4835         * include/NetworkManager.h
4836                 - Add the Connection.Active D-Bus interface
4837
4838         * src/nm-device-interface.c
4839                 - (impl_device_deactivate): remove
4840
4841         * src/nm-activation-request.c
4842           src/nm-activation-request.c
4843           src/Makefile.am
4844                 - Implement the Connection.Active D-Bus interface
4845
4846         * src/nm-manager.c
4847                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4848                 - (nm_manager_activate_device): return the active connection path
4849                 - (connection_added_default_handler, impl_manager_activate_connection):
4850                         return the active connection to the caller
4851                 - (add_one_connection_element, impl_manager_get_active_connections):
4852                         remove
4853                 - (impl_manager_deactivate_connection): new function; deactivate an
4854                         active connection
4855
4856         * libnm-glib/nm-device.c
4857           libnm-glib/nm-device.h
4858                 - Remove Deactivate() function
4859
4860 2008-03-19  Dan Williams  <dcbw@redhat.com>
4861
4862         * introspection/nm-manager.xml
4863           introspection/nm-manager-client.xml
4864                 - Rename the ActivateDevice method to ActivateConnection to better
4865                         reflect it's usage; it's arguments get reordered a bit too
4866                 - Convert GetActiveConnections method return from a struct to a dict
4867
4868         * include/NetworkManager.h
4869                 - Define the dict keys for return value of GetActiveConnections
4870
4871         * src/nm-manager.c
4872                 - impl_manager_activate_device -> impl_manager_activate_connection
4873                 - (add_one_connection_element): return a populated hash table, not
4874                         a structure
4875
4876         * libnm-glib/nm-client.c
4877           libnm-glib/nm-client.h
4878                 - nm_client_activate_device -> nm_client_activate_connection
4879                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4880                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4881                         instead of the custom structures.  Each element of the returned list
4882                         must be freed with nm_client_free_active_connections_element()
4883
4884 2008-03-18  Dan Williams  <dcbw@redhat.com>
4885
4886         * system-settings/plugins/ifcfg-fedora/parser.c
4887           system-settings/plugins/ifcfg-fedora/parser.h
4888           system-settings/plugins/ifcfg-fedora/plugin.c
4889                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4890                         profiles.  DNS servers and searches must now be stored in the ifcfg
4891                         files themselves
4892
4893 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4894
4895         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4896         print out username and password, it's supposed to be a secret.
4897
4898         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4899         request and set the device state accordingly.
4900
4901 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4902
4903         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4904
4905         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4906
4907 2008-03-18  Dan Williams  <dcbw@redhat.com>
4908
4909         * src/vpn-manager/nm-vpn-connection.c
4910                 - (get_secrets_cb): handle new GetSecrets return format
4911
4912 2008-03-18  Dan Williams  <dcbw@redhat.com>
4913
4914         Adapt system settings service for split 802.1x.
4915
4916         * system-settings/src/nm-system-config-interface.h
4917                 - clarify return value of get_secrets()
4918
4919         * system-settings/src/dbus-settings.c
4920                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4921                 - (check_for_secrets): check if there actually secrets returned by a
4922                         plugin
4923                 - (exported_connection_get_secrets): just return the plugin-returned
4924                         hash of settings' secrets if it looks valid
4925
4926         * system-settings/plugins/ifcfg-fedora/plugin.c
4927                 - (get_secrets): add split secrets with correct format to reply hash
4928
4929         * system-settings/plugins/ifcfg-fedora/parser.c
4930           system-settings/plugins/ifcfg-fedora/parser.h
4931                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4932                    connection_data_free, connection_data_add): keep secrets for
4933                         different settings in different hashes
4934
4935 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4936
4937         Clean up activating device deactivation.
4938
4939         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4940         should be done whether the device activation gets cancelled or the device
4941         is just getting deactivated.
4942         (nm_device_activation_cancel): Remove.
4943         (nm_device_deactivate_quickly): Handle the case where device is activating.
4944
4945         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4946         It does the exact same thing as real_deactivate_quickly().
4947
4948 2008-03-17  Dan Williams  <dcbw@redhat.com>
4949
4950         Split the 802.1x bits out of the wireless-security setting so they are
4951         generalized enough for wired 802.1x to use too.
4952
4953         * introspection/nm-exported-connection.xml
4954                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4955                         of just a hash of the secrets for one setting
4956
4957         * libnm-util/nm-setting-wireless-security.c
4958           libnm-util/nm-setting-wireless-security.h
4959                 - Remove 802.1x-specific stuff
4960                 - Added leap-username and leap-password properties for old-school LEAP
4961
4962         * src/nm-device.c
4963           src/nm-device.h
4964                 - (connection_secrets_updated_cb): take a list of updated settings names,
4965                         not just one
4966
4967         * src/supplicant-manager/nm-supplicant-config.c
4968           src/supplicant-manager/nm-supplicant-config.h
4969                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4970                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4971                         to nm_supplicant_config_add_setting_8021x()
4972                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4973                         the supplicant config
4974
4975         * src/nm-device-802-11-wireless.c
4976                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4977                 - (real_connection_secrets_updated): take a list of updated settings
4978                         names, not just one
4979
4980         * src/nm-device-802-3-ethernet.c
4981           src/nm-cdma-device.c
4982           src/nm-gsm-device.c
4983                 - (real_connection_secrets_updated_cb): take a list of updated settings
4984                         names, not just one
4985
4986         * src/nm-activation-request.c
4987           src/nm-activation-request.h
4988                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4989                         now passes a list of updated settings names, not just one
4990                 - (update_one_setting): new function; handle one updated setting
4991                 - (get_secrets_cb): handle multiple settings returned from the
4992                         settings service; have to be careful of ordering here as there are
4993                         some dependencies between settings (ex. wireless-security and 802.1x
4994                         in some cases)
4995
4996         * src/marshallers/nm-marshal.list
4997                 - new marshaller for connection-secrets-updated signal
4998
4999         * libnm-util/nm-setting-8021x.c
5000                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5001                         methods
5002                 - (verify): a valid 'eap' property is now required
5003
5004         * libnm-util/nm-connection.c
5005                 - (register_default_settings): add priorities to settings; there are
5006                         some dependencies between settings, and during the need_secrets
5007                         calls this priority needs to be respected.  For example, only the
5008                         wireless-security setting knows whether or not the connection is
5009                         going to use 802.1x or now, so it must be asked for secrets before
5010                         any existing 802.1x setting is
5011                 - (nm_connection_lookup_setting_type): expose
5012
5013         * libnm-util/nm-setting-wireless.c
5014                 - (verify): should verify even if all_settings is NULL; otherwise won't
5015                         catch the case where there is missing security
5016
5017         * libnm-util/nm-setting-wireless-security.c
5018                 - Remove everything to do with 802.1x
5019                 - Add old-school LEAP specific properties for username and password
5020                 - (need_secrets): rework LEAP secrets checking
5021                 - (verify): rework for LEAP and 802.1x verification
5022
5023 2008-03-17  Dan Williams  <dcbw@redhat.com>
5024
5025         * src/NetworkManagerPolicy.c
5026                 - (auto_activate_device): always remove the current activation check
5027                         from the pending activation list, otherwise when the policy gets
5028                         destroyed on NM exit it will attempt to free the already freed
5029                         activation check
5030
5031 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5032
5033         * src/backends/NetworkManagerSlackware.c 
5034         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5035
5036         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5037
5038 2008-03-14  Dan Williams  <dcbw@redhat.com>
5039
5040         * src/nm-manager.c
5041                 - (nm_device_interface_get_iface): g_object_get() will return an
5042                         allocated value, so this function must not return const
5043                 - (nm_device_interface_activate): free returned iface
5044
5045 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5046
5047         * libnm-util/Makefile.am: Add new files to build.
5048
5049         * libnm-util/nm-connection.c: Register NMSetting8021x.
5050
5051         * libnm-util/nm-setting-8021x.c
5052         * libnm-util/nm-setting-8021x.h: Implement.
5053
5054 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5055
5056         * libnm-util/Makefile.am: Add new files to build.
5057
5058         * libnm-util/nm-connection.c: Register NMSetting8021x.
5059
5060         * libnm-util/nm-setting-8021x.c
5061         * libnm-util/nm-setting-8021x.h: Implement.
5062
5063 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5064
5065         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5066         data.
5067
5068 2008-03-14  Dan Williams  <dcbw@redhat.com>
5069
5070         * include/wireless-helper.h
5071           include/Makefile.am
5072                 - One place for all the junk needed for #including wireless.h
5073
5074         * test/nm-tool.c
5075           src/NetworkManagerAP.c
5076           src/wpa.c
5077           src/Makefile.am
5078           libnm-util/nm-utils.c
5079           libnm-util/nm-setting-wireless.c
5080           libnm-glib/nm-device-802-11-wireless.c
5081           libnm-glib/nm-access-point.c
5082           libnm-glib/libnm-glib-test.c
5083                 - include wireless-helper.h, not iwlib.h
5084
5085         * configure.in
5086                 - Don't need libiw really, just need to check for wireless.h
5087
5088         * src/kernel-types.h
5089                 - Remove; used types moved into wpa.c
5090
5091         * src/nm-device-802-11-wireless.c
5092                 - (nm_device_802_11_wireless_update_signal_strength,
5093                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5094                    nm_device_802_11_wireless_set_mode,
5095                    nm_device_802_11_wireless_get_frequency,
5096                    nm_device_802_11_wireless_get_ssid,
5097                    nm_device_802_11_wireless_set_ssid,
5098                    nm_device_802_11_wireless_get_bitrate,
5099                    nm_device_802_11_wireless_get_bssid,
5100                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5101                         instead of iwlib functions
5102
5103 2008-03-14  Dan Williams  <dcbw@redhat.com>
5104
5105         * src/ppp-manager/nm-ppp-manager.c
5106                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5107                         should only take the DBusGMethodInvocation argument, not user/pass
5108                         too.  With dbus-glib, async functions only take 2 C arguments since
5109                         the real dbus method arguments get passed back with
5110                         dbus_g_method_return()
5111
5112 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5113
5114         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5115         Adapt the changes of NMSettingIP4Config.
5116
5117 2008-03-13  Dan Williams  <dcbw@redhat.com>
5118
5119         * src/NetworkManagerUtils.c
5120           src/NetworkManagerUtils.h
5121                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5122
5123         * src/NetworkManagerAP.c
5124           src/nm-device-802-11-wireless.c
5125           src/nm-device-802-3-ethernet.c
5126                 - s/iw_ether_ntop/nm_ether_ntop/g
5127
5128 2008-03-13  Dan Williams  <dcbw@redhat.com>
5129
5130         * src/NetworkManagerPolicy.c
5131                 - (update_routing_and_dns): never set the default route through an
5132                         IPv4LL addressed device
5133
5134 2008-03-13  Dan Williams  <dcbw@redhat.com>
5135
5136         * NetworkManagerUtils.c
5137           NetworkManagerUtils.h
5138                 - Remove NMSock stuff
5139                 - Remove the completion stuff
5140
5141         * nm-device.c
5142           nm-device.h
5143           NetworkManager.c
5144           NetworkManagerSystem.c
5145           autoip.c
5146           nm-device-802-11-wireless.c
5147           nm-device-802-3-ethernet.c
5148                 - Remove NMSock and completion stuff
5149                 - Remove nm_ioctl_info()
5150
5151 2008-03-12  Dan Williams  <dcbw@redhat.com>
5152
5153         * src/nm-device.c
5154                 - (merge_ip4_config): avoid duplicates
5155
5156 2008-03-12  Dan Williams  <dcbw@redhat.com>
5157
5158         * libnm-util/nm-setting-ip4-config.c
5159           libnm-util/nm-setting-ip4-config.h
5160                 - Remove 'manual' and 'autoip' properties
5161                 - Add 'method' property
5162                 - (verify): fix verification with 'method'
5163                 - (finalize): free 'method'
5164                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5165                         up for 'method'
5166
5167         * src/nm-device.c
5168                 - (real_act_stage3_ip_config_start): check IP4Config method
5169                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5170                         the future
5171                 - (merge_ip4_config): IP settings are valid with DHCP too
5172                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5173                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5174
5175         * src/nm-device-802-11-wireless.c
5176                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5177                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5178                         only on demand
5179
5180         * system-settings/plugins/ifcfg-fedora/parser.c
5181           system-settings/plugins/ifcfg-suse/parser.c
5182                 - (make_ip4_setting): fix up for 'method'
5183
5184 2008-03-12  Dan Williams  <dcbw@redhat.com>
5185
5186         * system-settings/plugins/ifcfg-fedora/parser.c
5187           system-settings/plugins/ifcfg-fedora/parser.h
5188                 - (get_ifcfg_name): ignore more file suffixes
5189                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5190
5191 2008-03-12  Dan Williams  <dcbw@redhat.com>
5192
5193         * configure.in
5194                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5195
5196 2008-03-12  Dan Williams  <dcbw@redhat.com>
5197
5198         * system-settings/plugins/ifcfg-fedora/plugin.c
5199                 - (write_auto_wired_connection): new function; write out an auto
5200                         wired connection file since the applet isn't doing it any more
5201                 - (reload_all_connections): write out the auto wired connection file
5202                         if there aren't any wired connections already
5203                 - (init): don't leak a GError
5204
5205 2008-03-12  Dan Williams  <dcbw@redhat.com>
5206
5207         * src/nm-device-interface.c
5208                 - (nm_device_interface_activate): print the ID of the connection
5209                         that's about to be activated
5210
5211 2008-03-12  Dan Williams  <dcbw@redhat.com>
5212
5213         Harmonize the 802.11 bitrate API
5214
5215         * introspection/nm-access-point.xml
5216                 - 'Rate' -> 'MaxBitrate'; clarify units
5217
5218         * introspection/nm-device-802-11-wireless.xml
5219                 - Clarify units of 'Bitrate'
5220
5221         * src/NetworkManagerAP.c
5222           src/NetworkManagerAP.h
5223                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5224                         property to 'max-bitrate'
5225                 - (foreach_property_cb): convert rate to Kb/s
5226
5227         * src/nm-device-802-11-wireless.c
5228                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5229
5230         * libnm-glib/nm-access-point.c
5231           libnm-glib/nm-access-point.h
5232                 - 'rate' -> 'max-bitrate'
5233
5234         * test/nm-tool.c
5235           libnm-glib/libnm-glib-test.c
5236                 - Fix up for these changes
5237
5238 2008-03-12  Dan Williams  <dcbw@redhat.com>
5239
5240         * src/nm-device.c
5241                 - (nm_device_set_ip4_config): don't send property notifications when
5242                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5243                         which dbus-glib can't parse because the value is NULL, which isn't
5244                         a legal object path.  Setting the IP4 config to NULL is only
5245                         valid when deactivating a device anyway, so the device state change
5246                         will alert listeners that the ip4 config is invalid.
5247
5248 2008-03-12  Dan Williams  <dcbw@redhat.com>
5249
5250         * src/nm-properties-changed-signal.c
5251                 - (add_to_string): better handling of NULL objects
5252
5253 2008-03-12  Dan Williams  <dcbw@redhat.com>
5254
5255         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5256         convert the libnm-glib NMDevice8023Ethernet to cached properties
5257
5258         * introspection/nm-device-802-3-ethernet.xml
5259                 - New 'Carrier' property
5260                 - New 'PropertiesChanged' signal
5261
5262         * introspection/nm-device.xml
5263                 - Remove 'Carrier' property
5264                 - Remove 'CarrierChanged' signal
5265
5266         * src/nm-device-interface.c
5267           src/nm-device-interface.h
5268                 - (nm_device_interface_init): remove 'carrier' property and
5269                         'carrier-changed' signal
5270
5271         * src/nm-device.c
5272           src/nm-device.h
5273                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5274                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5275                         the link here; wired device will handle that
5276                 - (handle_dhcp_lease_change): don't bother updating link here
5277                 - (get_property, nm_device_class_init): remove carrier property
5278
5279         * src/nm-device-802-11-wireless.c
5280                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5281                         real_update_link(); wireless devices don't use carrier at all
5282                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5283                    supplicant_iface_connection_state_cb_handler,
5284                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5285
5286         * src/nm-device-802-3-ethernet.c
5287           src/nm-device-802-3-ethernet.h
5288                 - (nm_device_802_3_ethernet_carrier_on,
5289                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5290                         instead of nm_device_set_carrier()
5291                 - (device_state_changed): update link from sysfs on activation;
5292                         replaces real_update_link()
5293                 - (real_update_link): remove, replaced by device_state_changed()
5294                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5295                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5296                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5297                         new get_carrier function
5298                 - (get_property): add 'carrier' property
5299                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5300                         hook into property-changed signal helper
5301
5302         * src/NetworkManagerPolicy.c
5303                 - (device_carrier_changed): will only ever be called with a wired device
5304                 - (device_added): only hook up to carrier-changed for wired devices
5305
5306         * libnm-glib/nm-device.c
5307           libnm-glib/nm-device.h
5308                 - (constructor, nm_device_class_init): remove carrier-changed signal
5309                 - (device_carrier_changed_proxy): remove; unused
5310                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5311
5312         * libnm-glib/nm-device-802-3-ethernet.c
5313           libnm-glib/nm-device-802-3-ethernet.h
5314                 - Convert to cached properties like AP and Wireless objects
5315                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5316                         instead of a 'char *', return value should not be freed
5317                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5318                 - (constructor): hook into properties-changed helper
5319                 - (set_property, get_property): new functions
5320                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5321
5322         * test/nm-tool.c
5323                 - (detail_device): strdup the wired hardware address too since it's
5324                         cached now
5325
5326         * libnm-glib/libnm-glib-test.c
5327                 - (dump_wired): strdup the wired hardware address too since it's
5328                         cached now
5329
5330 2008-03-12  Dan Williams  <dcbw@redhat.com>
5331
5332         * libnm-util/nm-setting-ip4-config.c
5333           libnm-util/nm-setting-ip4-config.h
5334                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5335                         the 'autoip' property from the spec
5336
5337 2008-03-11  Dan Williams  <dcbw@redhat.com>
5338
5339         * src/backends/NetworkManagerGeneric.c
5340           src/backends/NetworkManagerGeneric.h
5341                 - (nm_generic_device_get_use_dhcp): remove
5342
5343 2008-03-11  Dan Williams  <dcbw@redhat.com>
5344
5345         * src/nm-device.c
5346                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5347                         already in nm_device_set_ip4_config()
5348                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5349                         due to a DHCP rebind fails
5350                 - (nm_device_set_ip4_config): send property notifications when the
5351                         ip4 config changes
5352                 - (get_property): only report IP4Config property during valid states
5353
5354         * src/NetworkManagerPolicy.c
5355                 - (update_routing_and_dns): ignore devices that don't have an ip4
5356                         config; add parameter 'force_update' to allow callers to specify
5357                         that changes should be made even if the default device doesn't change
5358                 - (device_ip4_config_changed): update DNS and routing when the device's
5359                         IP4Config changes, like for DHCP updates
5360                 - (device_added): listen for ip4-config property changes
5361
5362 2008-03-11  Dan Williams  <dcbw@redhat.com>
5363
5364         Fix address handling as a result of DHCP rebind/renew/reboot.
5365
5366         * src/NetworkManagerSystem.c
5367                 - (check_one_address): delete an address if it doesn't match a given
5368                         one for the same interface
5369                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5370                         be smarter about flushing addresses (only flush ones that don't
5371                         match the one we're about to apply)
5372
5373         * src/backends/NetworkManagerDebian.c
5374           src/backends/NetworkManagerSuSE.c
5375           src/backends/NetworkManagerArch.c
5376           src/backends/NetworkManagerSlackware.c
5377           src/backends/NetworkManagerRedHat.c
5378           src/backends/NetworkManagerPaldo.c
5379           src/backends/NetworkManagerFrugalware.c
5380           src/backends/NetworkManagerGentoo.c
5381                 - (nm_system_delete_default_route): remove
5382
5383         * src/backends/NetworkManagerGeneric.c
5384           src/backends/NetworkManagerGeneric.h
5385                 - (nm_generic_enable_loopback): fix the loopback device label
5386                 - (nm_generic_delete_default_route): remove; no longer used
5387
5388 2008-03-11  Dan Williams  <dcbw@redhat.com>
5389
5390         * src/nm-device-interface.h
5391                 - Delimit property name words with '-', otherwise g_object_notify()
5392                         doesn't work the way we expect
5393
5394 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5395
5396         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5397
5398 2008-03-11  Dan Williams  <dcbw@redhat.com>
5399
5400         * src/NetworkManagerPolicy.c
5401                 - (update_routing_and_dns): don't change anything if the default device
5402                         hasn't changed; print something out when switching the default route
5403                         and DNS
5404
5405 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5406
5407         Implement PPPoE.
5408
5409         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5410         setting. Use "nic-$eth".
5411
5412         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5413         the device is activating here to fix a race condition.
5414
5415         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5416
5417         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5418         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5419         (nm_ppp_manager_start): Take activation request instead of connection, we might
5420         need it for asking secrets.
5421         (nm_ppp_manager_update_secrets): Implement.
5422
5423         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5424         ppp manager start. It might be needed for asking secrets.
5425
5426         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5427         (ppp_state_changed): Handle pppd daemon disappearing.
5428         (pppoe_stage2_config): Send activation request to ppp manager start.
5429
5430         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5431
5432         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5433         username and password.
5434         
5435 2008-03-10  Dan Williams  <dcbw@redhat.com>
5436
5437         * src/nm-device.c
5438                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5439                         response to a DHCP lease change
5440                 - (dhcp_state_changed): handle DHCP lease changes while activated
5441                 - (nm_device_set_ip4_config): remove a previously set named config
5442                         when setting an ip4 config
5443
5444 2008-03-10  Dan Williams  <dcbw@redhat.com>
5445
5446         * src/nm-serial-device.c
5447                 - (nm_serial_device_send_command): report errno on error
5448                 - (get_reply_got_data): limit the size of the overall buffer
5449                 - (wait_for_reply_info_destroy): destroy result string
5450                 - (wait_for_reply_got_data): append received data to an overall buffer
5451                         until timeout, filled buffer, or error instead of keeping a per-call
5452                         buffer.  Some devices send data slowly enough that this function
5453                         gets called multiple times for the same command stream.
5454                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5455                         wait_for_reply_got_data() here
5456
5457 2008-03-10  Dan Williams  <dcbw@redhat.com>
5458
5459         * src/nm-cdma-device.c
5460                 - (do_dial, init_modem): handle errors from
5461                         nm_serial_device_send_command_string()
5462
5463         * src/nm-gsm-device.c
5464                 - (do_dial, manual_registration, automatic_registration_get_network,
5465                    automatic_registration, enter_pin, check_pin, init_modem): handle
5466                         errors from nm_serial_device_send_command_string()
5467
5468 2008-03-10  Dan Williams  <dcbw@redhat.com>
5469
5470         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5471
5472         * src/named-manager/nm-named-manager.c
5473                 - (compute_searches): prefer searches before domains
5474                 - (compute_domain): new function
5475                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5476                 - (merge_one_ip4_config): if there are no searches in the source config,
5477                         merge domains of the source config into the target config
5478                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5479
5480 2008-03-10  Dan Williams  <dcbw@redhat.com>
5481
5482         * src/nm-serial-device.c
5483                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5484                 - (wait_for_reply_got_data): try to handle slower serial devices where
5485                         the reply is broken up into multiple reads by concatenating replies
5486                         together until either an error is received or the search string is
5487                         found
5488
5489 2008-03-10  Dan Williams  <dcbw@redhat.com>
5490
5491         * src/nm-device.c
5492                 - (nm_device_bring_down): deactivate the device if it's activating too,
5493                         not just if it's already activated.  This makes sure that everything
5494                         from an association attempt is cleaned up (like DHCP for example)
5495
5496 2008-03-10  Dan Williams  <dcbw@redhat.com>
5497
5498         * src/nm-serial-device.c
5499                 - (config_fd): report error from TCSETA
5500                 - (nm_serial_device_open): fail when config_fd() fails
5501
5502 2008-03-10  Dan Williams  <dcbw@redhat.com>
5503
5504         * src/nm-ip4-config.c
5505                 - (nm_ip4_config_init): allocate searches list
5506                 - (finalize): free searches list
5507
5508 2008-03-09  Dan Williams  <dcbw@redhat.com>
5509
5510         Patch from Bas Zoetekouw <bas@debian.org>
5511
5512         * src/dhcp-manager/nm-dhcp-manager.c
5513                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5514
5515 2008-03-09  Dan Williams  <dcbw@redhat.com>
5516
5517         Patch from Bas Zoetekouw <bas@debian.org>
5518
5519         * src/nm-ip4-config.c
5520           src/nm-ip4-config.h
5521                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5522                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5523                         domains.  'searches' is the correct way to store multiple search
5524                         domains, whereas 'domains' is really just supposed to store one
5525                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5526                         search domains to the client.
5527                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5528
5529 2008-03-09  Dan Williams  <dcbw@redhat.com>
5530
5531         * src/dhcp-manager/nm-dhcp-manager.c
5532                 - (dhclient_run): send interface-specific config files to dhclient
5533
5534 2008-03-07  Dan Williams  <dcbw@redhat.com>
5535
5536         * system-settings/plugins/ifcfg-fedora/parser.c
5537                 - (is_wireless_device): new function; test a device for wireless
5538                         extensions
5539                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5540                         test the device for wireless extensions to determine the type
5541
5542 2008-03-07  Dan Williams  <dcbw@redhat.com>
5543
5544         Change manager's StateChange signal to StateChanged for consistency.
5545
5546         * introspection/nm-manager.xml
5547                 - Add 'StateChanged' signal
5548                 - Move 'StateChange' down to the deprecated section
5549
5550         * src/nm-hal-manager.c
5551                 - (nm_hal_manager_new): connect to 'state-changed' instead
5552
5553         * src/NetworkManagerPolicy.c
5554                 - (nm_policy_new): connect to 'state-changed' instead
5555
5556         * src/nm-manager.c
5557           src/nm-manager.h
5558                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5559                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5560                         of 'state-change'
5561
5562         * libnm-glib/nm-client.c
5563           libnm-glib/nm-client.h
5564                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5565                         track and proxy 'state-changed' instead of 'state-change'
5566
5567 2008-03-07  Dan Williams  <dcbw@redhat.com>
5568
5569         First pass of multiple active device support.  Expect bugs.
5570
5571         * src/nm-ip4-config.c
5572           src/nm-ip4-config.h
5573                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5574                         there are better ways to do this in the named manager
5575
5576         * src/nm-device.c
5577           src/nm-device.h
5578                 - (nm_device_can_activate): return whether the device can activate a
5579                         connection right now; taking into account things like carrier state
5580                         and rfkill state
5581                 - (nm_device_get_best_auto_connection): renamed from
5582                         nm_device_get_best_connection
5583                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5584                         device subclasses themselves, so that each device can override the
5585                         MTU from it's NMSetting subclass if needed
5586                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5587                         in NetworkManagerSystem.c, not here
5588
5589         * src/named-manager/nm-named-manager.c
5590           src/named-manager/nm-named-manager.h
5591                 - (nm_named_manager_name_owner_changed,
5592                    nm_named_manager_dbus_connection_changed): fix for changes to
5593                         rewrite_resolv_conf()
5594                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5595                         from parameter list
5596                 - (merge_one_ip4_config): new function; merge ip4 configs together
5597                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5598                         ip4 configs; the VPN config takes precedence, then the best
5599                         device config, then the rest of the configs
5600                 - (get_domain_for_config): take the NMNamedManager as an argument
5601                         to check whether the config is the VPN config
5602                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5603                         attribute from ip4 configs
5604                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5605                 - (remove_ip4_config_from_named): fix for changes to
5606                         get_domain_for_config()
5607                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5608                         based on its type; callers must pass in the type now
5609                 - (get_last_default_domain): remove, unused
5610                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5611
5612         * src/nm-device-802-11-wireless.c
5613                 - (real_can_activate): new function
5614                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5615                 - (real_act_stage4_get_ip4_config): handle MTU override
5616
5617         * src/nm-device-802-3-ethernet.c
5618                 - (real_can_activate): new function
5619                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5620                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5621
5622         * src/vpn-manager/nm-vpn-connection.c
5623                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5624                         attribute on the ip4 config
5625
5626         * src/NetworkManagerPolicy.c
5627                 - (nm_policy_auto_get_best_device): remove
5628                 - (nm_policy_device_change_check): remove
5629                 - (update_default_route): new function; set the default route via
5630                         the specified device
5631                 - (get_device_priority): new function; return the priority number of
5632                         a device type WRT which one should have the default route.  Order is
5633                         (highest to lowest)  wired, wireless, GSM, CDMA.
5634                 - (update_routing_and_dns): new function; determine which device should
5635                         have the default route, then update the routing table and DNS
5636                 - (maybe_auto_activate_device): new function; if a device is now
5637                         available for activation, find out what connection it would like to
5638                         activate and do it
5639                 - (schedule_activate_check): new function; if a device can be activated
5640                         now, schedule the activation.  Each device may have only one
5641                         pending activation at a given time.
5642                 - (device_state_changed): if activation was canceled, try again,
5643                         possibly with another connection; if the device was activated,
5644                         update routing and DNS; if the device was deactivated, try again
5645                         with another connection
5646                 - (device_carrier_changed): if there is no carrier, deactivate the
5647                         device; otherwise schedule an activation check for the device
5648                 - (wireless_networks_changed): schedule an activation check for the
5649                         device
5650                 - (device_added): keep track of the signal handler IDs so they can
5651                         be removed when the device goes away
5652                 - (device_removed): remove any signal handlers that might be attached
5653                         to the device; update routing and DNS
5654                 - (schedule_activate_all): new function
5655                 - (connections_added, connection_added, connection_updated): when
5656                         connections change, schedule all devices for an activation check
5657                 - (connection_removed): when a device is deactivated because its
5658                         connection was removed, schedule another activation check for it
5659                 - (nm_policy_destroy): destroy pending activations and disconnect
5660                         all device signal handlers
5661
5662         * src/nm-manager.c
5663                 - (nm_manager_activate_device): if the device was already actived,
5664                         deactivate it
5665                 - (deactivate_old_device): remove
5666                 - (connection_added_default_handler, impl_manager_activate_device):
5667                         don't deactivate other devices when activating this one
5668
5669         * src/backends/NetworkManagerGentoo.c
5670           src/backends/NetworkManagerFrugalware.c
5671           src/backends/NetworkManagerPaldo.c
5672           src/backends/NetworkManagerRedHat.c
5673           src/backends/NetworkManagerSlackware.c
5674           src/backends/NetworkManagerArch.c
5675           src/backends/NetworkManagerSuSE.c
5676           src/backends/NetworkManagerDebian.c
5677                 - (nm_system_get_mtu): remove; MTU should be provided through the
5678                         distro's system settings service plugin instead
5679                 - (nm_system_device_add_default_route_via_device): remove
5680                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5681                 - (nm_system_device_replace_default_route): new function; call
5682                         generic implementation
5683
5684         * src/backends/NetworkManagerGeneric.c
5685           src/backends/NetworkManagerGeneric.h
5686                 - (nm_generic_device_add_default_route_via_device,
5687                    nm_generic_device_add_default_route_via_device_with_iface): remove
5688                 - (nm_generic_device_replace_default_route): replace the default route
5689                         with the given route via some gateway
5690
5691         * src/NetworkManagerSystem.c
5692           src/NetworkManagerSystem.h
5693                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5694                         to routing and DNS; but set the MTU here
5695                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5696                         ip_iface of the active device; use the standard MTU setting function
5697                 - (nm_system_set_mtu): remove
5698                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5699
5700 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5701
5702         Rework the interaction between ppp manager and pppd plugin. Register a well
5703         known DBUS service in manager and let the plugin call it's methods instead
5704         of listening plugin's signals.
5705
5706         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5707         of emitting signals.
5708
5709         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5710
5711         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5712
5713         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5714         nm_ppp_manager_start().
5715
5716         * introspection/nm-ppp-manager.xml: New file.
5717
5718         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5719         the case correctly where driver is trying to send -1 for the speed, which gets
5720         casted to u16 and thus is always > 0.
5721
5722 2008-03-07  Dan Williams  <dcbw@redhat.com>
5723
5724         * src/nm-hal-manager.c
5725                 - (nm_get_device_driver_name): use net.originating_device first, fall
5726                         back to physical device.  HAL has deprecated physical_device.
5727
5728         * libnm-glib/nm-device.c
5729                 - (get_product_and_vendor): use net.originating_device first, fall
5730                         back to physical device.  HAL has deprecated physical_device.
5731                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5732
5733 2008-03-07  Dan Williams  <dcbw@redhat.com>
5734
5735         * src/nm-netlink.c
5736                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5737                         last commit; fix that
5738                 - (get_link_cache): print error string
5739
5740 2008-03-07  Dan Williams  <dcbw@redhat.com>
5741
5742         * src/nm-netlink.c
5743                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5744                         don't need this hack any more (Benoit Boissinot)
5745
5746 2008-03-06  Dan Williams  <dcbw@redhat.com>
5747
5748         * autogen.sh
5749                 - Die gnome-common, die
5750
5751 2008-03-04  Dan Williams  <dcbw@redhat.com>
5752
5753         Patch from Michael Biebl <biebl@debian.org>
5754
5755         * NetworkManager.pc.in
5756                 - doesn't actually depend on dbus-1
5757
5758         * libnm-util/nm-utils.h
5759                 - remove unused #include <dbus/dbus.h>
5760
5761         * libnm-glib/libnm_glib.pc.in
5762                 - depends on glib and dbus-glib
5763
5764 2008-03-02  Dan Williams  <dcbw@redhat.com>
5765
5766         * src/NetworkManagerPolicy.c
5767                 - s/device_state_changed_idle_id/update_state_id/
5768
5769 2008-03-02  Dan Williams  <dcbw@redhat.com>
5770
5771         * src/nm-device.c
5772           src/nm-device.h
5773           src/nm-device-802-11-wireless.c
5774           src/nm-device-802-3-ethernet.c
5775           src/NetworkManagerPolicy.c
5776                 - s/link_active/carrier
5777                 - nm_device_set_active_link() -> nm_device_set_carrier()
5778                 - nm_device_has_active_link() -> nm_device_get_carrier()
5779
5780 2008-03-02  Dan Williams  <dcbw@redhat.com>
5781
5782         * system-settings/plugins/ifcfg-fedora/parser.c
5783                 - (make_wireless_setting): fail connection creation on missing SSID
5784
5785 2008-02-29  Dan Williams  <dcbw@redhat.com>
5786
5787         * src/NetworkManagerPolicy.c
5788                 - (nm_policy_device_change_check): ensure that a previously active
5789                         device with a system connection has a link before denying a switch
5790                         to a user connection
5791
5792 2008-02-29  Dan Williams  <dcbw@redhat.com>
5793
5794         * src/nm-device-802-11-wireless.c
5795                 - (link_timeout_cb): try again if scanning; deactivate the device when
5796                         activated if the link dies
5797                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5798                         15 seconds
5799
5800 2008-02-29  Dan Williams  <dcbw@redhat.com>
5801
5802         * src/nm-device-802-11-wireless.c
5803           src/nm-device-802-11-wireless.h
5804                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5805                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5806                 - (device_cleanup): reset the scan interval lower when the device
5807                         deactivates
5808                 - (can_scan): base decision mostly off device state, not supplicant
5809                         interface state since the supplicant interface state isn't a
5810                         great indicator of whether the device is active or not
5811                 - (request_wireless_scan): clean up; schedule the next scan here
5812                 - (schedule_scan): only back the scan interval off if a new scan
5813                         actually gets scheduled; and make scan intervals tighter when the
5814                         device is disconnected
5815                 - (supplicant_iface_state_cb_handler): fold in the bits of
5816                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5817                         interval to minimum
5818                 - (activation_success_handler): reset scan interval to something
5819                         reasonable 
5820
5821 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5822
5823         reviewed by: Steev <steev@steev.net>
5824
5825         * configure.in:
5826         * src/backends/NetworkManagerGentoo.c:
5827         (nm_system_restart_mdns_responder):
5828                 Howl is no longer a supported mDNS provider
5829
5830 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5831
5832         Get rid of a bunch of unused distro specific functions.
5833
5834 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5835
5836         Implement suse plugin for system settings daemon.
5837
5838         * system-settings/plugins/ifcfg-suse/*: Implement.
5839
5840         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5841         suse.
5842
5843         * configure.in: Check (without failing) for gio.
5844         Create ifcfg-suse plugin's Makefile.
5845
5846 2008-02-20  Dan Williams  <dcbw@redhat.com>
5847
5848         * libnm-util/nm-connection.c
5849           libnm-util/nm-connection.h
5850                 - (nm_connection_compare): accept compare flags and pass them to the
5851                         setting compare function
5852
5853         * libnm-util/nm-setting.c
5854           libnm-util/nm-setting.h
5855                 - (nm_setting_compare): accept compare flags; ignore properties that are
5856                         marked fuzzy
5857
5858         * libnm-util/nm-setting-connection.c
5859           libnm-util/nm-setting-wireless.c
5860           libnm-util/nm-setting-ppp.c
5861           libnm-util/nm-setting-wired.c
5862                 - Mark some setting properties as ignorable when doing a fuzzy compare
5863
5864         * src/nm-device.c
5865                 - (device_activation_precheck): use exact compare
5866
5867 2008-02-20  Dan Williams  <dcbw@redhat.com>
5868
5869         * src/NetworkManagerPolicy.c
5870                 - (nm_policy_device_change_check): get scope off the connection, not
5871                         using the manager helper
5872
5873         * src/nm-manager.c
5874           src/nm-manager.h
5875                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5876                 - (connection_get_settings_cb): set scope and path on connection, not
5877                         using GObject data items
5878                 - (get_connection_for_proxy): don't need to return path, since that
5879                         can be gotten from the connection
5880                 - (get_connection_for_proxy): get path off the connection, not from
5881                         parameters
5882                 - (connection_removed_cb, connection_updated_cb): don't need to get
5883                         path from get_connection_for_proxy(); get scope off the connection
5884                         instead of using GObject data items
5885                 - (connection_added_default_handler, add_one_connection_element): use
5886                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5887                 - (nm_manager_get_connection_dbus_path): remove
5888                 - (nm_manager_get_connection_scope): remove
5889
5890 2008-02-20  Dan Williams  <dcbw@redhat.com>
5891
5892         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5893                 on confusing names
5894
5895         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5896                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5897                 NMExportedConnection
5898
5899         * Internally rename NMConnectionType -> NMConnectionScope
5900
5901         * Provide default implementations of the 'get_id' and 'get_settings' methods
5902                 of NMExportedConnection
5903
5904 2008-02-15  Dan Williams  <dcbw@redhat.com>
5905
5906         * src/nm-device-802-11-wireless.c
5907                 - (device_cleanup): release the AP list here too so that the AP list
5908                         doesn't survive across suspend/resume and up/down.  There is some
5909                         room for optimization, for example blow the list away when the card
5910                         brought back up, but only if the device has only been down for a
5911                         minute or more.
5912
5913 2008-02-15  Dan Williams  <dcbw@redhat.com>
5914
5915         * src/nm-hal-manager.c
5916                 - (modem_device_creator): recognize new HAL modem capabilities
5917
5918 2008-02-12  Dan Williams  <dcbw@redhat.com>
5919
5920         * system-settings/plugins/ifcfg-fedora/plugin.c
5921                 - (watch_path): handle IN_DELETE_SELF too
5922                 - (handle_connection_changed): notify when removing a connection
5923                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5924                         case of a file moving out of the profile directory
5925
5926 2008-02-12  Dan Williams  <dcbw@redhat.com>
5927
5928         * system-settings/plugins/ifcfg-fedora/parser.c
5929                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5930
5931 2008-02-12  Dan Williams  <dcbw@redhat.com>
5932
5933         * libnm-util/nm-utils.c
5934                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5935                         just any empty array
5936
5937 2008-02-12  Dan Williams  <dcbw@redhat.com>
5938
5939         * system-settings/src/nm-system-config-interface.c
5940           system-settings/src/nm-system-config-interface.h
5941                 - (load_connections): get_connections() should now return an allocated
5942                         GSList that the system settings service will free
5943
5944         * system-settings/plugins/ifcfg-fedora/plugin.c
5945           system-settings/plugins/ifcfg-fedora/parser.h
5946           system-settings/plugins/ifcfg-fedora/parser.c
5947                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5948                         in the profile directory, handle resolv.conf file changes
5949
5950 2008-02-10  Dan Williams  <dcbw@redhat.com>
5951
5952         * src/nm-device-802-3-ethernet.c
5953                 - (real_bring_up): save the supplicant interface state signal id
5954                 - (real_bring_down): disconnect from the supplicant interface state
5955                         signal
5956
5957 2008-02-07  Dan Williams  <dcbw@redhat.com>
5958
5959         * initscript/RedHat/NetworkManager.in
5960           initscript/RedHat/NetworkManagerDispatcher.in
5961                 - Add new-style LSB init headers
5962
5963 2008-02-07  Dan Williams  <dcbw@redhat.com>
5964
5965         * system-settings/src/dbus-settings.c
5966           system-settings/src/dbus-settings.h
5967                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5968                         table of secrets
5969                 - (connection_settings_get_secrets): consolidate error returns into
5970                         one place; use the new get_secrets() plugin interface function to
5971                         get secrets from the plugin itself rather than using GObject data
5972                         magic
5973
5974         * system-settings/src/main.c
5975                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5976                    load_connections): keep a private list of the plugin-returned
5977                         connections, don't use the plugin's GSList
5978
5979         * system-settings/plugins/ifcfg-fedora/plugin.c
5980                 - (watch_path): watch the path, not the filename (duh)
5981                 - (reload_all_connections): use the direct hash/equal functions; the
5982                         ones for int aren't appropriate here
5983                 - (get_secrets, system_config_interface_init): implement the
5984                         get_secrets() function
5985                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5986                         now in the connection's ConnectionData instead of being a GObject
5987                         data property
5988                 - (handle_profile_item_changed): ifcfg file path is now in the
5989                         connection's ConnectionData instead of being a GObject data property;
5990                         be sure to copy secrets over from the new connection to the existing
5991                         connection when updating the connection's settings
5992                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5993                         file descriptor
5994
5995         * system-settings/plugins/ifcfg-fedora/parser.c
5996           system-settings/plugins/ifcfg-fedora/parser.h
5997                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5998                    connection_data_copy_secrets, connection_data_free,
5999                    connection_data_add): new functions; connection data manipulation
6000                 - (make_wireless_security_setting): stuff secrets into the
6001                         connection data, not as GObject data items; make sure to close
6002                         the keys ifcfg file
6003                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6004                         connection data to the connection
6005
6006 2008-02-07  Dan Williams  <dcbw@redhat.com>
6007
6008         * system-settings/src/nm-system-config-interface.c
6009           system-settings/src/nm-system-config-interface.h
6010                 - Add a get_secrets() interface function to retrieve secrets for a
6011                         specific setting of a specific connection.  Document the interface
6012                         a bit more too.
6013
6014 2008-02-07  Dan Williams  <dcbw@redhat.com>
6015
6016         * src/nm-device-802-11-wireless.c
6017                 - (handle_auth_or_fail): new function; consolidate device activation
6018                         failure check after a certain number of failures getting secrets
6019                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6020                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6021                         the connection if secrets were requested more than a few times
6022                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6023                         tries here; otherwise they are cleared before the IP configure
6024                         timeout, which happens with open system WEP when key is wrong
6025                 - (activation_success_handler): clear wireless secrets tries here too
6026
6027 2008-02-07  Dan Williams  <dcbw@redhat.com>
6028
6029         * src/NetworkManagerPolicy.c
6030                 - (connection_updated): clear invalid tag when connection gets updated
6031                         to allow that connection to be tried again
6032                 - (nm_policy_new): save signal ids so they can be disconnected when
6033                         the policy is destroyed
6034                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6035                         and disconnect all signals from the manager object so that none
6036                         of the policy functions gets called after the policy is destroyed
6037
6038 2008-02-06  Dan Williams  <dcbw@redhat.com>
6039
6040         * src/nm-manager.c
6041                 - (finalize): remove devices a bit earlier; clean up system settings
6042                         poke
6043                 - (nm_manager_name_owner_changed): clean up system settings poke when
6044                         the service appears, and try to restart it if it fails
6045                 - (poke_system_settings_daemon_cb): try to get the system settings
6046                         service started through D-Bus service activation
6047                 - (initial_get_connections): start the system settings daemon if it's
6048                         not already running
6049
6050 2008-02-05  Dan Williams  <dcbw@redhat.com>
6051
6052         * src/supplicant-manager/nm-supplicant-config.c
6053                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6054                         broadcast networks too
6055
6056 2008-02-04  Dan Williams  <dcbw@redhat.com>
6057
6058         * system-settings/plugins/ifcfg-fedora/parser.c
6059                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6060                         need key_mgmt set too
6061                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6062                         .bak files; ensure that an error is set whenever NULL gets returned
6063
6064 2008-02-04  Dan Williams  <dcbw@redhat.com>
6065
6066         * system-settings/src/Makefile.am
6067                 - Install D-Bus service activation file for the system settings
6068                         service
6069
6070         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6071                 - D-Bus service activation file for system settings service
6072
6073 2008-02-04  Dan Williams  <dcbw@redhat.com>
6074
6075         * system-settings/src/main.c
6076                 - (parse_config_file): parse a config file
6077                 - (main): accept --config option and read plugins from config file
6078
6079 2008-02-04  Dan Williams  <dcbw@redhat.com>
6080
6081         * system-settings/plugins/ifcfg-fedora/plugin.c
6082                 - Change reported name to 'ifcfg-fedora'
6083                 - Use IFCFG_PLUGIN_NAME
6084
6085         * system-settings/plugins/ifcfg-fedora/plugin.c
6086                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6087
6088 2008-02-04  Dan Williams  <dcbw@redhat.com>
6089
6090         * system-settings/plugins/ifcfg-fedora/parser.c
6091                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6092                 - (make_connection_setting): use get_ifcfg_name()
6093                 - (make_wireless_security_setting): handle shadow key files
6094                 - (get_one_wep_key): treat empty string as NULL
6095
6096 2008-02-04  Dan Williams  <dcbw@redhat.com>
6097
6098         * src/supplicant-manager/nm-supplicant-manager.c
6099                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6100                         glib automatically reschedule
6101                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6102                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6103                         the supplicant
6104
6105 2008-02-01  Dan Williams  <dcbw@redhat.com>
6106
6107         * src/NetworkManagerPolicy.c
6108                 - (device_state_changed): schedule a change check when a device gets
6109                         deactivated so something happens if you disconnect GSM/CDMA
6110
6111 2008-01-31  Dan Williams  <dcbw@redhat.com>
6112
6113         * src/nm-device-802-11-wireless.h
6114           src/nm-device-802-11-wireless.c
6115                 - (ap_list_get_ap_by_ssid, is_associated,
6116                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6117                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6118                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6119                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6120                         function
6121
6122 2008-01-30  Dan Williams  <dcbw@redhat.com>
6123
6124         * system-settings/plugins/ifcfg
6125         * system-settings/plugins/ifcfg-fedora
6126                 - Move the ifcfg plugin to ifcfg-fedora
6127
6128 2008-01-24  Dan Williams  <dcbw@redhat.com>
6129
6130         * libnm-glib/nm-device-802-11-wireless.c
6131                 - (get_access_point): move the "/" check here; check for invalid path
6132                         too
6133                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6134                         to get_access_point()
6135                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6136                         to send signals for non-existent access points
6137
6138 2008-01-24  Dan Williams  <dcbw@redhat.com>
6139
6140         * libnm-glib/nm-device-802-11-wireless.c
6141                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6142
6143 2008-01-23  Dan Williams  <dcbw@redhat.com>
6144
6145         * libnm-glib/libnm_glib.c
6146                 - (libnm_glib_init): make thread joinable
6147                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6148
6149 2008-01-23  Dan Williams  <dcbw@redhat.com>
6150
6151         * test/libnm_glib_test.c
6152                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6153                 - (main): set up signal handlers; call libnm_glib_shutdown
6154
6155 2008-01-21  Dan Williams  <dcbw@redhat.com>
6156
6157         * include/NetworkManager.h
6158                 - Add CDMA mobile broadband card device type
6159
6160         * src/nm-hal-manager.c
6161                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6162                         must now be tagged with 'cdma' or 'gsm' capability
6163
6164         * src/nm-cdma-device.c
6165           src/nm-cdma-device.h
6166           src/Makefile.am
6167                 - Add the CDMA mobile broadband card device class
6168
6169         * libnm-util/nm-connection.c
6170                 - (register_default_settings): add NMSettingCdma
6171
6172         * libnm-util/nm-setting-cdma.c
6173           libnm-util/nm-setting-cdma.h
6174           libnm-util/Makefile.am
6175                 - Add the CDMA mobile broadband card setting class
6176
6177         * libnm-glib/nm-cdma-device.c
6178           libnm-glib/nm-cdma-device.h
6179           libnm-glib/Makefile.am
6180                 - Add the CDMA mobile broadband card GLib proxy class
6181
6182         * libnm-glib/nm-client.c
6183                 - (get_device): handle CDMA devices too
6184
6185 2008-01-21  Dan Williams  <dcbw@redhat.com>
6186
6187         * src/ppp-manager/nm-ppp-manager.c
6188                 - (ip4_config_get): set peer address too
6189
6190         * src/ppp-manager/nm-pppd-plugin.c
6191                 - (nm_ip_up): try harder to get the peer's address
6192
6193         * src/NetworkManagerSystem.c
6194                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6195                         address, use that too.  Otherwise, some PPP connections won't work.
6196
6197 2008-01-19  Dan Williams  <dcbw@redhat.com>
6198
6199         * src/NetworkManagerPolicy.c
6200                 - (nm_policy_device_change_check): system connections override user
6201                         connections; don't activate a user connection if there's a currently
6202                         active system connection, and new, better system connections always
6203                         interrupt user connections
6204
6205 2008-01-19  Dan Williams  <dcbw@redhat.com>
6206
6207         * src/nm-manager.h
6208                 - (nm_manager_get_connection_type): new function
6209
6210 2008-01-19  Dan Williams  <dcbw@redhat.com>
6211
6212         * src/nm-device-802-11-wireless.c
6213                 - (real_get_best_connection): collapse find_best_connection() into this
6214                         function
6215
6216 2008-01-19  Dan Williams  <dcbw@redhat.com>
6217
6218         * src/nm-device-802-3-ethernet.c
6219                 - (real_get_best_connection): collapse find_best_connection() into this
6220                         function
6221
6222 2008-01-18  Dan Williams  <dcbw@redhat.com>
6223
6224         * src/nm-device-802-3-ethernet.c
6225                 - (find_best_connection): check MAC address too
6226                 - (real_get_best_connection): let autoconnect=True connections activate
6227                         for devices that don't have carrier detection
6228
6229         * src/nm-device-802-11-wireless.c
6230                 - (find_best_connection): check MAC address too
6231
6232 2008-01-18  Dan Williams  <dcbw@redhat.com>
6233
6234         * system-settings/plugins/ifcfg/parser.c
6235                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6236
6237 2008-01-17  Dan Williams  <dcbw@redhat.com>
6238
6239         * src/nm-device-802-3-ethernet.c
6240                 - (nm_device_802_3_ethernet_carrier_on,
6241                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6242                         carrier events that might come in for devices that don't support
6243                         carrier detect
6244
6245 2008-01-17  Dan Williams  <dcbw@redhat.com>
6246
6247         * src/nm-device-interface.c
6248                 - (nm_device_interface_check_connection_conflicts): need to actually
6249                         get the interface, not cast to the object
6250
6251         * src/nm-device.c
6252                 - (nm_device_check_connection_conflicts): need to get the device class,
6253                         not cast the device to the device class
6254
6255 2008-01-17  Dan Williams  <dcbw@redhat.com>
6256
6257         * src/nm-device-802-11-wireless.c
6258                 - (real_check_connection_conflicts): ignore connections that aren't
6259                         wireless connections
6260
6261 2008-01-17  Dan Williams  <dcbw@redhat.com>
6262
6263         * src/NetworkManagerPolicy.c
6264                 - (nm_policy_device_change_check): clear change check idle here
6265                 - (device_change_check_done): remove
6266                 - (schedule_change_check): simplify
6267
6268 2008-01-17  Dan Williams  <dcbw@redhat.com>
6269
6270         * src/nm-manager.c
6271                 - (check_connection_allowed): take an NMDeviceInterface instead of
6272                         an NMDevice object as an argument
6273                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6274                         check_connection_allowed()
6275
6276 2008-01-13  Dan Williams  <dcbw@redhat.com>
6277
6278         * libnm-glib/nm-device-802-11-wireless.c
6279                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6280
6281 2008-01-12  Dan Williams  <dcbw@redhat.com>
6282
6283         * src/nm-device-802-11-wireless.c
6284                 - (activation_success_handler): if a match was found in the scan list
6285                         and that match is a hidden AP, update that AP's SSID
6286
6287 2008-01-11  Dan Williams  <dcbw@redhat.com>
6288
6289         * src/NetworkManagerAP.c
6290                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6291
6292         * src/nm-device-802-11-wireless.c
6293                 - (get_active_ap): do two passes over the scan list if the caller
6294                         requests that hidden APs get matched too; during the second pass
6295                         when matching hidden APs, ignore the SSID since hidden APs in the
6296                         scan list don't have an SSID yet
6297                 - (periodic_update): move some checks to
6298                         nm_device_802_11_periodic_update() because not all callers need them
6299                 - (nm_device_802_11_periodic_update): move some checks here from
6300                         perodic_update()
6301                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6302                         matching on incoming scan results, because the fake AP's flags
6303                         might be slightly different (yet still compatible) with the incoming
6304                         scan result's flags and they might actually be the same AP; update
6305                         the rate on merged APs too
6306                 - (activation_success_handler): update the frequency of the fake AP
6307                         on successful connection; match hidden APs too since if the
6308                         current AP is fake, there might already be a scan result in the
6309                         scan list for the desired AP, just without it's SSID filled in yet
6310
6311 2008-01-10  Dan Williams  <dcbw@redhat.com>
6312
6313         * src/NetworkManagerAP.c
6314                 - (foreach_property_cb): catch more hidden SSID formats
6315
6316 2008-01-10  Dan Williams  <dcbw@redhat.com>
6317
6318         Fix gnome.org #464215.  Requires the kernel patch titled
6319         "Introduce WEXT scan capabilities" but will handle the patch not being
6320         present, you'll just continue to have problems with hidden SSIDs when
6321         using mac80211-based drivers.
6322
6323         * src/supplicant-manager/nm-supplicant-config.h
6324           src/supplicant-manager/nm-supplicant-config.c
6325                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6326                         whether the driver supports SSID scans or not.  If it does, and if
6327                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6328
6329         * src/nm-device-802-11-wireless.c
6330                 - (constructor): check whether or not the driver supports SSID scans
6331                 - (build_supplicant_config): pass driver SSID scan capability when
6332                         building the wireless bits of the supplicant config
6333
6334 2008-01-09  Dan Williams  <dcbw@redhat.com>
6335
6336         * src/nm-device.c
6337           src/nm-device.h
6338                 - (device_activation_precheck, check_connection_complete): remove this
6339                         virtual function; incomplete connections should be invalid by
6340                         definition, complete-ness should be checked in the setting's
6341                         verify function
6342
6343         * src/nm-serial-device.c
6344           src/nm-gsm-device.c
6345                 - (real_check_connection_complete): remove
6346
6347         * libnm-util/nm-setting-serial.c
6348                 - (verify): new function; ensure there is a PPP setting too
6349
6350         * libnm-util/nm-setting-gsm.c
6351                 - (verify): ensure there is a serial setting too
6352
6353 2008-01-06  Dan Williams  <dcbw@redhat.com>
6354
6355         * src/dhcp-manager/nm-dhcp-manager.c
6356                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6357                         (gnome.org #332953)
6358
6359 2008-01-04  Dan Williams  <dcbw@redhat.com>
6360
6361         * src/named-manager/nm-named-manager.c
6362                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6363                         nameservers if the secondary config doesn't have any
6364                         (gnome.org #346833)
6365
6366 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6367
6368         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6369         with G_PARAM_CONSTRUCT so that they get the default values.
6370
6371         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6372         the monitoring device and prints out the output for now. Or more precicely, doesn't
6373         do absolutely anything right now since the montoring device argument is never set.
6374
6375         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6376         requires it's own knob to turn it on.
6377         (config_fd): Add NMSettingSerial to the arguments list.
6378         (nm_serial_device_open): Ditto.
6379         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6380         (nm_serial_device_get_io_channel): Implement.
6381
6382         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6383         a new reference every time (and forgetting to release it sometimes) is a pain and
6384         it's not like NMManager could work without dbus.
6385         (nm_manager_add_device): Register the added device on dbus here.
6386
6387         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6388         device.
6389
6390         * src/nm-device.c (constructor): Don't export the device here, instead export
6391         it when it's added to the NMManager's device list.
6392
6393 2007-12-31  Dan Williams  <dcbw@redhat.com>
6394
6395         * src/nm-device-interface.c
6396           src/nm-device-interface.h
6397                 - (nm_device_interface_check_connection_conflicts): new function
6398
6399         * src/nm-device.c
6400           src/nm-device.h
6401                 - (nm_device_check_connection_conflicts): new function
6402                 - (device_activation_precheck): don't require subclasses to implement
6403                         check_connection_complete()
6404                 - check_connection() -> check_connection_complete()
6405
6406         * src/nm-device-802-11-wireless.c
6407                 - (real_check_connection): remove; unused
6408                 - (real_check_connection_conflicts): implement, handle lockdown for
6409                         system connections
6410
6411         * src/nm-device-802-3-ethernet.c
6412                 - (real_check_connection): remove; unused
6413
6414         * src/nm-manager.c
6415                 - (check_connection_allowed): new function
6416                 - (nm_manager_activate_device): ensure the connection being requested
6417                         is allowed to be activated
6418
6419         * src/nm-serial-device.c
6420           src/nm-gsm-device.c
6421                 - real_check_connection() -> real_check_connection_complete()
6422
6423 2007-12-27  Dan Williams  <dcbw@redhat.com>
6424
6425         * src/nm-device-interface.c
6426           src/nm-device-interface.h
6427                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6428                         normalize and expand errors
6429                 - (nm_device_interface_init): register errors so they can be marshalled
6430                         through dbus-glib
6431                 - (nm_device_interface_activate): ensure that failure of activation
6432                         returns an error
6433
6434         * src/nm-device.c
6435           src/nm-device.h
6436                 - (device_activation_precheck): implementations of check_connection()
6437                         now take a GError and must fill it in if the check fails.  Return
6438                         more descriptive error if the requested connection is already
6439                         activating
6440                 - (nm_device_activate): actually try to return descriptive errors on
6441                         failures
6442
6443         * src/nm-device-802-11-wireless.c
6444           src/nm-device-802-3-ethernet.c
6445           src/nm-serial-device.c
6446           src/nm-gsm-device.c
6447                 - (real_check_connection): return more descriptive errors on failure
6448
6449         * src/NetworkManagerPolicy.c
6450                 - (nm_policy_device_change_check): print activation errors in the logs
6451
6452         * src/nm-manager.c
6453                 - (nm_manager_error_quark, nm_manager_error_get_type,
6454                    nm_manager_class_init): new errors
6455                 - (nm_manager_activate_device): handle errors
6456                 - (nm_manager_error_new): removed
6457                 - (wait_for_connection_expired, connection_added_default_handler,
6458                    impl_manager_activate_device): better error handling
6459
6460 2007-12-27  Dan Williams  <dcbw@redhat.com>
6461
6462         Fixes gnome.org #466954
6463
6464         * src/supplicant-manager/nm-supplicant-settings-verify.c
6465                 - Allow 'frequency' network property
6466
6467         * src/supplicant-manager/nm-supplicant-config.c
6468           src/supplicant-manager/nm-supplicant-config.h
6469                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6470                         for callers to specify the frequency an Ad-Hoc network should operate
6471                         on.  Some drivers require this to successfully create an Ad-Hoc
6472                         network.
6473
6474         * src/nm-device-802-11-wireless.c
6475                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6476                         guint32 value in MHz
6477                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6478                         iw_freq_to_uint32()
6479                 - (find_supported_frequency): new function; find a free supported
6480                         frequency for a user-created Ad-Hoc network
6481                 - (build_supplicant_config): if no frequency was specified for a user-
6482                         created Ad-Hoc network, find a free one to use
6483                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6484                         a specific object as user-created
6485
6486 2007-12-27  Dan Williams  <dcbw@redhat.com>
6487
6488         * libnm-util/nm-utils.c
6489           libnm-util/nm-utils.h
6490                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6491                         for adhoc networks
6492
6493 2007-12-24  Dan Williams  <dcbw@redhat.com>
6494
6495         * libnm-util/nm-setting-wireless.c
6496                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6497                         185, 187, 188, 192, and 196
6498
6499 2007-12-24  Dan Williams  <dcbw@redhat.com>
6500
6501         * src/nm-device-802-11-wireless.c
6502                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6503                         a channel # instead of a frequency
6504
6505 2007-12-24  Dan Williams  <dcbw@redhat.com>
6506
6507         * src/NetworkManagerAP.c
6508           src/NetworkManagerAP.h
6509                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6510                 - (freq_to_channel): handle split band tables
6511                 - (channel_to_freq): handle split band tables, take a band argument
6512
6513 2007-12-24  Dan Williams  <dcbw@redhat.com>
6514
6515         * libnm-util/nm-setting-connection.h
6516           libnm-util/nm-setting-connection.c
6517                 - Add 'lockdown' member
6518
6519 2007-12-22  Dan Williams  <dcbw@redhat.com>
6520
6521         * libnm-util/nm-setting-wireless.c
6522                 - (nm_setting_wireless_class_init): add missing 'rate' property
6523                         specification
6524
6525 2007-12-18  Dan Williams  <dcbw@redhat.com>
6526
6527         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6528
6529         * src/nm-netlink-monitor.c
6530           src/nm-netlink-monitor.h
6531                 - Remove handrolled netlink, use libnl instead
6532
6533         * src/nm-device-802-3-ethernet.c
6534                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6535                    nm_device_802_3_ethernet_carrier_on): use new names
6536
6537 2007-12-17  Dan Williams  <dcbw@redhat.com>
6538
6539         * configure.in
6540                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6541                         and fixes memory leaks)
6542
6543         * src/nm-netlink.c
6544                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6545                         automatically handle the netlink PID
6546
6547 2007-12-17  Dan Williams  <dcbw@redhat.com>
6548
6549         Patch from Michael Biebl <biebl@debian.org>
6550
6551         * configure.in
6552           src/ppp-manager/Makefile.am
6553                 - fix up install dir of pppd plugin
6554                 - clean up configure.in a bit
6555
6556 2007-12-12  Dan Williams  <dcbw@redhat.com>
6557
6558         * system-settings/src/nm-system-settings.conf
6559                 - Allow non-root clients (like the applet) to read settings
6560
6561 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6562
6563         * Replace all occurences of 'UMTS' with 'GSM'.
6564
6565 2007-12-07  Dan Williams  <dcbw@redhat.com>
6566
6567         * src/nm-serial-device.c
6568                 - (real_is_up): serial devices are always "up"
6569
6570 2007-12-07  Dan Williams  <dcbw@redhat.com>
6571
6572         * src/nm-netlink.c
6573           src/NetworkManagerSystem.c
6574                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6575                         twice (gnome.org #491047)
6576                 - Make more robust against allocation-related failures should they occur
6577
6578 2007-12-07  Dan Williams  <dcbw@redhat.com>
6579
6580         Noticed by Christian Persch <chpe@gnome.org>
6581
6582         Always chain up to parent object in dispose and finalize handlers.
6583                 (gnome.org #433112)
6584
6585 2007-12-07  Dan Williams  <dcbw@redhat.com>
6586
6587         * src/nm-device-802-11-wireless.c
6588                 - Wrap #include of linux/mii.h to fix redefined structures due to
6589                         incorrect kernel headers (gnome.org #350061)
6590
6591 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6592
6593         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6594         before doing anything else.
6595         (init_modem): Move modem initialization here.
6596
6597         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6598         (nm_serial_device_flash): Implement.
6599
6600         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6601         changes signal is "StateChanged" and not "Status".
6602         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6603
6604 2007-12-06  Dan Williams  <dcbw@redhat.com>
6605
6606         * src/supplicant-manager/nm-supplicant-config.c
6607                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6608                         to only send some options when they make sense; also send phase2
6609                         option to the supplicant (possible fix for rh #399631)
6610
6611 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6612
6613         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6614         arguments: This whole file shouldn't really know anything about NMDevices, it
6615         should deal only with device interfaces. Devices might have different ifaces for
6616         different stuff and this place shouldn't know anything about it.
6617
6618         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6619         (global_state_changed): Implement. In the current NM it's not really important,
6620         but will be required in the case of multiple active devices. (Or even better,
6621         if stuff like that gets moved out from NM).
6622
6623         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6624         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6625         instead.
6626
6627         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6628         devices like serial devices (ttyS0 and ppp0 for example).
6629         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6630         set.
6631         (nm_device_set_ip_iface): Implement.
6632         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6633         after setting ip4_config from here ...
6634         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6635         than this function should call nm_system_device_set_from_ip4_config() because no
6636         other code has enough information on which arguments to use. So instead, other code
6637         could just set the new ip4 config using this function and everyone is happy.
6638
6639         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6640         if we happen to get deactivated while something is pending.
6641         (automatic_registration): Handle the response that indicates pending network
6642         registration and wait until the pending registration is done.
6643         (real_deactivate_quickly): If there's a pending operation, cancel it.
6644
6645         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6646         (real_deactivate_quickly): ... and remove it when it's down.
6647         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6648         it if needed.
6649         (nm_serial_device_wait_for_reply): Ditto.
6650
6651 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6652
6653         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6654         (get_network_done): Remove newline, nm_info() does it already.
6655         (real_act_stage1_prepare): Turn the modem echo off.
6656
6657         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6658         device, set the route to the device interface. This is a hack.
6659
6660         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6661         return, no need for a new-line.
6662         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6663         Change the device iface here (ugh).
6664         (real_act_stage4_get_ip4_config): Implement.
6665         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6666         Restore the device iface.
6667
6668         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6669         device is not wired or wireless (eg, automatically upped) device.
6670
6671         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6672         it isn't.
6673         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6674
6675         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6676         before calling it's is_device_fn().
6677
6678 2007-12-05  Dan Williams  <dcbw@redhat.com>
6679
6680         * libnm-util/nm-utils.c
6681                 - (nm_utils_register_value_transformations,
6682                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6683                         GHashTables of GValues too
6684
6685 2007-12-04  Dan Williams  <dcbw@redhat.com>
6686
6687         * initscript/RedHat/NetworkManager.in
6688                 - No longer start named; it's D-Bus interface is going away
6689
6690 2007-12-04  Dan Williams  <dcbw@redhat.com>
6691
6692         Patch from Michael Biebl <biebl@debian.org>
6693
6694         * system-settings/plugins/ifcfg/Makefile.am
6695           system-settings/src/main.c
6696           system-settings/src/Makefile.am
6697                 - Put system settings plugins in NM plugins dir
6698
6699         * src/ppp-manager/Makefile.am
6700           src/ppp-manager/nm-ppp-manager.c
6701                 - Move pppd plugin to NM plugins dir
6702
6703 2007-12-04  Dan Williams  <dcbw@redhat.com>
6704
6705         * libnm-util/nm-setting-vpn-properties.h
6706                 - Clarify usage of the 'data' member of the setting
6707
6708         * libnm-util/nm-setting-vpn-properties.c
6709                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6710                 - (set_property): just remove all the settings; don't recreate the has
6711                 - (update_one_secret): don't need to create the hash table here since
6712                         it should always be present
6713
6714 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6715
6716         Implement PIN and PUK requesting.
6717
6718         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6719         (enter_pin): Handle PIN and PUK requests.
6720         (real_act_stage1_prepare): Clear the secret type.
6721         (real_connection_secrets_updated): Implement this class method to get
6722         notified when new secrets arrive.
6723         (nm_umts_device_class_init): Add private data back to the umts device class
6724         to store the required secret type.
6725
6726 2007-12-01  Dan Williams  <dcbw@redhat.com>
6727
6728         * system-settings/plugins/ifcfg/parser.c
6729                 - (parser_parse_file): don't try to verify NULL connections
6730
6731 2007-12-01  Dan Williams  <dcbw@redhat.com>
6732
6733         * system-settings/src/main.c
6734                 - (load_connections, add_connection_to_settings): actually export
6735                         plugin-provided connections over D-Bus so NM can get them
6736
6737 2007-12-01  Dan Williams  <dcbw@redhat.com>
6738
6739         * system-settings/plugins/ifcfg/parser.c
6740           system-settings/plugins/ifcfg/parser.h
6741           system-settings/plugins/ifcfg/plugin.c
6742                 - Hook up more inotify bits (untested)
6743
6744 2007-11-29  Dan Williams  <dcbw@redhat.com>
6745
6746         * system-settings/src/nm-system-config-interface.h
6747           system-settings/src/nm-system-config-interface.c
6748                 - (nm_system_config_interface_init,
6749                    nm_system_config_interface_get_connections): add
6750
6751         * system-settings/src/main.c
6752                 - (load_plugins, load_connections, main): use a GSList for plugins
6753                         to ensure priority ordering
6754
6755         * system-settings/plugins/ifcfg/parser.c
6756                 - (ifcfg_error_quark): move to plugin.c, and rename
6757
6758         * system-settings/plugins/ifcfg/plugin.h
6759           system-settings/plugins/ifcfg/plugin.c
6760                 - (ifcfg_plugin_error_quark): move here from parser.c
6761                 - rework connection loading and initialization
6762                 - Add preliminary inotify support for network profile config file
6763
6764 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6765
6766         Merge the beginnings of the new GSM card support.
6767
6768         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6769         ppp watch source before killing pppd - If this happens from g_object_unref()
6770         then the ppp manager is already destroyed by the time the watch callback runs.
6771
6772         * src/nm-hal-manager.c: Add a device_type_name string to the device
6773         creators, so that we can print a nice human readable string when a
6774         device is added.
6775
6776         * src/nm-umts-device.c (automatic_registration_get_network): Query
6777         for the activated network, not much is done with the result thought.
6778
6779         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6780         (ppp_ip4_config): Change the device state to activated here for now.
6781         (real_check_connection): Make sure the connection includes ppp setting.
6782
6783         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6784
6785         * libnm-glib/Makefile.am: Add the new files to build.
6786
6787         * libnm-glib/nm-umts-device.c: 
6788         * libnm-glib/nm-umts-device.h: Implement.
6789
6790 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6791
6792         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6793         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6794
6795         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6796         the timeout source - this function is only called when the timeout source has
6797         been removed.
6798         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6799         to be big enough to contain the terminating zero element as well.
6800         The timeout argument is meant to be in seconds now.
6801         (real_deactivate_quickly): Implement.
6802
6803         * src/NetworkManager.conf: Allow root to own 
6804         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6805
6806         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6807         (not unsigned ints).
6808
6809         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6810         small issue with parity bounds - capital letters have lower ascii codes
6811         than lower case letters.
6812
6813         * libnm-util/nm-connection.c (register_default_settings): Register serial
6814         and umts settings.
6815
6816 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6817
6818         Remove the "index" property from devices as not all device types have this.
6819
6820         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6821
6822         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6823         (wired_device_creator): Get the device interface from hal to create the device.
6824         (wireless_device_creator): Ditto.
6825
6826         * src/nm-device.c (nm_device_init): Remove the index member.
6827         (constructor): Remove the checks for index property, make interface property
6828         a require constructor property.
6829         Use the HAL udi for DBus path for devices.
6830         (nm_device_get_index): Remove.
6831         (set_property): Remove index handling.
6832         (get_property): Ditto.
6833         (nm_device_get_dbus_path): Remove.
6834
6835         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6836         property.
6837
6838         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6839         Access the device index through it's interface.
6840         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6841         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6842         index argument. Add interface argument.
6843
6844         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6845         the useless test_dev argument. Remove index argument. Add interface arugment.
6846
6847         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6848         device index through interface.
6849         (nm_system_set_mtu): Ditto.
6850
6851         * introspection/nm-device.xml: Remove the "Index" property.
6852
6853 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6854
6855         * src/nm-serial-device.c: 
6856         * src/nm-serial-device.c: 
6857         * src/nm-umts-device.c:
6858         * src/nm-umts-device.h: Implement.
6859
6860         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6861         allocated by libhal.
6862         (modem_device_creator): Implement.
6863         (register_built_in_creators): Register the modem creator.
6864
6865         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6866         Remove the unused test_dev argument.
6867
6868         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6869
6870         * src/Makefile.am: Add new files to build.
6871         Link in ppp-manager.
6872
6873         * libnm-util/nm-setting-umts.c: 
6874         * libnm-util/nm-setting-umts.h: 
6875         * libnm-util/nm-setting-serial.c: 
6876         * libnm-util/nm-setting-serial.h: Implement.
6877
6878         * libnm-util/Makefile.am: Add new files to build.
6879
6880 2007-11-28  Dan Williams  <dcbw@redhat.com>
6881
6882         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6883
6884         Support DHCP-provided static routes.
6885
6886         * src/nm-ip4-config.h
6887           src/nm-ip4-config.c
6888                 - Add get/set functions for static routes
6889
6890         * src/dhcp-manager/nm-dhcp-manager.c
6891                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6892                         DHCP response
6893
6894         * src/NetworkManagerSystem.c
6895                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6896                         interface when applying the IP4Config
6897
6898 2007-11-28  Dan Williams  <dcbw@redhat.com>
6899
6900         * src/nm-device-802-11-wireless.c
6901                 - (real_act_stage1_prepare): mark APs created for hidden networks
6902                         as non-broadcasting
6903
6904 2007-11-27  Dan Williams  <dcbw@redhat.com>
6905
6906         * system-settings/src/nm-system-config-interface.h
6907                 - Note how to store secrets on NMSetting objects
6908
6909         * system-settings/src/dbus-settings.c
6910                 - (connection_settings_get_secrets): implement
6911
6912 2007-11-27  Dan Williams  <dcbw@redhat.com>
6913
6914         * system-settings/plugins/ifcfg/Makefile.am
6915           system-settings/plugins/ifcfg/parser.c
6916           system-settings/plugins/ifcfg/parser.h
6917           system-settings/plugins/ifcfg/plugin.c
6918                 - Parse wireless connections too
6919
6920         * system-settings/src/dbus-settings.c
6921           system-settings/src/dbus-settings.h
6922           system-settings/src/main.c
6923                 - Handle connection update/removal if the plugin supports it
6924
6925 2007-11-27  Dan Williams  <dcbw@redhat.com>
6926
6927         * src/nm-dbus-manager.h
6928           src/nm-hal-manager.c
6929                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6930                         do it for them
6931
6932         * src/Makefile.am
6933           src/NetworkManagerDbusUtils.c
6934           src/NetworkManagerDbusUtils.h
6935                 - Remove these two source files; they are unused
6936
6937 2007-11-27  Dan Williams  <dcbw@redhat.com>
6938
6939         * src/vpn-manager/nm-vpn-manager.c
6940                 - (impl_vpn_manager_connect): fix system settings check (found by
6941                         James M. Leddy)
6942
6943 2007-11-26  Dan Williams  <dcbw@redhat.com>
6944
6945         * Fix warnings so everything compiles with --enable-more-warnings
6946
6947 2007-11-25  Dan Williams  <dcbw@redhat.com>
6948
6949         * system-settings/*
6950                 - Rework structure and code to use GModule-loaded plugins and a plugin
6951                         interface that plugins export to the system settings service
6952
6953 2007-11-21  Dan Williams  <dcbw@redhat.com>
6954
6955         * system-settings/*
6956                 - Add Soren's system settings service.  Needs work for distros other
6957                         than Fedora; the backends from NM should mostly migrate to here
6958                         and be converted to GObjects
6959
6960 2007-11-21  Dan Williams  <dcbw@redhat.com>
6961
6962         * libnm-util/nm-setting-vpn-properties.c
6963                 - (set_property): must deep-copy the given settings hash, otherwise
6964                         double-free errors occur when the setting is disposed of
6965
6966 2007-11-21  Dan Williams  <dcbw@redhat.com>
6967
6968         * src/vpn-manager/nm-vpn-act-request.h
6969           src/vpn-manager/nm-vpn-act-request.c
6970                 - Remove; unused
6971
6972 2007-11-20  Dan Williams  <dcbw@redhat.com>
6973
6974         * libnm-util/nm-utils.c
6975                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6976                    nm_utils_convert_ip4_addr_struct_array_to_string,
6977                    nm_utils_register_value_transformations): print out the readable
6978                         values of more types of properties of NMSettings subclasses
6979
6980 2007-11-20  Dan Williams  <dcbw@redhat.com>
6981
6982         * libnm-util/nm-setting-ip4-config.c
6983                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6984                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6985                         marshal GValueArrays inside collections, so switch to types that it
6986                         can actually marshal/demarshal
6987
6988 2007-11-16  Dan Williams  <dcbw@redhat.com>
6989
6990         * libnm-util/nm-setting-wireless-security.c
6991                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6992                         minimal verification of EAP methods too
6993                 - (verify): verify phase1 eap methods too
6994
6995 2007-11-15  Dan Williams  <dcbw@redhat.com>
6996
6997         * libnm-glib/nm-device.h
6998           libnm-glib/nm-device.c
6999                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7000                         const char *
7001
7002 2007-11-15  Dan Williams  <dcbw@redhat.com>
7003
7004         * libnm-glib/nm-device.c
7005                 - (get_product_and_vendor): don't try to free things that should be
7006                         freed
7007
7008 2007-11-15  Dan Williams  <dcbw@redhat.com>
7009
7010         * src/NetworkManagerUtils.c
7011                 - (nm_ethernet_address_is_valid): unbreak previous fix
7012
7013 2007-11-15  Dan Williams  <dcbw@redhat.com>
7014
7015         * src/supplicant-manager/nm-supplicant-config.c
7016                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7017                         options
7018
7019 2007-11-15  Dan Williams  <dcbw@redhat.com>
7020
7021         * src/NetworkManagerUtils.c
7022                 - (nm_ethernet_address_is_valid): fix style, clarify
7023                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7024
7025         * src/nm-device-802-11-wireless.c
7026                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7027                 - (nm_device_802_11_wireless_get_ssid,
7028                    nm_device_802_11_wireless_get_bssid,
7029                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7030                         before calling the ioctl; fixes valgrind-reported jump depends on
7031                         uninitialized value errors
7032
7033 2007-11-15  Dan Williams  <dcbw@redhat.com>
7034
7035         * libnm-util/nm-setting.c
7036                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7037                         unecessary to serialize 'name'
7038
7039         * src/nm-activation-request.c
7040                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7041                         the GetSecrets call
7042
7043 2007-11-15  Dan Williams  <dcbw@redhat.com>
7044
7045         * libnm-util/nm-setting-connection.h
7046           libnm-util/nm-setting-connection.c
7047                 - Rename the 'name' property to 'id', because it conflicted with the
7048                         NMSetting superclass' 'name' property.
7049
7050         * libnm-util/nm-setting.c
7051                 - (nm_setting_to_hash): serialize the 'name' property
7052                 - (one_property_cb): ignore 'name' on deserialization of a connection
7053
7054         * src/nm-device-802-11-wireless.c
7055           src/vpn-manager/nm-vpn-connection.c
7056           src/NetworkManagerPolicy.c
7057                 - Fix up for NMSettingConnection 'name'->'id' changes
7058
7059 2007-11-13  Dan Williams  <dcbw@redhat.com>
7060
7061         * libnm-glib/nm-device-802-11-wireless.h
7062           libnm-glib/nm-device-802-11-wireless.c
7063                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7064
7065         * test/nm-tool.c
7066           libnm-glib/libnm-glib-test.c
7067                 - Fixes for above change
7068
7069 2007-11-12  Dan Williams  <dcbw@redhat.com>
7070
7071         * src/supplicant-manager/nm-supplicant-settings-verify.c
7072                 - Allow fragment_size option
7073
7074         * src/supplicant-manager/nm-supplicant-settings-verify.c
7075                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7076                         EAP fragment size than the default to help some TLS connections
7077
7078 2007-11-12  Dan Williams  <dcbw@redhat.com>
7079
7080         Make certs actually work.  The private key is now a secret, and should be
7081         decrypted when requested by NM.  The private key and phase2 private key
7082         passwords are no longer interesting to NM because they should be used by
7083         the settings service to decrypt the private key itself before passing it
7084         to NM, and hence have been removed as fields.
7085
7086         * libnm-util/nm-setting-wireless-security.h
7087           libnm-util/nm-setting-wireless-security.c
7088                 - Remove private-key-passwd and phase2-private-key-passwd from
7089                         properties
7090                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7091                    need_secrets): use property #defines instead strings to keep things
7092                         consistent
7093                 - (need_secrets_tls): if a client certificate is present but no
7094                         private key, request the private key
7095                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7096                         remove private key password stuff, mark private keys as secret
7097
7098         * src/supplicant-manager/nm-supplicant-settings-verify.c
7099                 - Remove private_key_passwd and private_key2_passwd from opt_table
7100
7101 2007-11-09  Dan Williams  <dcbw@redhat.com>
7102
7103         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7104         Since the vpn-properties are managed and known by the VPN daemons themselves,
7105         libnm-util doesn't know what's secret and what's in the setting's 'data'
7106         member.
7107
7108         * libnm-util/nm-setting.h
7109           libnm-util/nm-setting.c
7110                 - Add the ability for subclasses to override update_one_secret
7111
7112         * libnm-util/nm-setting-vpn-properties.c
7113                 - Override update_one_secret and just copy the values into the
7114                         internal table
7115
7116 2007-11-09  Dan Williams  <dcbw@redhat.com>
7117
7118         * libnm-glib/nm-settings.h
7119           libnm-glib/nm-settings.c
7120                 - (nm_settings_new_error): remove
7121                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7122                         clients should use g_set_error() with NM_SETTINGS_ERROR
7123
7124 2007-11-09  Dan Williams  <dcbw@redhat.com>
7125
7126         * src/supplicant-manager/nm-supplicant-config.c
7127                 - (nm_supplicant_config_add_setting_wireless_security): private key
7128                         passwords are never sent to wpa_supplicant, because the supplicant
7129                         should never be reading random files from the disk.  Clients like
7130                         the applet are required to decrypt the private keys and send NM
7131                         the decrypted blobs.
7132
7133 2007-11-08  Dan Williams  <dcbw@redhat.com>
7134
7135         * libnm-util/nm-setting-wireless-security.h
7136           libnm-util/nm-setting-wireless-security.c
7137                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7138                         members to 802-11-wireless-security structure.  This should be used
7139                         to indicate that the values in private-key and phase2-private-key
7140                         are already decrypted by the user agent, and that no
7141                         private-key-passwd or phase2-private-key-passwd should be expected.
7142                         It is not meant to be a stored configuration value, but meant to
7143                         be set when the conneciton is sent to NM over dbus.
7144
7145 2007-11-08  Dan Williams  <dcbw@redhat.com>
7146
7147         * libnm-util/nm-connection.h
7148           libnm-util/nm-connection.c
7149                 - (nm_connection_need_secrets): add argument to return hints
7150
7151         * src/nm-device-802-11-wireless.c
7152                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7153                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7154                         nm_connection_need_secrets() change
7155
7156 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7157
7158         Rework NMSetting structures: Move each setting to it's own file.
7159         Convert to GObject. Remove home grown setting types and use GTypes.
7160         Use GObject property introspection for hash conversion, enumerating
7161         properties, etc.
7162
7163         * libnm-util/nm-setting-connection.[ch]
7164         * libnm-util/nm-setting-ip4-config.[ch]
7165         * libnm-util/nm-setting-ppp.[ch]
7166         * libnm-util/nm-setting-vpn.[ch]
7167         * libnm-util/nm-setting-vpn-properties.[ch]
7168         * libnm-util/nm-setting-wired.[ch]
7169         * libnm-util/nm-setting-wireless.[ch]
7170         * libnm-util/nm-setting-wireless-security.[ch]
7171
7172         New files, each containing a setting.
7173
7174         * libnm-util/nm-setting-template.[ch]: A template for creating new
7175         settings. To use it, just replace 'template' with the new setting
7176         name, and you're half-way done.
7177
7178         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7179         introspection instead of internal types and tables.
7180
7181         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7182
7183         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7184         GValue types defined by dbus-glib for composed types like collections,
7185         structures and maps.
7186
7187         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7188         a setting from connection takes the setting type now. Also, since
7189         the settings are in multiple files, include relevant settings.
7190
7191 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7192
7193         * configure.in:
7194         * src/backends/NetworkManagerGentoo.c:
7195         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7196         providers in Gentoo.
7197
7198 2007-10-31  Dan Williams  <dcbw@redhat.com>
7199
7200         * libnm-util/nm-connection.c
7201                 - (gvalue_to_string): handle UINT32 arrays
7202
7203 2007-10-31  Dan Williams  <dcbw@redhat.com>
7204
7205         * libnm-glib/nm-device.h
7206           libnm-glib/nm-device.c
7207                 - (nm_device_get_description): remove
7208                 - (nm_device_get_product, nm_device_get_vendor): add
7209                 - (nm_device_update_description): new function (private); walk HAL
7210                         devices to get product and vendor IDs for a specific device
7211
7212 2007-10-31  Dan Williams  <dcbw@redhat.com>
7213
7214         * src/nm-device-802-11-wireless.c
7215                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7216
7217 2007-10-29  Dan Williams  <dcbw@redhat.com>
7218
7219         * src/nm-hal-manager.c
7220                 - (device_added, device_new_capability): ignore device additions while
7221                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7222                         kernel module is unloaded and reloaded and recognized by NM again.
7223
7224 2007-10-26  Dan Williams  <dcbw@redhat.com>
7225
7226         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7227
7228         * src/NetworkManagerAP.c
7229           src/NetworkManagerAP.h
7230           libnm-glib/nm-access-point.c
7231           libnm-glib/nm-access-point.h
7232                 - Make 'rate' property a guint32 to better match with WEXT and
7233                         wpa_supplicant and to allow representation of higher bitrates
7234
7235         * src/nm-device-802-11-wireless.c
7236           introspection/nm-device-802-11-wireless.xml
7237           libnm-glib/nm-device-802-11-wireless.c
7238           libnm-glib/nm-device-802-11-wireless.h
7239                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7240
7241         * src/nm-device-802-3-ethernet.c
7242           src/nm-device-802-3-ethernet.h
7243           introspection/nm-device-802-3-ethernet.xml
7244           libnm-glib/nm-device-802-3-ethernet.c
7245           libnm-glib/nm-device-802-3-ethernet.h
7246                 - Make 'speed' property a guint32 to match other speed/rate types
7247                 - Make nm_device_802_3_ethernet_get_speed() static
7248
7249         * test/nm-tool.c
7250                 - Update for the changes above
7251
7252 2007-10-26  Dan Williams  <dcbw@redhat.com>
7253
7254         * src/named-manager/nm-named-manager.c
7255                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7256                     not calling fclose() twice on some error conditions
7257
7258 2007-10-26  Dan Williams  <dcbw@redhat.com>
7259
7260         * src/nm-activation-request.c
7261                 - (dispose): clean up indentation; get the right DBusGProxy object to
7262                         cancel the GetSecrets pending call on.  Need to use the Secrets
7263                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7264                         pending call doesn't get canceled, and pressing Cancel in the
7265                         applet's password dialog could cause get_secrets_cb() to be called
7266                         after the activation request has already been destroyed
7267
7268 2007-10-24  Dan Williams  <dcbw@redhat.com>
7269
7270         * src/supplicant-manager/nm-supplicant-config.c
7271                 - (nm_supplicant_config_add_blob): pass blob data and length for
7272                         verification
7273                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7274
7275 2007-10-24  Dan Williams  <dcbw@redhat.com>
7276
7277         * src/supplicant-manager/nm-supplicant-settings-verify.c
7278                 - (opt_table): max length for certificates should be 65536
7279
7280 2007-10-24  Dan Williams  <dcbw@redhat.com>
7281
7282         * src/supplicant-manager/nm-supplicant-interface.c
7283                 - (blob_free): correctly free blob data after use
7284                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7285
7286 2007-10-24  Dan Williams  <dcbw@redhat.com>
7287
7288         * libnm-util/nm-setting.c
7289                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7290                         EAP method need secrets
7291
7292 2007-10-24  Dan Williams  <dcbw@redhat.com>
7293
7294         * src/backends/NetworkManagerRedHat.c
7295                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7296
7297 2007-10-23  Dan Williams  <dcbw@redhat.com>
7298
7299         * libnm-util/nm-setting.c
7300           libnm-util/nm-setting.c
7301                 - (nm_setting_compare): implement
7302                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7303                    compare_one_hash_gvalue): compare the contents of a setting
7304
7305         * libnm-util/nm-connection.c
7306                 - (nm_connection_compare): implement
7307
7308 2007-10-23  Dan Williams  <dcbw@redhat.com>
7309
7310         * src/nm-activation-request.c
7311                 - (get_secrets_cb): handle getting a setting back that is more than
7312                         just secrets (ie, user changed auth or EAP method or something)
7313
7314 2007-10-23  Dan Williams  <dcbw@redhat.com>
7315
7316         * libnm-util/nm-setting.c
7317           libnm-util/nm-setting.h
7318                 - (nm_setting_verify): new function; verify one setting
7319                 - (nm_settings_verify_all): rename from nm_settings_verify()
7320                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7321                         all_settings
7322
7323         * libnm-util/nm-connection.c
7324                 - (nm_connection_replace_settings, nm_connection_verify,
7325                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7326
7327 2007-10-23  Dan Williams  <dcbw@redhat.com>
7328
7329         * src/nm-device-802-11-wireless.c
7330                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7331                         desired behavior
7332
7333 2007-10-23  Dan Williams  <dcbw@redhat.com>
7334
7335         * src/supplicant-manager/nm-supplicant-settings-verify.c
7336                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7337                         nm-settings.c
7338
7339 2007-10-23  Dan Williams  <dcbw@redhat.com>
7340
7341         * src/nm-device-802-11-wireless.c
7342                 - (real_act_stage2_config): after the first association failure,
7343                         if the connection still needs secrets ask the user for them
7344                         explicitly.  After the fourth association failure due to bad
7345                         secrets, fail the connection entirely.  Handles the GetSecrets
7346                         loop that NM gets into when the provided secrets don't match up
7347                         with the connection details.
7348
7349 2007-10-23  Dan Williams  <dcbw@redhat.com>
7350
7351         * src/supplicant-manager/nm-supplicant-config.c
7352                 - (nm_supplicant_config_add_setting_wireless_security): only add
7353                         WPA-specific options when WPA is in use
7354
7355 2007-10-23  Dan Williams  <dcbw@redhat.com>
7356
7357         * src/supplicant-manager/nm-supplicant-config.c
7358                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7359                         secret doesn't need to be unhexified
7360
7361 2007-10-23  Dan Williams  <dcbw@redhat.com>
7362
7363         * libnm-util/nm-setting.c
7364                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7365                         before trying to do something with it
7366
7367 2007-10-23  Dan Williams  <dcbw@redhat.com>
7368
7369         * src/nm-device-802-11-wireless.c
7370                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7371
7372 2007-10-23  Dan Williams  <dcbw@redhat.com>
7373
7374         * src/nm-device-802-11-wireless.c
7375                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7376                         non-SSID-broadcasting APs
7377
7378 2007-10-23  Dan Williams  <dcbw@redhat.com>
7379
7380         * src/NetworkManagerAP.c
7381                 - (match_cipher, security_compatible): remove
7382                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7383                         libnm-util instead
7384
7385 2007-10-23  Dan Williams  <dcbw@redhat.com>
7386
7387         * libnm-util/nm-utils.c
7388           libnm-util/nm-utils.h
7389                 - (nm_utils_ap_security_compatible): common function for checking
7390                         whether a specific AP is compatible with an NMConnection
7391
7392 2007-10-23  Dan Williams  <dcbw@redhat.com>
7393
7394         * libnm-util/nm-setting.c
7395                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7396                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7397                    need_secrets_password, setting_wireless_security_verify): fix
7398                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7399                         secrets logic for each supported EAP method
7400
7401 2007-10-23  Dan Williams  <dcbw@redhat.com>
7402
7403         * src/supplicant-manager/nm-supplicant-config.c
7404                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7405                         config option name, should be "private_key2_passwd"
7406
7407 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7408
7409         Implement support for static IP addresses, additional/overridden DNS and
7410         DNS domain search lists.
7411
7412         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7413         (ip4_addresses_to_gvalue): Implement.
7414         (convert_array_to_byte_array): Implement.
7415         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7416         NM_S_TYPE_IP4_ADDRESSES.
7417         (nm_setting_hash): Ditto.
7418         (default_setting_clear_secrets): Add a default case for the switch: IP address
7419         shouldn't be secret, ever.
7420         (setting_ip4_config_verify): Update, requires addresses in case of manual
7421         configurations.
7422         (setting_ip4_config_destroy): Free stuff.
7423
7424         * src/nm-device.c (merge_ip4_config): Implement.
7425         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7426
7427 2007-10-22  Dan Williams  <dcbw@redhat.com>
7428
7429         * libnm-util/nm-setting.c
7430                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7431                         pairwise cipher options for Dynamic WEP
7432
7433 2007-10-21  Dan Williams  <dcbw@redhat.com>
7434
7435         * src/NetworkManagerAP.c
7436           src/NetworkManagerAP.h
7437                 - Rename 'articifical' -> 'fake' since that's what they are until
7438                         noticed in scans
7439                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7440                         from the attributes in an NMConnection object
7441                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7442                         WPA Enterprise
7443                 - (nm_ap_match_in_list): find a matching AP in a scan list
7444
7445         * src/nm-device-802-11-wireless.c
7446                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7447                         AP when searching the scan list; match on frequency and mode too
7448                 - (nm_device_802_11_wireless_get_frequency): implement
7449                 - (merge_scanned_ap): replace duplicate matching logic with
7450                         nm_ap_match_in_list()
7451                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7452                         the user is trying to connect to a hidden network that is not yet
7453                         known from the scan list
7454                 - (activation_success_handler): now that the card knows the AP's BSSID,
7455                         there may already be a scanned AP in the scan list that is what
7456                         we really wanted to connect to, but didn't know at the time.  Use
7457                         that instead of the 'fake' AP created at activation start and get
7458                         rid of the 'fake' AP 
7459                 - (cull_scan_list): don't remove fake APs
7460
7461 2007-10-21  Dan Williams  <dcbw@redhat.com>
7462
7463         * src/nm-activation-request.h
7464           src/nm-activation-request.c
7465                 - (nm_act_request_set_specific_object): new function; allow setting the
7466                         specific object if one isn't set yet
7467
7468 2007-10-20  Dan Williams  <dcbw@redhat.com>
7469
7470         * src/supplicant-manager/nm-supplicant-config.h
7471           src/supplicant-manager/nm-supplicant-config.c
7472                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7473                         table to store blobs
7474                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7475                         blob hash table
7476                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7477                 - (nm_supplicant_config_add_setting_wireless_security): handle
7478                         options that use certificates (ie, blobs)
7479
7480         * src/nm-device-802-11-wireless.c
7481                 - (build_supplicant_config): pass a UID (just use the connection path)
7482                         to the supplicant config as now required
7483
7484         * src/supplicant-manager/nm-supplicant-interface.c
7485                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7486                         there are any blobs to send to wpa_supplicant, send those first
7487                         before sending the network configuration
7488
7489 2007-10-19  Dan Williams  <dcbw@redhat.com>
7490
7491         Split the GetSecrets() call off to a separate D-Bus interface so that it
7492         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7493         should be able to call GetSecrets().
7494
7495         * include/NetworkManager.h
7496                 - Define the connection secrets D-Bus interface
7497
7498         * src/vpn-manager/nm-vpn-connection.c
7499                 - (clear_need_auth): get the right proxy object for the connection
7500                         secrets interface
7501                 - (get_connection_secrets): use the connection secrets proxy; send
7502                         empty hints in get secrets request
7503
7504         * src/nm-activation-request.c
7505                 - (nm_act_request_request_connection_secrets): use the connection
7506                         secrets proxy; send empty hints in get secrets request
7507
7508         * src/nm-manager.c
7509           src/nm-manager.h
7510                 - (connection_get_settings_cb): set the connection secrets proxy on
7511                         the connection object too
7512                 - (internal_new_connection_cb): create the connection secrets proxy
7513
7514         * introspection/nm-settings-connection.xml
7515                 - Define Connection.Secrets interface and move GetSecrets there
7516                 - Add a 'hints' argument to GetSecrets
7517
7518         * libnm-glib/nm-settings.c
7519           libnm-glib/nm-settings.h
7520                 - (impl_connection_settings_get_secrets): add 'hints' argument
7521
7522 2007-10-19  Dan Williams  <dcbw@redhat.com>
7523
7524         * src/nm-device.c
7525                 - (constructor): add message about what path a device is exported as
7526                         to help in debugging rh #339011
7527
7528 2007-10-17  Dan Williams  <dcbw@redhat.com>
7529
7530         * libnm-util/nm-utils.h
7531           libnm-util/nm-utils.c
7532                 - (nm_utils_security_valid): common function to help find the intersection
7533                         of capabilities of devices and (optionally) access points
7534
7535 2007-10-17  Dan Williams  <dcbw@redhat.com>
7536
7537         * src/nm-device-802-11-wireless.c
7538                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7539                         don't get erroneously cleared
7540
7541 2007-10-17  Dan Williams  <dcbw@redhat.com>
7542
7543         * src/nm-manager.h
7544           src/nm-manager.c
7545           src/nm-hal-manager.c
7546                 - (device_removed, finalize, nm_manager_remove_device,
7547                    nm_manager_sleep): add a 'deactivate' argument to 
7548                    nm_manager_remove_device() to fully deactivate devices when necessary
7549                    (ie, always except when waking up)
7550
7551 2007-10-16  Dan Williams  <dcbw@redhat.com>
7552
7553         * libnm-util/nm-setting.c
7554                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7555                         also isn't valid phase2 autheap method
7556
7557 2007-10-16  Dan Williams  <dcbw@redhat.com>
7558
7559         * libnm-glib/nm-client.c
7560                 - (update_wireless_status): consolidate updates of wireless status
7561                 - (constructor): use update_wireless_status()
7562                 - (manager_running): set wireless status off when NM goes away; requery
7563                         the wireless status when NM comes back
7564
7565 2007-10-16  Dan Williams  <dcbw@redhat.com>
7566
7567         * libnm-glib/nm-client.c
7568                 - (nm_client_activate_device): actually use the fixed-up specific
7569                         object path
7570
7571 2007-10-16  Dan Williams  <dcbw@redhat.com>
7572
7573         * src/nm-hal-manager.c
7574                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7575                         killswitch error messages once
7576
7577 2007-10-16  Dan Williams  <dcbw@redhat.com>
7578
7579         * src/nm-manager.c
7580                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7581                         if it's disabled in hardware; don't touch network devices while
7582                         NM is asleep
7583
7584 2007-10-16  Dan Williams  <dcbw@redhat.com>
7585
7586         * libnm-util/nm-client.c
7587                 - (nm_client_activate_device): convert NULL specific_object to "/",
7588                         which is used in place of NULL
7589
7590         * src/nm-manager.c
7591                 - (impl_manager_activate_device): convert "/" specific_object back into
7592                         NULL
7593
7594 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7595
7596         Implement a generic NMSetting creator from setting name.
7597         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7598         add a virtual function 'populate_fn'.
7599
7600         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7601         (register_default_creators): Register setting creators instead of functions
7602         that create and then populate.
7603         (parse_one_setting): Use the common setting creator and then setting specific
7604         poplulation function.
7605
7606         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7607         they all looked exactly the same.
7608         Add a 'populate_fn' virtual function to NMSetting.
7609         Use default virtual functions in case they are not overriden.
7610         (nm_setting_populate_from_hash): Implement.
7611
7612         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7613         name, use a defined string.
7614         (real_act_stage4_get_ip4_config): Ditto.
7615
7616 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7617
7618         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7619         HAL is int, not uint.
7620
7621 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7622
7623         Implement killswitch polling through HAL.
7624
7625         * src/nm-manager.c: Add wireless hardware status property. Add 
7626         'properties-changed' signal for changes in wireless and wireless hardware
7627         state changes.
7628
7629         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7630         and update NMManager's wireless hardware state when it has changed.
7631         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7632         already does that.
7633
7634         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7635         values of wireless state and wireless hardware state. Listen for the
7636         'properties-changed' signals, update the cached values and emit notify.
7637
7638         * include/NetworkManager.h: Fix a typo in a comment.
7639
7640 2007-10-14  Dan Williams  <dcbw@redhat.com>
7641
7642         * libnm-util/nm-setting.c
7643                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7644
7645 2007-10-13  Dan Williams  <dcbw@redhat.com>
7646
7647         * libnm-util/nm-setting.h
7648           libnm-util/nm-setting.c
7649           src/supplicant-manager/nm-supplicant-config.c
7650                 - Make the 'proto' field of the 802-11-wireless-security field a
7651                         string list
7652
7653 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7654
7655         Rework the "properties-changed" signal listening implementation.
7656         Add a generic implementation to NMObject class that listens for
7657         the signal and calls property setters of the target NMObject.
7658
7659         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7660
7661         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7662         code to the end of file so that all the static functions are available
7663         without extra declarations.
7664         Remove the "properties-changed" signal handling and use the framework from
7665         NMObject.
7666         Implement property setters for properties that change with 
7667         "properties-changed" signal.
7668
7669         * libnm-glib/nm-access-point.c: Ditto.
7670
7671 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7672
7673         Rework the "properties-changed" signal implementation.
7674         In classes that need to use it, just emit "GObject::notify" and the new
7675         framework takes care of the rest to make the signal available on dbus.
7676         The framework queues the notifications and tries to send as many together
7677         in one signal as possible.
7678
7679         * src/nm-properties-changed-signal.c:
7680         * src/nm-properties-changed-signal.h: Implement.
7681
7682         * src/Makefile.am: Add new files to build.
7683
7684         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7685         signal.
7686
7687         * src/nm-device-802-11-wireless.c: Ditto.
7688
7689 2007-10-10  Dan Williams  <dcbw@redhat.com>
7690
7691         * src/nm-manager.c
7692                 - (wait_for_connection_expired): ensure info is valid
7693                 - (connection_added_default_handler): Should only remove pending
7694                         connection info when the manager has the connection that it's
7695                         waiting for.  Fixes segfault in wait_for_connection_info().  
7696
7697 2007-10-10  Dan Williams  <dcbw@redhat.com>
7698
7699         * libnm-util/nm-setting.c
7700           libnm-util/nm-setting.h
7701                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7702                         can use if they choose.  Should be filled in by the settings service
7703                         on-the-fly with the currently logged in user's username
7704
7705 2007-10-10  Dan Williams  <dcbw@redhat.com>
7706
7707         * src/nm-device-802-11-wireless.c
7708                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7709                         as such, because even if the manager fills in the SSID, NM still
7710                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7711                         its SSID
7712
7713 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7714
7715         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7716         code that used NM's own version of dbus signal handling and custom dictionary
7717         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7718         and we get to maintain over 2000 lines less code.
7719
7720         * libnm-util/dbus-dict-helpers.c:
7721         * libnm-util/dbus-dict-helpers.h: Remove.
7722
7723         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7724
7725         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7726
7727         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7728         handlers.
7729
7730         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7731
7732         * configure.in: Remove test/libnm-util/Makefile creation.
7733
7734         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7735
7736         * test/libnm-util/: Remove the whole directory.
7737
7738 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7739
7740         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7741         device_state_changed_idle_id variable or it would contain some random value and the
7742         schedule_change_check calls would not do anything.
7743
7744 2007-10-09  Dan Williams  <dcbw@redhat.com>
7745
7746         * src/nm-device-802-11-wireless.c
7747                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7748                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7749                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7750                         merging of non-SSID-broadcasting APs
7751
7752 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7753
7754         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7755         "guint8 *" since it's usually used with GByteArray->data.
7756         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7757
7758 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7759
7760         * src/NetworkManagerUtils.c
7761         (nm_utils_is_empty_ssid):
7762         (nm_utils_escape_ssid):
7763         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7764         lot of places, so they belong to libnm-utils instead.
7765
7766         Now with 100% less compiler warnings:
7767
7768         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7769         (nm_dbus_unescape_object_path): Ditto.
7770         (nm_utils_ssid_to_utf8): Ditto.
7771         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7772         (nm_utils_escape_ssid): Ditto.
7773         (nm_utils_same_ssid): Ditto.
7774
7775         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7776         (add_one_connection_element): Remove an unused variable.
7777         (impl_manager_get_active_connections): Ditto.
7778
7779         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7780         variable.
7781
7782         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7783         from the previous commit.
7784
7785         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7786         (real_act_stage1_prepare): Ditto.
7787         (activation_success_handler): Ditto.
7788         (get_property): Ditto.
7789
7790         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7791         variable.
7792
7793         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7794         it's always set.
7795
7796         * src/supplicant-manager/nm-supplicant-config.c 
7797         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7798         to expected "char *".
7799         (nm_supplicant_config_add_setting_wireless): Ditto.
7800         (nm_supplicant_config_remove_option): Remove, not used.
7801
7802         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7803         not double.
7804         (test_wireless_enabled): Ifdef out unused function.
7805         (device_deactivate): Ditto.
7806         (device_state_changed): Ditto.
7807         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7808         (nm_utils_escape_ssid): Ditto.
7809
7810         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7811         (nm_utils_is_empty_ssid): Ditto.
7812
7813         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7814         unused variable.
7815
7816         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7817         (setting_vpn_properties_update_secrets): Ditto.
7818         (int_to_gvalue): Ifdef out for now, not used.
7819         (byte_to_gvalue): Ditto.
7820
7821         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7822         Unused, remove.
7823
7824 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7825
7826         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7827         about dbus manager, not named manager.
7828         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7829
7830         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7831         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7832         However, the same signal is emitted when we destroy it and there's 
7833         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7834
7835         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7836         releasing the DBusGConnection, since proxy needs a conneciton.
7837         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7838
7839 2007-10-08  Dan Williams  <dcbw@redhat.com>
7840
7841         * src/NetworkManager.c
7842                 - (main): error on unknown command-line options
7843
7844 2007-10-08  Dan Williams  <dcbw@redhat.com>
7845
7846         Reimplement the invalid connection list.  Don't try to re-activate a
7847         connection that just failed or was canceled.
7848
7849         * src/nm-device.c
7850                 - (connection_secrets_failed_cb): fail device activation, don't just
7851                         deactivate the device.  Listeners have to know about the failure.
7852
7853         * src/NetworkManagerPolicy.c
7854                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7855                         the connection list given to a device's get_best_connection()
7856                         method
7857                 - (device_state_changed): tag failed connections as invalid; clear the
7858                         tag from successful connections
7859
7860 2007-10-08  Dan Williams  <dcbw@redhat.com>
7861
7862         Fix problems with interrupted activation.  Previously, choosing an AP
7863         from the menu, then choosing another one before the first connection was
7864         successful wouldn't deactivate the device before starting the new connection
7865         on that same device.
7866
7867         * src/NetworkManagerPolicy.c
7868                 - (deactivate_old_device, device_state_changed, state_changed,
7869                    nm_policy_new): wrong place to deactivate old devices
7870
7871         * src/nm-manager.c
7872                 - (pending_connection_info_destroy, finalize,
7873                    wait_for_connection_expired): decouple destruction of the pending
7874                         connection info from the manager device
7875                 - (connection_added_default_handler): deactivate any active or
7876                         activating device before starting a new activation
7877                 - (impl_manager_activate_device): deactivate any active or activating
7878                         device before starting a new activation; be sure not to leak
7879                         pending connection info if a new activation request arrives but
7880                         there's already a pending one in-process
7881
7882 2007-10-08  Dan Williams  <dcbw@redhat.com>
7883
7884         * src/NetworkManagerAP.h
7885           src/NetworkManagerAP.c
7886                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7887                         should handle default SSIDs and whether or not to autoconnect
7888                         to them
7889
7890 2007-10-08  Dan Williams  <dcbw@redhat.com>
7891
7892         * src/NetworkManagerPolicy.c
7893                 - (nm_policy_device_change_check): print out connection name where
7894                         possible
7895
7896 2007-10-08  Dan Williams  <dcbw@redhat.com>
7897
7898         * src/nm-device-802-11-wireless.c
7899           src/nm-device-802-11-wireless.h
7900                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7901                         'hidden-ap-found' signal (for internal use only) that allows the
7902                         NMManager to fill in the AP's SSID if a connection has that AP's
7903                         BSSID in its seen-bssids list
7904
7905         * src/nm-manager.c
7906                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7907                         wireless device's hidden-ap-found signal and fill in the APs SSID
7908                         if possible
7909
7910 2007-10-07  Dan Williams  <dcbw@redhat.com>
7911
7912         * src/nm-manager.c
7913           src/nm-manager.h
7914                 - Add a 'connections-added' signal to batch together updates of large
7915                         numbers of connections, like when reading from a settings service
7916                         the first time.  Otherwise, the policy would just activate the first
7917                         suitable connection it saw rather than waiting for the full list
7918                         to arrive.
7919                 - (nm_manager_class_init): register new signal
7920                 - (get_type_for_proxy, connection_get_settings_cb,
7921                    get_connection_for_proxy): centralize places where a proxy's setting
7922                         service is determined
7923                 - (free_get_settings_info): if the call being freed is the last call
7924                         in a pending call group, fire off the connections-added signal
7925                 - (internal_new_connection_cb): add call to a pending call group if
7926                         requested
7927                 - (list_connections_cb): always create a call group here, because this
7928                         call results in a batch of new connections
7929                 - (initial_get_connections): start getting system connections first
7930                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7931                         removed signal when destroying connections
7932
7933         * src/NetworkManagerPolicy.c
7934                 - (nm_policy_new, connections_added): handle connections-added signal
7935                         from the manager
7936
7937 2007-10-06  Dan Williams  <dcbw@redhat.com>
7938
7939         * src/nm-device-802-11-wireless.c
7940                 - (constructor): fix leaked socket
7941
7942 2007-10-06  Dan Williams  <dcbw@redhat.com>
7943
7944         * src/NetworkManagerPolicy.c
7945                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7946                         connection in the list returned by nm_manager_get_connections() is
7947                         reffed, but they weren't getting unreffed before returning
7948
7949 2007-10-06  Dan Williams  <dcbw@redhat.com>
7950
7951         * src/nm-manager.c
7952                 - (connections_to_slist): sort connections first on autoconnect, then
7953                         on timestamp
7954
7955 2007-10-06  Dan Williams  <dcbw@redhat.com>
7956
7957         * libnm-util/nm-connection.c
7958                 - (gvalue_to_string): handle UINT64
7959
7960 2007-10-06  Dan Williams  <dcbw@redhat.com>
7961
7962         * src/NetworkManagerPolicy.c
7963                 - (connection_updated, nm_policy_new): recheck state when a connection
7964                         gets updated
7965
7966 2007-10-06  Dan Williams  <dcbw@redhat.com>
7967
7968         * src/nm-manager.c
7969           src/nm-manager.h
7970                 - (nm_manager_get_connection_dbus_path): make static
7971                 - (nm_manager_update_connections): remove; unused
7972                 - Add a connection-updated signal
7973                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7974                         handle connection object updates
7975
7976 2007-10-06  Dan Williams  <dcbw@redhat.com>
7977
7978         * src/NetworkManagerPolicy.c
7979                 - (connection_removed): deactivate removed connections
7980
7981 2007-10-06  Dan Williams  <dcbw@redhat.com>
7982
7983         * libnm-util/nm-connection.c
7984           libnm-util/nm-connection.h
7985                 - (nm_connection_replace_settings): new function
7986
7987 2007-10-06  Dan Williams  <dcbw@redhat.com>
7988
7989         * libnm-glib/nm-device-802-11-wireless.c
7990                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7991                         on error when getting the active access point over D-Bus from NM
7992
7993 2007-10-05  Dan Williams  <dcbw@redhat.com>
7994
7995         * libnm-util/nm-setting.c
7996                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7997                         to the NMSettingWireless table; it's now a string array not an array
7998                         of byte arrays
7999
8000 2007-10-05  Dan Williams  <dcbw@redhat.com>
8001
8002         * libnm-glib/nm-device-802-11-wireless.c
8003                 - Cache properties and update cached properties on D-Bus signals from NM
8004
8005 2007-10-05  Dan Williams  <dcbw@redhat.com>
8006
8007         * src/nm-device-802-11-wireless.c
8008                 - (set_current_ap): consolidate current_ap handling code into one place
8009                         to ensure that PropertiesChanged signals are emitted in all cases
8010                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8011                    nm_device_802_11_wireless_dispose): use set_current_ap()
8012
8013 2007-10-05  Dan Williams  <dcbw@redhat.com>
8014
8015         * libnm-glib/nm-access-point.c
8016           libnm-glib/nm-access-point.h
8017                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8018                         because the value is cached internally now.  Callers should not
8019                         free the internal value.
8020                 - Make signal name defines private
8021
8022         * test/nm-tool.c
8023           libnm-glib/libnm-glib-test.c
8024                 - Don't free value returned from nm_access_point_get_hw_address()
8025
8026 2007-10-04  Dan Williams  <dcbw@redhat.com>
8027
8028         * introspection/nm-device-802-11-wireless.xml
8029           src/nm-device-802-11-wireless.h
8030           src/nm-device-802-11-wireless.c
8031                 - Add a PropertiesChanged signal for wireless device
8032                 - Store currently associated access point
8033                 - (periodic_update): generalize; update rate here too and emit the
8034                         correct PropertiesChanged signal when stuff changes
8035                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8036                    real_activation_cancel_handler): clear current_ap when device is
8037                         deactivated
8038                 - (link_to_specific_ap, get_ap_blacklisted,
8039                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8040                         code
8041                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8042                         outside this file
8043                 - (real_set_hw_address): emit property changed signal if the card's
8044                         MAC address changes
8045                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8046                         the card is supposed to be connecting to
8047                 - (activation_success_handler): send out property updates on successful
8048                         activation
8049                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8050                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8051                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8052                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8053                         is now boxed; add PropertiesChanged signal
8054
8055 2007-10-04  Dan Williams  <dcbw@redhat.com>
8056
8057         * libnm-util/nm-connection.c
8058           libnm-util/nm-connection.h
8059                 - (nm_connection_verify): new function
8060
8061 2007-10-04  Dan Williams  <dcbw@redhat.com>
8062
8063         * libnm-util/nm-setting.c
8064                 - (nm_settings_verify): use #defines when possible rather than strings
8065                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8066                 - (setting_vpn_verify): tighter validity check on 'service_type'
8067
8068 2007-10-04  Dan Williams  <dcbw@redhat.com>
8069
8070         * libnm-glib/nm-settings.c
8071                 - (nm_connection_settings_class_init): provide correct type for argument
8072                         to the Updated signal so that dbus-glib knows how to marshal it
8073
8074 2007-10-03  Dan Williams  <dcbw@redhat.com>
8075
8076         * src/nm-device-802-3-ethernet.c
8077                 - (real_get_best_connection): don't create automatic connections
8078                         internally; clients should provide a setting that applies to
8079                         the device with 'autoconnect: True'.  Problem was that these
8080                         internally auto-created connections don't have a proxy or service
8081                         name becuase they weren't created by a settings daemon, and therefore
8082                         clients have no idea what to do with them.
8083
8084 2007-10-03  Dan Williams  <dcbw@redhat.com>
8085
8086         * src/nm-device-802-11-wireless.c
8087           src/nm-device-802-11-wireless.h
8088           introspection/nm-device-802-11-wireless.xml
8089                 - GetActiveNetworks -> GetAccessPoints
8090                 - ActiveNetwork -> ActiveAccessPoint
8091                 - NetworkAdded -> AccessPointAdded
8092                 - NetowrkRemoved -> AccessPointRemoved
8093
8094         * libnm-glib/nm-device-802-11-wireless.c
8095           libnm-glib/nm-device-802-11-wireless.h
8096                 - network-added signal -> access-point-added
8097                 - network-removed signal -> access-point-removed
8098                 - nm_device_802_11_wireless_get_active_network() ->
8099                         nm_device_802_11_wireless_get_active_access_point()
8100                 - nm_device_802_11_wireless_get_network_by_path() ->
8101                         nm_device_802_11_wireless_get_access_point_by_path()
8102                 - nm_device_802_11_wireless_get_networks() ->
8103                         nm_device_802_11_wireless_get_access_points()
8104
8105         * libnm-glib/libnm-glib-test.c
8106           test/nm-tool.c
8107           src/NetworkManagerPolicy.c
8108                 - Fixups for Network -> AccessPoint
8109
8110 2007-10-03  Dan Williams  <dcbw@redhat.com>
8111
8112         Add a GetActiveConnections() method on the Manager object.
8113
8114         * src/nm-manager.c
8115           src/nm-manager.h
8116           introspection/nm-manager.xml
8117                 - (connection_get_settings_cb): keep connection type around too
8118                 - (impl_manager_get_active_connections, add_one_connection_element):
8119                         implement; returns all active connections and what devices they
8120                         apply to
8121
8122         * libnm-glib/nm-client.c
8123           libnm-glib/nm-client.h
8124           introspection/nm-manager-client.xml
8125                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8126                         by the caller; free here to avoid memory leak
8127                 - (nm_client_get_active_connections): implement; return the list of
8128                         active connections
8129                 - (nm_client_free_active_connection_element): implement; free an element
8130                         of the GSList returned by nm_client_get_active_connections()
8131
8132 2007-10-03  Dan Williams  <dcbw@redhat.com>
8133
8134         * src/nm-device-802-11-wireless.c
8135                 - (nm_device_802_11_wireless_update_bssid): remove
8136                 - (get_active_ap): new function; find the AP in the scan list which
8137                         matches the current BSSID and SSID of the wireless device
8138                 - (nm_device_802_11_periodic_update): get current AP using
8139                         get_active_ap() and print AP roam messages
8140
8141 2007-10-01  Dan Williams  <dcbw@redhat.com>
8142
8143         * libnm-util/nm-setting.h
8144                 - Add a 'timestamp' option to NMSettingConnection
8145                 - Add a UINT64 type
8146
8147         * libnm-util/nm-setting.c
8148                 - (uint64_to_gvalue): new function
8149                 - (nm_setting_populate_from_hash, nm_setting_hash,
8150                    default_setting_clear_secrets): handle UINT64 type
8151                 - con_table: add 'timestamp' member
8152
8153 2007-10-01  Dan Williams  <dcbw@redhat.com>
8154
8155         * src/nm-manager.c
8156                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8157                         value when the connection can be activated immediately
8158
8159 2007-10-01  Dan Williams  <dcbw@redhat.com>
8160
8161         * libnm-glib/nm-device.c
8162                 - (nm_device_class_init): actually tell glib about the carrier-changed
8163                         signal
8164
8165 2007-10-01  Dan Williams  <dcbw@redhat.com>
8166
8167         * configure.in
8168           src/marshallers/Makefile.am
8169           src/marshallers/nm-marshal.list
8170           src/marshallers/nm-marshal-main.c
8171                 - Consolidate glib marshallers into one place
8172
8173         * src/dhcp-manager/Makefile.am
8174           src/dhcp-manager/nm-dhcp-manager.c
8175           src/supplicant-manager/Makefile.am
8176           src/supplicant-manager/nm-supplicant-manager.c
8177           src/supplicant-manager/nm-supplicant-interface.c
8178           src/ppp-manager/Makefile.am
8179           src/ppp-manager/nm-ppp-manager.c
8180           src/vpn-manager/Makefile.am
8181           src/vpn-manager/nm-vpn-connection.c
8182           src/Makefile.am
8183                 - Use consolidated marshallers
8184
8185         * src/dhcp-manager/nm-dhcp-marshal.list
8186           src/dhcp-manager/nm-dhcp-marshal-main.c
8187           src/supplicant-manager/nm-supplicant-marshal-main.c
8188           src/supplicant-manager/nm-supplicant-marshal.list
8189           src/nm-marshal-main.c
8190           src/nm-marshal.list
8191           src/ppp-manager/nm-ppp-marshal-main.c
8192           src/ppp-manager/nm-ppp-marshal.list
8193           src/vpn-manager/nm-vpn-marshal-main.c
8194           src/vpn-manager/nm-vpn-marshal.list
8195                 - Remove
8196
8197 2007-10-01  Dan Williams  <dcbw@redhat.com>
8198
8199         * include/NetworkManagerVPN.h
8200                 - define VPN connection state change reason codes
8201
8202         * src/vpn-manager/Makefile.am
8203           src/vpn-manager/nm-vpn-marshal.list
8204           src/vpn-manager/nm-vpn-marshal-main.c
8205                 - Add marshallers for StateChanged signal
8206
8207         * introspection/nm-vpn-connection.xml
8208                 - New Banner property
8209                 - StateChanged signal now includes a 'reason' argument
8210
8211         * src/vpn-manager/nm-vpn-connection.c
8212           src/vpn-manager/nm-vpn-connection.h
8213                 - Add a "Banner" property that contains the returned VPN server login
8214                         banner (if any); valid only in the ACTIVATED state
8215                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8216                         a 'reason' argument and emits that reason along with the
8217                         state-changed signal
8218                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8219                 - (nm_vpn_connection_ip4_config_get): save banner for later
8220                 - (nm_vpn_connection_get_banner, get_property,
8221                    nm_vpn_connection_class_init): implement Banner property
8222
8223         * src/vpn-manager/nm-vpn-service.c
8224                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8225                         connection list because elements may get added/removed from it
8226                         while iterating over the list
8227                 - (connection_state_changed): signal now includes the 'reason' argument
8228
8229         * libnm-glib/nm-vpn-connection.c
8230           libnm-glib/nm-vpn-connection.h
8231                 - (nm_vpn_connection_get_banner): new function
8232                 - (state_changed_proxy): handle reason argument
8233
8234 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8235
8236         * src/nm-manager.c:
8237         * src/nm-manager.h:
8238         Implement device activation through NMManager.
8239         Implement "pending device activation" here - If the connection isn't found,
8240         we try to wait for up to 5 seconds for the connection to be provided.
8241         Add NMConnectionType argument to "connection-added" and "connection-removed"
8242         signals.
8243         (nm_manager_get): Remove. Finally.
8244
8245         * src/nm-activation-request.c: 
8246         * src/nm-activation-request.h: 
8247         Remove all the deferred activation code.
8248
8249         * src/nm-device.c: Remove all the deferred activation code. Once the device
8250         activation is started, it's started. Update the activation virtual function
8251         signature.
8252
8253         * src/nm-device-interface.c:
8254         * src/nm-device-interface.h:
8255         Device activation now takes only NMActRequest argument.
8256         Don't expose device activation directly on dbus, it's supposed to go through
8257         NMManager now.
8258
8259         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8260         a bit more compact.
8261         Use the new device activation methods through NMManager.
8262
8263         * introspection/nm-manager-client.xml: 
8264         * introspection/nm-manager.xml: 
8265         * libnm-glib/nm-client.c:
8266         * libnm-glib/nm-client.h:
8267         Add device activation method.
8268         
8269         * libnm-glib/nm-device.c: 
8270         * libnm-glib/nm-device.h: 
8271         * introspection/nm-device.xml: 
8272         Remove device activation method. It's done through NMManager now.
8273
8274         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8275         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8276
8277 2007-09-28  Dan Williams  <dcbw@redhat.com>
8278
8279         * libnm-glib/nm-vpn-connection.c
8280                 - (nm_vpn_connection_get_state): try to update state if the current
8281                         state is UNKNOWN
8282
8283 2007-09-27  Dan Williams  <dcbw@redhat.com>
8284
8285         Patch from Bill Nottingham
8286
8287         * src/supplicant-manager/nm-supplicant-config.c
8288                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8289                         data to the supplicant
8290
8291 2007-09-27  Dan Williams  <dcbw@redhat.com>
8292
8293         * src/NetworkManagerSystem.c
8294                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8295                         and all address manipulation here should be happening on the
8296                         _VPN_ device, not the active device
8297
8298 2007-09-26  Dan Williams  <dcbw@redhat.com>
8299
8300         * src/nm-manager.c
8301           src/nm-manager.h
8302           src/nm-activation-request.c
8303           src/nm-activation-request.h
8304                 - Move the GetSecrets stuff out of the NMManager instance because it
8305                         doesn't really need to be there and complicates things
8306
8307         * src/nm-device.c
8308                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8309                         connection-secrets-failed signal and deactivate the device if
8310                         the GetSecrets call fails
8311
8312         * src/nm-device-802-11-wireless.c
8313                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8314                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8315                         secrets and give correct hints about whether new secrets should be
8316                         asked for by the client or not
8317
8318 2007-09-26  Dan Williams  <dcbw@redhat.com>
8319
8320         * src/vpn-manager/nm-vpn-connection.c
8321                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8322                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8323                         to the secrets-updated signal of the NMConnection since updating
8324                         the secrets is done within the scope of the NMVPNConnection object
8325                         already
8326                 - (get_connection_secrets): fix an uninialized variable usage error
8327
8328 2007-09-26  Dan Williams  <dcbw@redhat.com>
8329
8330         * libnm-util/nm-setting.c
8331                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8332                         actually get updated when the user enters them
8333
8334 2007-09-26  Dan Williams  <dcbw@redhat.com>
8335
8336         * libnm-glib/nm-vpn-plugin.c
8337                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8338
8339 2007-09-26  Dan Williams  <dcbw@redhat.com>
8340
8341         * include/NetworkManagerVPN.h
8342                 - Add a NEED_AUTH state
8343
8344         * src/vpn-manager/nm-vpn-connection.c
8345                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8346                         the connection needs secrets, and if so, then ask the settings
8347                         service to fill in the secrets.  Then start the connection.
8348
8349 2007-09-26  Dan Williams  <dcbw@redhat.com>
8350
8351         * src/vpn-manager/nm-vpn-manager.c
8352                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8353
8354 2007-09-26  Dan Williams  <dcbw@redhat.com>
8355
8356         * introspection/nm-vpn-plugin.xml
8357           libnm-glib/nm-vpn-plugin.c
8358           libnm-glib/nm-vpn-plugin.h
8359                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8360                         the name of the NMSetting in an NMConnection that may require
8361                         secrets specific to that VPN plugin
8362
8363 2007-09-26  Dan Williams  <dcbw@redhat.com>
8364
8365         * src/nm-manager.c
8366           src/nm-manager.h
8367                 - (nm_manager_get_connection_secrets): make static, unused outside
8368                         the file
8369                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8370
8371 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8372
8373         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8374         method.
8375         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8376         unreference the connection.
8377
8378         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8379         passing properties hash and routes string list, pass NMConnection (in hashed form).
8380
8381         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8382         as GSList, no need to copy stuff around anymore.
8383         (nm_vpn_connection_activate): Update the plugin activation method.
8384
8385         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8386         routes argument to GSList.
8387
8388 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8389
8390         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8391         state and try to get the secrets.
8392
8393         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8394         connections from NMManager and let the device to choose the best from the list.
8395         Since the connection list is sorted by system ones first and user ones later,
8396         the devices still prefer system connections like they did before.
8397         (deactivate_old_device): Implement. When a device starts activation, we have a
8398         policy (for now at least) to deactivate any other device that might be either
8399         active or still activating.
8400
8401         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8402         It's set on construction, there will be no other way to access it.
8403
8404         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8405         device events and drive the device, not the other way around.
8406
8407         * src/nm-device-802-3-ethernet.c: Ditto.
8408
8409         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8410         sent along, pass it on to virtual functions.
8411
8412         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8413         for now, but should really be public instead of nm_device_get_iface() since iface
8414         is a property of the DeviceInterface, not Device.
8415         (impl_device_activate): Don't touch NMManager!
8416
8417 2007-09-26  Jürg Billeter  <j@bitron.ch>
8418
8419         * initscript/paldo/NetworkManager.in:
8420         * initscript/paldo/NetworkManagerDispatcher.in:
8421         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8422         (nm_system_flush_loopback_routes): update paldo backend
8423
8424 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8425
8426         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8427         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8428         which means none of the devices get brought down properly, which in turn leaves
8429         DHCP client running.
8430
8431         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8432         (supplicant_connection_timeout_cb): Ditto.
8433
8434 2007-09-25  Dan Williams  <dcbw@redhat.com>
8435
8436         * src/nm-device.c
8437                 - (device_activation_go): small hack to work around race when
8438                         activating deferred connections; should solve this in a better way
8439
8440 2007-09-25  Dan Williams  <dcbw@redhat.com>
8441
8442         * introspection/nm-device.xml
8443           libnm-glib/nm-device.c
8444           libnm-glib/nm-device.h
8445                 - Add 'Carrier' property to exported NMDevice objects
8446
8447         * src/nm-device-interface.h
8448           src/nm-device-interface.c
8449           src/nm-device.c
8450                 - Add a 'carrier' property to internal NMDevice objects
8451
8452 2007-09-25  Dan Williams  <dcbw@redhat.com>
8453
8454         * src/nm-device-802-11-wireless.c
8455                 - (ap_auth_enforced): also return the encryption status of the AP so
8456                         that callers can differentiate easily between unencrypted APs
8457                         and encrypted ones, in addition to whether the AP has an
8458                         authenticator
8459                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8460                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8461                         previously would request secrets from unencrypted APs at times
8462
8463 2007-09-25  Dan Williams  <dcbw@redhat.com>
8464
8465         * src/nm-manager.c
8466                 - (nm_manager_update_state): new function; updates state and emits
8467                         appropriate signals ensuring a state-change signal for the same state
8468                         never gets emitted twice in a row.
8469                 - (manager_device_state_changed): handle more device state to get a
8470                         better picture of the overall NM state
8471
8472 2007-09-25  Dan Williams  <dcbw@redhat.com>
8473
8474         * libnm-glib/nm-settings.c
8475           libnm-glib/nm-settings.h
8476                 - (new_error -> nm_settings_new_error): make public so that subclasses
8477                         can use the same error domain.  Also pass a valid error code to
8478                         g_error_new_literal() so that libdbus doesn't assert when converting
8479                         the GError into a DBusError
8480                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8481                    impl_connection_settings_get_settings,
8482                    impl_connection_settings_get_secrets): use new error creator
8483                         function
8484
8485 2007-09-25  Dan Williams  <dcbw@redhat.com>
8486
8487         * src/NetworkManager.c
8488                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8489
8490 2007-09-25  Dan Williams  <dcbw@redhat.com>
8491
8492         * src/supplicant-manager/nm-supplicant-manager.c
8493                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8494                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8495                    nm_supplicant_manager_startup): when the supplicant isn't running,
8496                         try to start it periodically via system bus activation.  Fixes
8497                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8498                         for the supplicant to come back
8499
8500 2007-09-25  Dan Williams  <dcbw@redhat.com>
8501
8502         Ensure that old activation requests are forgotten about; previously
8503         hitting Cancel in the password dialog would deactivate whatever device
8504         that password was requested for, even if that wasn't the currently
8505         activating connection.
8506
8507         * src/nm-manager.c
8508           src/nm-manager.h
8509                 - (nm_manager_get_connection_secrets): track the pending call
8510                         object so it can be canceled later if needed
8511                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8512                         GetSecrets call for a particular connection
8513
8514         * src/nm-activation-request.c
8515                 - (dispose): cancel any outstanding GetSecrets calls on the
8516                         connection
8517
8518 2007-09-25  Dan Williams  <dcbw@redhat.com>
8519
8520         * src/NetworkManagerPolicy.c
8521                 - (nm_policy_device_change_check): handle devices that have a
8522                         deferred activation.  These devices are not really active _yet_,
8523                         but need to be treated as such here.  Don't interrupt them
8524                         automatically.
8525
8526         * src/nm-device-interface.c
8527                 - (impl_device_activate): handle devices that have a deferred activation
8528                         like activating or active devices.  When multiple active devices
8529                         get committed, the device shouldn't be deactivated until the
8530                         connection details are available to avoid DoS and such.  Currently,
8531                         any active, activating, or deferred activation device is deactivated
8532                         here before starting the new activation request.
8533
8534 2007-09-25  Dan Williams  <dcbw@redhat.com>
8535
8536         Properly re-query secrets from the settings daemon when stuff fails.
8537
8538         * src/nm-device-802-11-wireless.c
8539                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8540                         between Shared Key and Open System auth modes
8541                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8542                    real_act_stage4_ip_config_timeout): clear existing secrets and
8543                         request new ones when something fails due to a suspected wrong key
8544                 - (real_act_stage2_config): fix for new request_new argument to
8545                         nm_manager_get_connection_secrets()
8546
8547         * src/nm-manager.c
8548           src/nm-manager.h
8549                 - (nm_manager_get_connection_secrets): return error status; pass
8550                         new request_new argument on to the settings daemon
8551
8552         * introspection/nm-settings-connection.xml
8553                 - New 'request_new' argument to the GetSecrets call that hints to the
8554                         settings daemon to ask the user for completely new secrets
8555
8556         * libnm-glib/nm-settings.c
8557           libnm-glib/nm-settings.h
8558                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8559                         argument
8560
8561 2007-09-25  Dan Williams  <dcbw@redhat.com>
8562
8563         * libnm-util/nm-connection.c
8564           libnm-util/nm-connection.h
8565                 - (nm_connection_clear_secrets): new function; clear secrets out of
8566                         each NMSetting in an NMConnection
8567
8568         * libnm-util/nm-setting.h
8569           libnm-util/nm-setting.c
8570                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8571                         secrets out of an NMSetting
8572                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8573                    nm_setting_wired_new, nm_setting_wireless_new,
8574                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8575                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8576                         to default handler default_setting_clear_secrets()
8577
8578 2007-09-25  Dan Williams  <dcbw@redhat.com>
8579
8580         * src/nm-activation-request.c
8581           src/nm-activation-request.h
8582                 - (nm_act_request_is_deferred): new function
8583
8584 2007-09-24  Dan Williams  <dcbw@redhat.com>
8585
8586         * src/nm-device-802-11-wireless.c
8587                 - (activation_success_handler): update signal strength immediately
8588                         after activation
8589
8590 2007-09-24  Dan Williams  <dcbw@redhat.com>
8591
8592         * libnm-util/nm-setting.c
8593                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8594
8595 2007-09-24  Dan Williams  <dcbw@redhat.com>
8596
8597         * src/NetworkManagerPolicy.c
8598                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8599                         device by deactivating it because it doesn't have a "best connection".
8600                         Since autoconnect=False connections aren't automatically chosen,
8601                         NM would interrupt activation of such a connection because it
8602                         would never be "best" due to autoconnect=False.
8603
8604 2007-09-24  Dan Williams  <dcbw@redhat.com>
8605
8606         * src/nm-manager.c
8607                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8608                         actually has some time to enter a key before the GetSecrets call
8609                         times out
8610
8611 2007-09-24  Dan Williams  <dcbw@redhat.com>
8612
8613         * introspection/nm-manager.xml
8614           src/nm-manager.c
8615                 - (impl_manager_legacy_state): fix 'state' method call return value
8616
8617 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8618
8619         * test/Makefile.am: Install nm-tool
8620
8621 2007-09-24  Dan Williams  <dcbw@redhat.com>
8622
8623         Patch from Ross Burton <ross@burtonini.com>
8624
8625         * test/nm-tool.c
8626           callouts/nm-dhcp-client-action.c
8627           src/nm-netlink.c
8628           src/vpn-manager/nm-vpn-connection.c
8629           libnm-glib/libnm-glib-test.c
8630                 - warning fixes
8631
8632 2007-09-24  Dan Williams  <dcbw@redhat.com>
8633
8634         * libnm-util/nm-utils.h
8635           libnm-util/nm-utils.c
8636                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8637                         remove, unused
8638
8639 2007-09-23  Dan Williams  <dcbw@redhat.com>
8640
8641         * vpn-daemons/vpnc/properties/nm-vpnc.c
8642                 - Update for new VPN properties API bits; instead of passing around
8643                         a lot of random things, everything goes into the NMConnection
8644                         object.
8645
8646 2007-09-23  Dan Williams  <dcbw@redhat.com>
8647
8648         * libnm-util/nm-setting.c
8649                 - Correctly dispose of settings objects if creating them from a hash
8650                         table fails
8651
8652 2007-09-23  Dan Williams  <dcbw@redhat.com>
8653
8654         * libnm-util/nm-setting.c
8655                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8656                         the hash table in a standard manner.  Clients of libnm-util should
8657                         only call g_hash_table_remove_all(), never destroy the hash table
8658                         and recreate it.
8659
8660 2007-09-22  Dan Williams  <dcbw@redhat.com>
8661
8662         * src/nm-device-802-11-wireless.c
8663                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8664                         real reason to do it so often, and reduces wakeups for clients.
8665
8666 2007-09-21  Dan Williams  <dcbw@redhat.com>
8667
8668         * src/nm-device-802-11-wireless.c
8669                 - (build_supplicant_config): wpa_supplicant requires the option
8670                         key_mgmt=NONE for unencrypted networks
8671                 - (real_act_stage2_config): clarify log message on activation
8672
8673 2007-09-21  Dan Williams  <dcbw@redhat.com>
8674
8675         * test/nm-supplicant-test.c
8676           test/Makefile.am
8677                 - Remove supplicant test binary; no longer applicable
8678
8679 2007-09-21  Dan Williams  <dcbw@redhat.com>
8680
8681         * src/supplicant-manager/nm-supplicant-manager.c
8682                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8683                         activate it on the system bus
8684
8685 2007-09-20  Dan Williams  <dcbw@redhat.com>
8686
8687         * initscript/RedHat/NetworkManager.in
8688                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8689
8690 2007-09-20  Dan Williams  <dcbw@redhat.com>
8691
8692         * src/nm-device.c
8693                 - (nm_device_is_activating): work around a race between auto-activation
8694                         and the user activating the same device that is being auto-activated
8695
8696 2007-09-20  Dan Williams  <dcbw@redhat.com>
8697
8698         * src/nm-device-interface.c
8699                 - (impl_device_activate): until multiple active device support lands,
8700                         ensure only one device can be active at a time
8701
8702 2007-09-20  Dan Williams  <dcbw@redhat.com>
8703
8704         * src/supplicant-manager/nm-supplicant-config.c
8705           src/supplicant-manager/nm-supplicant-config.h
8706                 - (nm_supplicant_config_add_option): hide secrets from system logs
8707
8708 2007-09-20  Dan Williams  <dcbw@redhat.com>
8709
8710         * src/NetworkManagerPolicy.c
8711                 - (nm_policy_device_change_check): re-enable the wireless device change
8712                         checking code; insted of checking for SSIDs, check for the same
8713                         connection instead
8714
8715 2007-09-20  Dan Williams  <dcbw@redhat.com>
8716
8717         * src/nm-device-802-11-wireless.c
8718                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8719                         composite link state when determining when to start the disconnection
8720                         timer; that link state is already based on the supplicant interface's
8721                         status which is exactly what's already being examined, plus the link
8722                         state is a conglomeration of various things that we don't want here
8723
8724 2007-09-20  Dan Williams  <dcbw@redhat.com>
8725
8726         * libnm-glib/nm-access-point.c
8727                 - (handle_property_changed): strength is a UCHAR
8728
8729 2007-09-20  Dan Williams  <dcbw@redhat.com>
8730
8731         * src/supplicant-manager/nm-supplicant-config.c
8732                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8733                         string list keywords too since that's what wpa_supplicant wants
8734
8735 2007-09-20  Dan Williams  <dcbw@redhat.com>
8736
8737         * libnm-util/nm-setting.c
8738                 - (convert_strv_to_slist): dupe the values in the list because since
8739                         the list is a boxed value, it'll get destroyed when it's container
8740                         (like a hash table or whatever) gets destroyed
8741
8742 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8743
8744         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8745         GSList.
8746
8747         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8748
8749         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8750         just use (g_object_set_data_full).
8751
8752         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8753         that NMSettingVPN->routes is a GSList, convert it to char **.
8754         (nm_vpn_connection_ip4_config_get): Free routes when done.
8755         (nm_vpn_connection_activate): Ditto.
8756
8757         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8758         (real_act_stage2_config): Use defined setting names.
8759
8760 2007-09-20  Dan Williams  <dcbw@redhat.com>
8761
8762         * src/nm-device-802-11-wireless.c
8763           src/nm-manager.c
8764           src/nm-manager.h
8765                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8766                         so that the device can be deactivated if secrets are wrong
8767
8768 2007-09-20  Dan Williams  <dcbw@redhat.com>
8769
8770         * introspection/nm-settings-connection.xml
8771           libnm-glib/nm-settings.c
8772           libnm-glib/nm-settings.h
8773                 - Make GetSecrets asynchronous on the server side
8774
8775 2007-09-20  Dan Williams  <dcbw@redhat.com>
8776
8777         * src/nm-manager.h
8778           src/nm-device.c
8779                 - (nm_device_activate): actually check if a given connection
8780                         exists before assuming it doesn't
8781
8782 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8783
8784         * libnm-util/nm-connection.c (register_default_creators): Use defined
8785         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8786
8787         * libnm-util/nm-setting.c: Define property name strings, use them.
8788         Implement NMSettingVPN and NMSettingVPNProperties settings.
8789         Implement NM_S_TYPE_GVALUE_HASH.
8790         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8791         (setting_connection_verify): Rename 'devtype' property to 'type'.
8792
8793         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8794         properties.
8795
8796         * src/vpn-manager/nm-vpn-service.c: Ditto.
8797
8798         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8799
8800         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8801         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8802
8803         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8804         names. NMSettingConnection->devtype got renamed to 'type'.
8805
8806         * src/nm-device-802-3-ethernet.c (find_best_connection):
8807         (real_get_best_connection): Ditto.
8808
8809         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8810
8811         * libnm-glib/nm-vpn-manager.[ch]: Update.
8812
8813 2007-09-19  Dan Williams  <dcbw@redhat.com>
8814
8815         * src/NetworkManagerAP.c
8816           src/NetworkManagerAP.h
8817           introspection/nm-access-point.xml
8818                 - Change strength-changed signal into a properties-changed signal
8819                         for all properties, not just strength.  Export that signal over dbus
8820                         so listeners don't have to poll NM for changes.
8821                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8822                         get exported over D-Bus, so break up the logic and let other bits
8823                         decided when to export the AP
8824                 - (nm_ap_new_from_ap): remove, unused
8825
8826         * src/nm-device-802-11-wireless.c
8827                 - (merge_scanned_ap): only export APs that are actually on the device
8828                         list, not every AP created internally
8829
8830         * libnm-glib/nm-access-point.c
8831           libnm-glib/nm-access-point.h
8832                 - Cache properties internally and only hit DBus when needed.  Get
8833                         property updates from NM signals
8834
8835 2007-09-16  Dan Williams  <dcbw@redhat.com>
8836
8837         * libnm-util/nm-connection.c
8838           libnm-util/nm-connection.h
8839                 - (nm_connection_for_each_setting_value): new function; iterate over
8840                         each setting's value and call a user-provided function with details
8841                         about that value
8842
8843         * libnm-util/nm-setting.c
8844           libnm-util/nm-setting.h
8845                 - (nm_setting_enumerate_values): new function; enumerate the values
8846                         of a specific NMSetting subclass for a user-provided function with
8847                         details about that value
8848                 - Change wep_tx_keyidx to a uint32
8849                 - Create settings value tables for each setting defining their type,
8850                         key name, offset into the NMSetting subclass' structure, and whether
8851                         they are required and/or a secret
8852                 - (nm_setting_populate_from_hash): generic function to populate an
8853                         NMSetting from a GHash table, make all settings use it
8854                 - (nm_setting_hash): generic function to derive a GHashTable from
8855                         an NMSetting object, make all settings use it
8856
8857 2007-09-14  Dan Williams  <dcbw@redhat.com>
8858
8859         Remove unused stuff in libnm-util
8860
8861         * configure.in
8862           libnm-util/Makefile.am
8863           libnm-util/cipher-private.h
8864           libnm-util/cipher-wep-ascii.c
8865           libnm-util/cipher-wep-ascii.h
8866           libnm-util/cipher-wep-hex.c
8867           libnm-util/cipher-wep-hex.h
8868           libnm-util/cipher-wep-passphrase.c
8869           libnm-util/cipher-wep-passphrase.h
8870           libnm-util/cipher-wpa-psk-hex.c
8871           libnm-util/cipher-wpa-psk-hex.h
8872           libnm-util/cipher-wpa-psk-passphrase.c
8873           libnm-util/cipher-wpa-psk-passphrase.h
8874           libnm-util/cipher.c
8875           libnm-util/cipher.h
8876           libnm-util/dbus-helpers.c
8877           libnm-util/dbus-helpers.h
8878           libnm-util/gnome-keyring-md5.c
8879           libnm-util/gnome-keyring-md5.h
8880           libnm-util/sha1.c
8881           libnm-util/sha1.h
8882           src/nm-device-802-11-wireless.c
8883           test/libnm-util/Makefile.am
8884           test/libnm-util/test-ciphers.c
8885           test/libnm-util/test-dbus-helpers.c
8886           test/libnm-util/test-inputs.h
8887                 - Removed
8888
8889 2007-09-14  Dan Williams  <dcbw@redhat.com>
8890
8891         * libnm-util/dbus-method-dispatcher.c
8892           libnm-util/dbus-method-dispatcher.h
8893                 - Remove, unused
8894
8895 2007-09-14  Dan Williams  <dcbw@redhat.com>
8896
8897         Implement deferred activation support in the device class.
8898
8899         * src/nm-device-interface.c
8900           src/nm-device-interface.h
8901                 - (nm_device_interface_activate): take more arguments to support
8902                         deferred activation; callers must pass one of (connection) OR
8903                         (service_name, connection_path)
8904                 - (impl_device_activate): connection validation is punted to the device
8905                         to be able to handle deferred activation.  Yes, this means errors
8906                         don't get returned from the Activate() dbus call, and yes, that
8907                         should be fixed somehow later.
8908
8909         * src/nm-device.c
8910           src/nm-device.h
8911                 - (clear_act_request): clear additional deferred activation stuff too
8912                 - (deferred_activation_timeout_cb): new function; clean up when
8913                         deferred activation times out.
8914                 - (deferred_activation_start_cb): new function; when the connection
8915                         finally becomes available, start device activation
8916                 - (nm_device_activate): attach to the right signals of the activation
8917                         request if we need to defer activation until the connection is valid
8918
8919         * src/NetworkManagerPolicy.c
8920                 - (nm_policy_device_change_check): update for additional arguments
8921                         required for nm_device_interface_activate().  Pass NULL for these
8922                         though because this function already knows exactly which
8923                         NMConnection to use
8924
8925 2007-09-14  Dan Williams  <dcbw@redhat.com>
8926
8927         Implement deferred activation handling in the NMActRequest class.  When a
8928         client wants to activate a device but must create the NMConnection details
8929         on the fly, there likely hasn't been enough time yet for NM to receive the
8930         new connection signal and grab all the connection details.  So the
8931         activation is deferred (and bounded by a timer) for a while, and if the
8932         connection appears within the window, it is activated.
8933
8934         * src/nm-activation-request.c
8935           src/nm-activation-request.h
8936                 - (nm_act_request_class_init): two new signals to support deferred
8937                         activation, to allow the listener to handle both timeout and success
8938                 - (nm_act_request_new_deferred): new function, starts the deferred
8939                         activation timeout handler and listens to the NMManager for
8940                         new-connection signals to notice when the connection comes in
8941
8942 2007-09-14  Dan Williams  <dcbw@redhat.com>
8943
8944         * src/nm-manager.h
8945           src/nm-manager.c
8946                 - (nm_manager_get_connection_service_name,
8947                    nm_manager_get_connection_dbus_path): get details about a connection
8948                         known internally by the NMManager
8949                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8950                         because NMConnection is now a GObject subclass
8951                 - Use constant for the gobject data tag used on NMConnection objects for
8952                         storing the associated DBusGProxy
8953
8954 2007-09-14  Dan Williams  <dcbw@redhat.com>
8955
8956         * utils/Makefile.am
8957           utils/nm-utils.c
8958           utils/nm-utils.h
8959           src/supplicant-manager/Makefile.am
8960           src/dhcp-manager/Makefile.am
8961           src/backends/Makefile.am
8962           src/named-manager/Makefile.am
8963           src/ppp-manager/Makefile.am
8964           src/vpn-manager/Makefile.am
8965           test/libnm-util/Makefile.am
8966           test/test-common/Makefile.am
8967                 - Remove utils/; it was unused
8968
8969 2007-09-13  Dan Williams  <dcbw@redhat.com>
8970
8971         * libnm-glib/nm-vpn-manager.h
8972           libnm-glib/nm-vpn-manager.c
8973                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8974
8975 2007-09-13  Dan Williams  <dcbw@redhat.com>
8976
8977         * src/nm-device-802-3-ethernet.c
8978                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8979                         netlink monitor carrier signals on dispose, not bring down.  The
8980                         carrier signals should be handled over the entire lifetime of the
8981                         device anyway, not created/destroyed on up or down.
8982
8983 2007-09-13  Dan Williams  <dcbw@redhat.com>
8984
8985         * libnm-glib/nm-device.c
8986           libnm-glib/nm-device.h
8987                 - (nm_device_activate): take a connection object path rather than an
8988                         NMConnection because NMConnection isn't exported over D-Bus and
8989                         therefore it dbus-glib can't automatically get an object path from it
8990
8991 2007-09-13  Dan Williams  <dcbw@redhat.com>
8992
8993         * libnm-util/nm-setting.c
8994                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8995
8996 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8997
8998         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8999
9000 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9001
9002         * src/vpn-manager/nm-vpn-connection.[ch]: 
9003         * src/vpn-manager/nm-vpn-manager.[ch]:
9004         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9005         dbus-glib, GObjects, signals etc.
9006
9007         * libnm-glib/nm-vpn-manager.[ch]: 
9008         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9009         so much, rewrite these too.
9010
9011         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9012         the new introspection files.
9013
9014         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9015
9016         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9017         the header with the same name from libnm-utils.
9018
9019         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9020
9021         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9022
9023         * introspection/nm-vpn-plugin.xml: Implement.
9024
9025         * introspection/nm-vpn-connection.xml: Implement.
9026
9027         * introspection/nm-vpn-manager.xml: Implement.
9028
9029         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9030         the named manager argument, it can just as easily get it as the caller.
9031         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9032
9033         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9034
9035         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9036
9037         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9038         libnm-utils.
9039
9040         * libnm-util/nm-connection.c: Ditto.
9041
9042         * src/NetworkManagerMain.h: Remove, it's finally empty.
9043
9044         * configure.in: Remove utils/ from build.
9045
9046         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9047         of hard-coded strings.
9048
9049         * utils/: Move it over to libnm-util.
9050
9051         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9052
9053         * dispatcher-daemon/Makefile.am: Ditto.
9054
9055         * src/Makefile.am: Ditto.
9056
9057 2007-09-12  Dan Williams  <dcbw@redhat.com>
9058
9059         Wireless connections can be made with config data from the applet now.
9060         
9061         Yay.
9062
9063         * src/supplicant-manager/nm-supplicant-config.h
9064           src/supplicant-manager/nm-supplicant-config.c
9065                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9066                 - (nm_supplicant_config_add_setting_wireless,
9067                    nm_supplicant_config_add_setting_wireless_security): new functions;
9068                         add key/value pairs from the settings objects to the supplicant
9069                         config
9070
9071         * src/nm-device-802-11-wireless.c
9072                 - (cull_scan_list): fix check to not prune currently associated AP
9073                 - (build_supplicant_config, real_act_stage2_config): call the functions
9074                         of the NMSupplicantConfig that parse settings objects rather than
9075                         doing it manually here
9076
9077 2007-09-12  Dan Williams  <dcbw@redhat.com>
9078
9079         * src/supplicant-manager/nm-supplicant-interface.c
9080           src/supplicant-manager/nm-supplicant-marshal.list
9081                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9082                         "connection-error" signal arguments should be STRING not CHAR
9083
9084 2007-09-12  Dan Williams  <dcbw@redhat.com>
9085
9086         * src/NetworkManagerUtils.c
9087           src/NetworkManagerUtils.h
9088                 - (nm_utils_hexstr2bin): new function
9089
9090 2007-09-11  Dan Williams  <dcbw@redhat.com>
9091
9092         * src/nm-manager.c
9093                 - (connection_get_settings_cb): emit connection-added signal
9094                 - (connection_removed_cb): uncomment bits for system settings service,
9095                         send connection-removed when appropriate
9096                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9097                         the stack by trying to g_object_set_data() on something that's
9098                         not a GObject; handle case where settings service returns
9099                         empty settings hash table
9100
9101 2007-09-11  Dan Williams  <dcbw@redhat.com>
9102
9103         * src/NetworkManagerPolicy.c
9104                 - (connection_added, connection_removed): trigger device change checks
9105                         on connection changes
9106
9107 2007-09-11  Dan Williams  <dcbw@redhat.com>
9108
9109         * src/nm-activation-request.c
9110                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9111
9112 2007-09-11  Dan Williams  <dcbw@redhat.com>
9113
9114         * src/nm-device-802-11-wireless.c
9115                 - (real_connection_secrets_updated): fix erroneous check
9116
9117 2007-09-11  Dan Williams  <dcbw@redhat.com>
9118
9119         * introspection/nm-device.xml
9120           libnm-glib/nm-device.c
9121           libnm-glib/nm-device.c
9122                 - Fix Activate call argument borkage; Activate takes 3 arguments
9123
9124 2007-09-11  Dan Williams  <dcbw@redhat.com>
9125
9126         * libnm-glib/nm-access-point.c
9127           libnm-glib/nm-access-point.c
9128                 - (nm_access_point_get_frequency): now returns guint32 to match
9129                         property change on 2007-09-10
9130
9131 2007-09-11  Dan Williams  <dcbw@redhat.com>
9132
9133         * src/nm-device-802-11-wireless.c
9134                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9135                         somewhere defines 'index' and I missed this one when I fixed the
9136                         shadow declaration errors earlier
9137
9138 2007-09-11  Dan Williams  <dcbw@redhat.com>
9139
9140         * libnm-util/nm-connection.c
9141                 - (nm_connection_update_secrets, need_secrets_check): move
9142                         802-11-wireless-security need_secrets checks to the setting object
9143                         itself, where it belongs
9144
9145         * libnm-util/nm-setting.c
9146           libnm-util/nm-setting.h
9147                 - (nm_setting_need_secrets): new function
9148                 - (setting_wireless_security_verify,
9149                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9150                 - (setting_wireless_security_need_secrets): mostly copy code over
9151                         from nm-connection.c
9152
9153 2007-09-11  Dan Williams  <dcbw@redhat.com>
9154
9155         * libnm-util/nm-setting.c
9156           libnm-util/nm-setting.h
9157                 - (nm_setting_update_secrets): new function; add a virtual function that
9158                         subclasses can implement to update their secrets
9159                 - (setting_wireless_security_update_secrets): implement that function
9160                         for the 802-11-wireless-security subclass
9161
9162         * libnm-util/nm-connection.c
9163           libnm-util/nm-connection.h
9164                 - (nm_connection_update_secrets): update secrets for a Setting and
9165                         emit a signal on success
9166
9167         * src/nm-manager.c
9168           src/nm-manager.h
9169           src/nm-marshal.list
9170                 - (connection_get_settings_cb): enable system settings bits
9171                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9172                         to request secrets from the settings dbus service and to
9173                         push those secrets to the NMConnection itself
9174
9175         * src/nm-activation-request.c
9176           src/nm-activation-request.h
9177                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9178                         currently being activated, and proxy that signal to other listeners.
9179                         Goes through the activation request because the activation request
9180                         is the thing that manages the lifetime of the NMConnection that's
9181                         being activated.
9182
9183         * src/nm-device-802-11-wireless.c
9184                 - (real_connection_secrets_updated): implement the connection secrets
9185                         updated notification and restart activation when secrets are
9186                         received
9187                 - (real_act_stage2_config): request secrets from the settings dbus
9188                         service if secrets are needed
9189
9190         * src/nm-device.c
9191           src/nm-device.h
9192                 - (clear_act_request, nm_device_activation_cancel,
9193                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9194                         where the activation request is cleared
9195                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9196                         updated secrets signal of activation request and add a function
9197                         that subclasses can override to handle it easily
9198
9199 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9200
9201         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9202         removal of NetworkManagerAPList.
9203
9204 2007-09-10  Dan Williams  <dcbw@redhat.com>
9205
9206         * src/NetworkManagerAP.c
9207           src/NetworkManagerAP.h
9208           introspection/nm-access-point.xml
9209                 - Change 'freq' property to a guint32 instead of a double since we
9210                         weren't using the floating point bits anyway
9211
9212 2007-09-10  Dan Williams  <dcbw@redhat.com>
9213
9214         * NetworkManagerAP.c
9215           NetworkManagerAP.h
9216           NetworkManagerPolicy.c
9217           NetworkManagerSystem.c
9218           NetworkManagerUtils.c
9219           NetworkManagerUtils.h
9220           nm-device-802-11-wireless.c
9221           nm-device-802-3-ethernet.c
9222           nm-hal-manager.c
9223           nm-manager.c
9224           vpn-manager/nm-dbus-vpn.c
9225                 - Warning fixes; casts and removal of unused variables
9226
9227 2007-09-10  Dan Williams  <dcbw@redhat.com>
9228
9229         * include/NetworkManager.h
9230                 - Kill NMNetworkType; AP types don't matter any more
9231
9232         * src/NetworkManagerAPList.c
9233           src/NetworkManagerAPList.h
9234           src/Makefile.am
9235                 - Kill; NMAccessPointList has outlived it's usefulness
9236
9237         * src/NetworkManagerAP.c
9238           src/NetworkManagerAP.h
9239                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9240                         functions; check if an NMConnection object is compatible with the
9241                         settings of this AP
9242                 - (freq_to_channel, channel_to_freq): utility functions for
9243                         channel <-> frequency conversion
9244
9245         * src/nm-device.c
9246           src/nm-device.h
9247                 - (nm_device_get_best_connection): pass the specific object around
9248                          (which might be the object path of a specific AP to connect to).
9249                          The get_best_connection() call should populate this on return
9250                          if needed (wireless does).
9251
9252         * src/nm-device-802-3-ethernet.c
9253                 - (real_get_best_connection): handle specific_object argument
9254
9255         * src/NetworkManager.c
9256           src/NetworkManagerMain.h
9257                 - Remove unused includes
9258
9259         * src/nm-device-802-11-wireless.c
9260           src/nm-device-802-11-wireless.h
9261                 - Convert the ap_list into a GSList from an NMAccessPointList
9262                 - No need for caching the 'activation_ap' since this is now determined
9263                         from the specific_object of the activation request, which is
9264                         populated from the get_best_connection() call or from a user request
9265                 - (nm_device_802_11_wireless_update_bssid): fix warning
9266                 - (get_wireless_capabilities): fix error message format arguments
9267                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9268                 - (find_best_connection, real_get_best_connection): implement
9269                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9270                         move here from NetworkManagerAPList
9271                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9272                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9273                         already verified earlier
9274                 - (real_act_stage2_config): use nm_connection_need_secrets()
9275
9276         * src/NetworkManagerPolicy.c
9277                 - (nm_policy_auto_get_best_device): handle specific objects
9278                 - (create_connection): remove; automatic connection creation functionality
9279                         is handled by the Connection objects
9280                 - (nm_policy_device_change_check): handle specific_object
9281
9282         * libnm-util/nm-connection.c
9283                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9284
9285 2007-09-10  Dan Williams  <dcbw@redhat.com>
9286
9287         * src/nm-manager.c
9288                 - (query_connections): fix uninitialized variable problem that caused
9289                         segfault
9290                 - (nm_manager_add_device): take devices down on startup so that we can
9291                         be assured that nm_device_is_up() won't short-circuit the init
9292                         process.  Hack until the is_up check gets split into two pieces
9293                         that aren't behaviorally confusing.
9294
9295 2007-09-09  Dan Williams  <dcbw@redhat.com>
9296
9297         * introspection/nm-device.xml
9298                 - The 'Activate' method now takes 3 arguments, a service name for the
9299                 settings service (user or system), the object path of the connection
9300                 to activate, and the specific object to activate, if any
9301
9302         * src/nm-device-interface.c
9303                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9304                 Add error bits
9305                 - (impl_device_activate): adapt to new Activate arguments; validate
9306                 the service name and get the Connection object from the NMManager
9307                 before starting to activate the device with the specified connection
9308
9309         * src/nm-device-802-3-ethernet.c
9310                 - (real_get_best_connection): find the best connection, or create a
9311                 default one if no existing connections can be used
9312
9313         * src/NetworkManagerPolicy.c
9314                 - (nm_policy_auto_get_best_device): Get the device's best connection
9315                 and only pick the device if it has one
9316                 - (nm_policy_device_change_check): disable wireless bits for now until
9317                 wireless get_best_connection() can be implemented (replacing "best_ap");
9318                 don't create a default connection here as the device subclass will do
9319                 that if needed
9320
9321         * src/nm-manager.h
9322           src/nm-manager.c
9323                 - (nm_manager_get): make NMManager a singleton and expose the getter
9324                 internally
9325                 - Rework internal NMManager connection handling to use the same
9326                 routines for both the system and user settings services.  Most calls
9327                 take a new NMConnectionType argument specifying either system or user
9328                 connections
9329                 - (nm_manager_get_connection_by_object_path): new function; get a
9330                 connection keyed on its object path
9331
9332         * src/NetworkManager.c
9333                 - (main): use nm_manager_get()
9334
9335 2007-09-09  Dan Williams  <dcbw@redhat.com>
9336
9337         * src/nm-device.h
9338           src/nm-device.c
9339                 - (nm_device_get_best_connection): new function; get best connection
9340                         for the device at that time
9341
9342 2007-09-09  Dan Williams  <dcbw@redhat.com>
9343
9344         * src/nm-device-interface.h
9345                 - Add NMDeviceInterfaceError with an UnknownConnection error
9346
9347 2007-09-09  Dan Williams  <dcbw@redhat.com>
9348
9349         Stupid mistake on my part; object path and interface for settings service
9350         and connection objects can be the same, only the service name must be
9351         different for the system and user settings services.
9352
9353         * include/NetworkManager.h
9354           src/nm-manager.c
9355           introspection/nm-settings-connection.xml
9356           introspection/nm-settings.xml
9357           libnm-glib/nm-settings.c
9358                 - (nm_connection_settings_init, query_user_connections,
9359                    new_connection_cb): Unify NetworkManagerSettings and Connection
9360                    interface name and object path
9361
9362 2007-09-06  Dan Williams  <dcbw@redhat.com>
9363
9364         * libnm-glib/nm-object.c
9365                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9366                    nm_object_get_int_property, nm_object_get_uint_property,
9367                    nm_object_get_boolean_property, nm_object_get_byte_property,
9368                    nm_object_get_double_property, nm_object_get_byte_array_property):
9369                         clear GValues after copying their contents, fixes memory leaks
9370                         after every property access because dbus-glib copies the values
9371                         from the DBusMessage into the GValue already.
9372
9373 2007-09-06  Dan Williams  <dcbw@redhat.com>
9374
9375         * introspection/nm-access-point.xml
9376                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9377                         them to be.  There's some magic property name parsing going on in
9378                         dbus-glib that breaks up property names based on studly-caps and
9379                         puts - between words.
9380
9381         * libnm-glib/nm-access-point.c
9382                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9383                         Fix property names
9384
9385 2007-09-06  Dan Williams  <dcbw@redhat.com>
9386
9387         * src/nm-manager.c
9388                 - (nm_manager_user_connections_destroy): clear the user connections hash
9389                         table, don't destroy it
9390                 - (finalize): only destroy the hash table on NMManager finalization
9391
9392 2007-09-02  Dan Williams  <dcbw@redhat.com>
9393
9394         * include/NetworkManager.h
9395           libnm-glib/nm-settings.c
9396                 - defines for the user settings daemon D-Bus bits
9397
9398         * src/NetworkManager.c
9399                 - Remove stuff that referred to the old NetworkManagerInfo service
9400
9401         * src/vpn-manager/nm-dbus-vpn.h
9402                 - Move old NMI defines to the only place they are used still
9403
9404         * libnm-util/nm-connection.c
9405           libnm-util/nm-connection.h
9406           src/nm-activation-request.c
9407                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9408
9409         * src/nm-manager.c
9410           src/nm-manager.h
9411                 - Get connections and their settings from the user settings daemon
9412                         at the appropriate times
9413
9414 2007-09-02  Dan Williams  <dcbw@redhat.com>
9415
9416         * libnm-util/nm-setting.c
9417                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9418                 - (setting_wireless_hash): set the right value on the item
9419
9420 2007-09-02  Dan Williams  <dcbw@redhat.com>
9421
9422         * test/Makefile.am
9423           test/nminfotest.c
9424                 - Remove, no longer useful
9425
9426 2007-08-30  Dan Williams  <dcbw@redhat.com>
9427
9428         * src/Makefile.am
9429           src/NetworkManagerDbus.c
9430           src/NetworkManagerDbus.h
9431           src/vpn-manager/nm-dbus-vpn.c
9432                 - Remove, no longer necessary.  Move last bits to the only place its
9433                 used, in nm-dbus-vpn.c
9434
9435         * src/NetworkManagerAPList.c
9436           src/nm-device.c
9437           src/NetworkManager.c
9438           src/nm-device-802-11-wireless.c
9439           src/vpn-manager/nm-vpn-manager.c
9440           src/vpn-manager/nm-vpn-service.c
9441           src/NetworkManagerPolicy.c
9442           src/nm-manager.c
9443                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9444                 that was message_is_error()
9445
9446 2007-08-30  Dan Williams  <dcbw@redhat.com>
9447
9448         * libnm-util/sha1.c
9449                 - Include config.h to get defines for endiannes (gnome.org #420216)
9450
9451 2007-08-30  Dan Williams  <dcbw@redhat.com>
9452
9453         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9454
9455         * src/ppp-manager/Makefile.am
9456                 - use -fPIC (gnome.org #471825)
9457
9458 2007-08-29  Dan Williams  <dcbw@redhat.com>
9459
9460         * include/NetworkManager.h
9461                 - Keep NMConnection object path in sync
9462
9463         * libnm-glib/nm-settings.c
9464           libnm-glib/nm-settings.h
9465                 - Break D-Bus object registration out of the init function, because
9466                 every object that's exported over D-Bus needs to use the _same_
9467                 DBusConnection.  Otherwise, each object would get a different object
9468                 path tree and wouldn't be callable.
9469
9470 2007-08-29  Dan Williams  <dcbw@redhat.com>
9471
9472         * libnm-util/nm-setting.h
9473           libnm-util/nm-setting.c
9474           libnm-util/nm-connection.c
9475           src/NetworkManagerPolicy.c
9476                 - 'info' settings object should be 'connection' says the spec
9477                 at NetworkManagerConfigurationSpecification
9478
9479 2007-08-29  Dan Williams  <dcbw@redhat.com>
9480
9481         * libnm-glib/nm-settings.c
9482           libnm-glib/nm-settings.h
9483                 - make the dbus path a property of the object, and autogenerate it.
9484                 It can't be composed of the 'id' field becuase that's not available
9485                 yet during the GObject creation in nm_connection_settings_init()
9486
9487 2007-08-29  Dan Williams  <dcbw@redhat.com>
9488
9489         * introspection/nm-settings-connection.xml
9490           introspection/nm-settings.xml
9491                 - Service name -> NetworkManagerUserSettings because two services
9492                 can't share part of the same path.  I'm not really sure how we'll use
9493                 the same code with the system-settings daemon...
9494
9495 2007-08-28  Dan Williams  <dcbw@redhat.com>
9496
9497         * src/nm-device-interface.c
9498           src/nm-device-interface.h
9499                 - Kill one more bit of NMData
9500
9501 2007-08-28  Dan Williams  <dcbw@redhat.com>
9502
9503         * src/NetworkManagerSystem.h
9504           src/nm-device.c
9505           src/nm-device.h
9506           src/nm-hal-manager.c
9507           src/NetworkManager.c
9508           src/nm-device-802-11-wireless.c
9509           src/nm-hal-manager.h
9510           src/nm-device-802-3-ethernet.c
9511           src/vpn-manager/nm-vpn-service.h
9512           src/vpn-manager/nm-vpn-manager.c
9513           src/vpn-manager/nm-vpn-manager.h
9514           src/vpn-manager/nm-vpn-service.c
9515           src/nm-device-802-11-wireless.h
9516           src/NetworkManagerMain.h
9517           src/nm-device-802-3-ethernet.h
9518           src/backends/NetworkManagerGentoo.c
9519           src/backends/NetworkManagerPaldo.c
9520           src/backends/NetworkManagerFrugalware.c
9521           src/backends/NetworkManagerRedHat.c
9522           src/backends/NetworkManagerSlackware.c
9523           src/backends/NetworkManagerGeneric.c
9524           src/backends/NetworkManagerArch.c
9525           src/backends/NetworkManagerSuSE.c
9526           src/backends/NetworkManagerGeneric.h
9527           src/backends/NetworkManagerDebian.c
9528                 - Kill NMData
9529
9530 2007-08-28  Dan Williams  <dcbw@redhat.com>
9531
9532         * src/NetworkManagerMain.h
9533           src/nm-device-802-11-wireless.c
9534           src/NetworkManager.c
9535                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9536                 for now we should set the 'invalid' property on individual APs, and when
9537                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9538                 that ESS
9539
9540 2007-08-28  Dan Williams  <dcbw@redhat.com>
9541
9542         * src/NetworkManagerAP.c
9543           src/NetworkManagerAP.h
9544                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9545                         'autoconnect' property instead
9546
9547         * src/NetworkManager.c
9548           src/NetworkManagerMain.h
9549           src/NetworkManagerPolicy.c
9550           src/NetworkManagerPolicy.h
9551                 - Remove the 'allowed_ap_list', which should be replaced by 
9552                         NMConnection/NMSettings instead, since _those_ are the allowed
9553                         things that NM can connect to
9554
9555         * src/nm-device-802-11-wireless.c
9556                 - Remove both allowed_ap_list usage and 'fallback' checking
9557
9558 2007-08-28  Dan Williams  <dcbw@redhat.com>
9559
9560         * src/nm-device.c
9561           src/named-manager/nm-named-manager.c
9562           src/named-manager/nm-named-manager.h
9563           src/NetworkManager.c
9564           src/vpn-manager/nm-vpn-manager.c
9565           src/NetworkManagerMain.h
9566           src/NetworkManagerSystem.c
9567                 - Remove the named-manager object from NMData structure in preparation
9568                 for NMData's timely death.  Make the NMNamedManager the singleton that
9569                 it really is
9570
9571 2007-08-28  Dan Williams  <dcbw@redhat.com>
9572
9573         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9574         each AP's capabilities, and by NMConnection/NMSettings objects for user
9575         defined connections.
9576
9577         * include/NetworkManager.h
9578                 - Redefine 802.11 security properties.  There are now device capabilities
9579                         and AP flags and AP security flags.  It was way to unclear before.
9580
9581         * src/Makefile.am
9582           src/nm-ap-security-leap.h
9583           src/nm-ap-security-leap.c
9584           src/nm-ap-security-wpa-eap.c
9585           src/nm-ap-security-wpa-eap.h
9586           src/nm-ap-security-private.h
9587           src/nm-ap-security-wpa-psk.c
9588           src/nm-ap-security-wpa-psk.h
9589           src/nm-ap-security-wep.c
9590           src/nm-ap-security-wep.h
9591           src/nm-ap-security.c
9592           src/nm-ap-security.h
9593                 - Removed, to be replaced with NMConnection/NMSettings objects
9594
9595         * src/nm-dbus-nmi.c
9596           src/nm-dbus-nmi.h
9597                 - Removed, to be replaced by code that talks to the new info daemon
9598                         interface and gets NMConnection/NMSettings objects
9599
9600         * src/backends/NetworkManagerSuSE.c
9601                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9602                         info-daemon that does the same thing but talks the new info-daemon
9603                         D-Bus interface
9604
9605         * src/NetworkManagerAP.h
9606           src/NetworkManagerAP.c
9607           src/NetworkManagerAPList.c
9608           libnm-glib/libnm-glib-test.c
9609                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9610                         WPA/RSN
9611
9612         * libnm-glib/nm-access-point.c
9613           libnm-glib/nm-access-point.h
9614           introspection/nm-access-point.xml
9615           test/nm-tool.c
9616                 - Adjust to new flags for AP security
9617
9618         * utils/nm-utils.c
9619           utils/nm-utils.h
9620           src/vpn-manager/nm-dbus-vpn.c
9621                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9622                         stuff which is the only place it's used
9623
9624         * src/nm-device-interface.c
9625           src/nm-device-interface.h
9626           introspection/nm-device.xml
9627           src/nm-activation-request.c
9628           src/nm-activation-request.h
9629           src/nm-device.c
9630                 - Add a new 'specific_object' argument that hints to NM what actual
9631                         AP or other device-specific thing the connection should apply to.
9632                         NMConnection objects can apply to more than one actual device/AP.
9633
9634         * libnm-util/nm-connection.c
9635         * libnm-util/nm-connection.h
9636                 - Add 'have_secrets" call stubs
9637
9638         * libnm-util/cipher.h
9639                 - Move NM_AUTH_TYPE_* defines here for now
9640
9641         * src/nm-device-802-11-wireless.c
9642                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9643                         NMSettings objects
9644
9645         * src/NetworkManagerDbus.c
9646         * src/NetworkManagerPolicy.c
9647                 - Remove usage of update_allowed_networks, should be pushing data in
9648                         a different manner
9649
9650 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9651
9652         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9653         dbus-glib frees it when the call is done.
9654
9655 2007-08-26  Dan Williams  <dcbw@redhat.com>
9656
9657         * introspection/nm-device.xml
9658                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9659
9660 2007-08-26  Dan Williams  <dcbw@redhat.com>
9661
9662         * src/nm-device-802-3-ethernet.c
9663                 - (constructor): move connection of interface-connected/disconnected
9664                         signals here from real_bring_up().  Should be listening to netlink
9665                         for carrier events no matter what the initial state of the device
9666                         is.
9667
9668 2007-08-26  Dan Williams  <dcbw@redhat.com>
9669
9670         * src/nm-netlink-monitor.c
9671                 - (nm_netlink_monitor_class_init): fix marshalling types for
9672                         interface-connected/interface-disconnected
9673                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9674                         check
9675
9676 2007-08-26  Dan Williams  <dcbw@redhat.com>
9677
9678         Convert to using interface indexes as the primary method of identifying
9679         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9680         be renamed at any time.  Device object paths now refer to the device
9681         index rather than the name, and you can map those two manually if you like
9682         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9683         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9684         to use interface indexes rather than names.
9685
9686 2007-08-26  Dan Williams  <dcbw@redhat.com>
9687
9688         * src/nm-netlink-monitor.h
9689                 - Remove one last bit of wireless-event signal
9690
9691 2007-08-26  Dan Williams  <dcbw@redhat.com>
9692
9693         * src/nm-netlink-monitor.c
9694                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9695                         don't need the 'wireless-event' signal anymore since that's all
9696                         handled by wpa_supplicant
9697
9698 2007-08-25  Dan Williams  <dcbw@redhat.com>
9699
9700         It's 2007. Remove support for drivers that don't support wireless scanning.
9701
9702         * test/nm-tool.c
9703           include/NetworkManager.h
9704           src/NetworkManagerUtils.c
9705           src/NetworkManagerPolicy.c
9706           src/nm-device-802-11-wireless.c
9707                 - Remove special handling for non-scanning devices and mark them
9708                         as unsupported/unhandled
9709
9710 2007-08-20  Dan Williams  <dcbw@redhat.com>
9711
9712         * src/nm-device-802-11-wireless.c
9713           src/nm-device-802-3-ethernet.c
9714                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9715                         because when the card is pulled or the module removed, the device
9716                         is already !IFF_UP and then device-specific cleanup (removing
9717                         the supplicant interface, periodic checks, etc) never gets done
9718
9719 2007-08-20  Dan Williams  <dcbw@redhat.com>
9720
9721         * src/nm-manager.c
9722                 - (nm_manager_remove_device): bring device down before disconnecting
9723                         signal handlers, so that the 'state' signal will get broadcast when
9724                         the device enters the DOWN state
9725                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9726                         of states that cause the NMManager to recheck its state
9727
9728 2007-08-20  Dan Williams  <dcbw@redhat.com>
9729
9730         * src/supplicant-manager/nm-supplicant-interface.c
9731                 - (interface_disconnect_done): don't try to dispose of the net proxy
9732                         when it may already have been disposed of
9733
9734 2007-08-20  Dan Williams  <dcbw@redhat.com>
9735
9736         * src/nm-device-802-11-wireless.c
9737                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9738                         the SSID isn't available; this can happen when the card is pulled
9739                         or the module unloaded, during the post-removal deactivation
9740                         paths, when the ioctl returns ENODEV
9741
9742 2007-08-20  Dan Williams  <dcbw@redhat.com>
9743
9744         * src/nm-device-802-11-wireless.c
9745                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9746                         frequency, and mode match.  Applets are now responsible for grouping
9747                         access points
9748
9749 2007-08-20  Dan Williams  <dcbw@redhat.com>
9750
9751         * src/NetworkManagerAP.c
9752         * src/NetworkManagerAP.h
9753                 - (nm_ap_print_self): new function
9754
9755         * src/NetworkManagerAPList.c
9756                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9757                         to do it all here
9758         
9759 2007-08-17  Dan Williams  <dcbw@redhat.com>
9760
9761         * src/nm-device-802-3-ethernet.c
9762                 - (real_bring_down): don't try to dispose of stuff that might not
9763                         exist
9764
9765 2007-08-17  Dan Williams  <dcbw@redhat.com>
9766
9767         * src/NetworkManagerAP.c
9768                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9769                         applet.  This ensures that the case between the seen-bssids and
9770                         the bssids reported by the driver match.
9771
9772 2007-08-17  Dan Williams  <dcbw@redhat.com>
9773
9774         * src/nm-device-802-11-wireless.c
9775                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9776                         we dispose of the interface proxy in NM
9777
9778 2007-08-16  Dan Williams  <dcbw@redhat.com>
9779
9780         * libnm-glib/nm-client.c
9781                 - (nm_client_init): create VPN connections hash table with key free
9782                         function
9783                 - (proxy_vpn_connection_added): VPN connections hash table key should
9784                         be a duplicated value, not the same memory address as the VPN
9785                         connection name.  This is because the VPN connection name could
9786                         potentially be freed and set to something else during the lifetime
9787                         of the NMVPNConnection object.
9788
9789 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9790
9791         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9792         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9793         with the file descriptors. Send a child setup function to change the pppd
9794         progress group.
9795
9796 2007-08-15  Dan Williams  <dcbw@redhat.com>
9797
9798         * src/supplicant-manager/nm-supplicant-interface.c
9799                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9800                         an interface
9801                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9802                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9803                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9804                         the interface internally
9805
9806 2007-08-15  Dan Williams  <dcbw@redhat.com>
9807
9808         * src/nm-device-802-11-wireless.c
9809                 - (real_bring_down): move most of this function into device_cleanup()
9810                         so that it can be called from elsewhere
9811                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9812                         and stuff on dispose.  These would normally get cleaned up when
9813                         the device is marked down and deactivated, but when the device is
9814                         hot-unplugged, it's already down and real_down() never gets run
9815
9816 2007-08-15  Dan Williams  <dcbw@redhat.com>
9817
9818         * src/nm-dbus-nmi.c
9819                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9820                         caused a reference leak on device for which NM requested a key
9821
9822 2007-08-15  Dan Williams  <dcbw@redhat.com>
9823
9824         * libnm-glib/nm-client.c
9825                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9826
9827 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9828
9829         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9830         nothing is using it at the moment, but it'll be all useful and stuff later on.
9831
9832         * libnm-util/nm-setting.h: Define NMSettingPPP.
9833
9834         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9835
9836         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9837
9838         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9839
9840         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9841
9842         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9843
9844 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9845
9846         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9847
9848         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9849         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9850         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9851         name and different arguments and it won't compile anymore. To fix this, we now have
9852         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9853         that is new API + compatibility API and used by the daemon. The other, 
9854         nm-manager-client.xml is only the new API without compatibility bits and is used
9855         by libnm-glib to make it compile.
9856
9857         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9858
9859         * src/nm-manager.c (impl_manager_legacy_sleep)
9860         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9861         interface functions for 0.6 branch.
9862
9863 2007-08-14  Dan Williams  <dcbw@redhat.com>
9864
9865         * src/NetworkManagerAP.c
9866                 - (nm_ap_new_from_properties): fix mistaken check of return value
9867                         from memcmp (should expect 0)
9868
9869 2007-08-14  Dan Williams  <dcbw@redhat.com>
9870
9871         (force-commit to fix wrong comment and partial commit of r2685; this
9872          commit actually applies to r2685)
9873
9874         * src/NetworkManagerUtils.c
9875                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9876                         ignores trailing nulls in the SSID to work around mismatches in
9877                         expectations between WEXT and what the info-daemon passes back.  The
9878                         info-daemon would pass back the correct length, but due to the
9879                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9880                         the device would always have an SSID + 1 depending on what versions
9881                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9882                         visible by just quitting the applet and relaunching, which caused
9883                         NM to reassociated to the same network over again when reloading
9884                         the save networks.
9885
9886         * src/NetworkManagerPolicy.c
9887           src/NetworkManagerUtils.h
9888           src/nm-device-802-11-wireless.c
9889                 - Update for new parameter to nm_utils_same_ssid()
9890
9891 2007-08-14  Dan Williams  <dcbw@redhat.com>
9892
9893         * src/NetworkManagerAP.c
9894                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9895                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9896                         setting the BSSID to all 0s.  That confused the heck out of NM,
9897                         plus it's useless and probably out-of-spec.
9898
9899 2007-08-14  Dan Williams  <dcbw@redhat.com>
9900
9901         * callouts/Makefile.am
9902           src/dhcp-manager/nm-dhcp-manager.c
9903           src/dhcp-manager/nm-dhcp-manager.h
9904           src/dhcp-manager/Makefile.am
9905                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9906
9907 2007-08-14  Dan Williams  <dcbw@redhat.com>
9908
9909         * src/dhcp-manager/nm-dhcp-manager.c
9910                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9911                         it's really needed, get rid of unused xtra_args parameter
9912
9913 2007-08-14  Dan Williams  <dcbw@redhat.com>
9914
9915         * include/NetworkManagerVPN.h
9916           src/vpn-manager/nm-dbus-vpn.c
9917           src/vpn-manager/nm-dbus-vpn.h
9918           src/vpn-manager/nm-vpn-act-request.c
9919           src/vpn-manager/nm-vpn-act-request.h
9920           src/vpn-manager/nm-vpn-service.c
9921           src/vpn-manager/nm-vpn-service.h
9922           libnm-glib/nm-vpn-connection.c
9923           libnm-glib/nm-vpn-connection.h
9924           libnm-glib/nm-client.h
9925                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9926                         NMVPNServiceState to clarify what they apply to
9927                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9928                         NMVPNActStage -> NMVPNConnectionState for the same reason
9929
9930         * libnm-glib/nm-client.c
9931                 - Constant + type renames from above
9932                 - Properly handle NameOwnerChanged/manager_running signals
9933                         for NM service; only emit when state really changes
9934                 - Use hash tables correctly so that the key (which was previously owned
9935                         by the D-Bus message) now has the same lifetime as the value, since
9936                         the key is now taken from the the NMVPNConnection itself.  This
9937                         really fixes the double-VPN names in the applet
9938
9939 2007-08-13  Dan Williams  <dcbw@redhat.com>
9940
9941         Patch from Michael Biebl <biebl@debian.org>
9942
9943         * po/POTFILES.in
9944           po/POTFILES.skip
9945                 - Update for vpn-properties move
9946
9947 2007-08-13  Dan Williams  <dcbw@redhat.com>
9948
9949         * libnm-glib/nm-client.c
9950                 - Convert internal VPN connection tracking from a list to a hash table
9951                         to easily avoid duplicates
9952                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9953                         must be freed by the caller, like nm_client_get_devices()
9954                 - (nm_client_remove_vpn_connection): don't let the removal signal
9955                         leak through for NMVPNConnection objects that aren't actually
9956                         tracked.
9957                 - (manager_running): throw away VPN connection list when NM goes away,
9958                         like with the device list
9959
9960 2007-08-13  Dan Williams  <dcbw@redhat.com>
9961
9962         * src/dhcp-manager/nm-dhcp-manager.c
9963                 - Stop any dhclient instance that might be already running for a
9964                         particular interface before starting an NM spawned dhclient.  Fixes
9965                         dhclient processes left over if NM crashes, stuff like that.
9966
9967 2007-08-13  Dan Williams  <dcbw@redhat.com>
9968
9969         * src/NetworkManagerAP.c
9970                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9971                         when the AP wasn't broadcasting it's SSID
9972
9973 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9974
9975         * include/NetworkManager.h: added DBus path for connection settings.
9976
9977         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9978         nm_connection_settings_signal_updated,
9979         nm_connection_settings_signal_removed): new functions to wrap the
9980         objects' signals.
9981         (nm_connection_settings_init): register GObject with DBus.
9982         (nm_connection_settings_get_dbus_object_path): new function.
9983
9984         * libnm-glib/Makefile.am: added libnmutil to link flags.
9985
9986 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9987
9988         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9989
9990         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9991         libnm_glib directory got merged with libnm-glib/.
9992
9993         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9994
9995         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9996         Rename the library from libnm-glib to libnm_glib to maintain the library API
9997         compatibility with 0.6 branch.
9998
9999         * Makefile.am: Remove gnome/ SUBDIR.
10000
10001         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10002
10003         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10004
10005         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10006
10007         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10008         anymore.
10009         Remove checks for wpa_supplicant binary, it's used over dbus.
10010         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10011
10012         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10013         Link the binaries with libnm_glib.la.
10014
10015 2007-08-12  Dan Williams  <dcbw@redhat.com>
10016
10017         * src/NetworkManagerPolicy.c
10018                 - (nm_policy_device_change_check): fix policy to deactivate old device
10019                         before activating new one, at least until the multiple active
10020                         device support lands
10021
10022 2007-08-12  Dan Williams  <dcbw@redhat.com>
10023
10024         * src/NetworkManagerPolicy.c
10025                 - (nm_policy_new): hook up to connection-added / connection-removed
10026                         signals instead of connections-changed
10027
10028 2007-08-12  Dan Williams  <dcbw@redhat.com>
10029
10030         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10031         Robert Frank <rfrank@redhat.com>
10032
10033         * src/dhcp-manager/nm-dhcp-manager.c
10034           src/dhcp-manager/nm-dhcp-manager.c
10035           src/nm-device.c
10036                 - Spawn and communicate with dhclient directly, through means of a
10037                 custom dhclient callout script.  Process callout D-Bus signals
10038                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10039                 sent via gobject signals rather than being driven by the dhcp manager
10040                 directly.
10041
10042 2007-08-12  Dan Williams  <dcbw@redhat.com>
10043
10044         * callouts/nm-dhcp-client-action.c
10045                 - (build_message): ignore non-DHCP-related environment variables
10046
10047 2007-08-12  Dan Williams  <dcbw@redhat.com>
10048
10049         * Makefile.am
10050           configure.in
10051           callouts/Makefile.am
10052           callouts/nm-dhcp-client-action.c
10053           callouts/nm-dhcp-client.conf
10054                 - Add dhclient-executed callout that takes the place of dhclient-script
10055                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10056                 NM then listens for
10057
10058 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10059
10060         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10061
10062         * libnm-glib/nm-client.h:
10063         * libnm-glib/nm-object.h:
10064         * libnm-glib/nm-vpn-connection.h:
10065         * libnm-glib/nm-settings.h:
10066         * libnm-glib/nm-device.h:
10067         * libnm-glib/nm-ip4-config.h:
10068         * libnm-glib/nm-access-point.h:
10069         * libnm-glib/nm-device-802-3-ethernet.h:
10070         * libnm-util/nm-setting.h: 
10071         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10072
10073         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10074
10075         * libnm-glib/nm-access-point.c: Strength has type char.
10076
10077         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10078         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10079
10080         * introspection/nm-access-point.xml: Strength property is char, not int.
10081
10082         * src/NetworkManagerAP.c (set_property): Set strength from char.
10083         (get_property): Handle hidden APs (with empty SSID).
10084         Get strength value from char.
10085         (nm_ap_class_init): Strength property has char type.
10086
10087 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10088
10089         * introspection/Makefile.am:
10090         * introspection/nm-settings.xml:
10091         * introspection/nm-settings-connection.xml: added Settings interfaces.
10092
10093         * libnm-glib/nm-settings.[ch]:
10094         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10095         containing the DBus implementation.
10096
10097 2007-07-26  Dan Williams  <dcbw@redhat.com>
10098
10099         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10100
10101         * src/NetworkManagerSystem.c
10102                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10103                         same subnet (#437396)
10104
10105 2007-07-26  Dan Williams  <dcbw@redhat.com>
10106
10107         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10108
10109         * gnome/vpn-properties/nm-vpn-properties.c
10110                 - Fix translatable strings (#445865)
10111
10112 2007-07-26  Dan Williams  <dcbw@redhat.com>
10113
10114         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10115
10116         * configure.in
10117                 - Remove useless junk (#412530)
10118
10119 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10120
10121         Patch from Robert Buchholz <rbu@gentoo.org>:
10122
10123         * configure.in:
10124         * Makefile.am:
10125         * introspection/Makefile.am:
10126         Make make distcheck work again.
10127
10128 2007-06-27  Dan Williams  <dcbw@redhat.com>
10129
10130         * Make SSIDs GByteArrays everywhere
10131         * Rename "essid" -> "ssid" everywhere that's appropriate
10132         * Refcount activation_ap member of the 802.11 wireless device class
10133
10134 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10135
10136         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10137
10138 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10139
10140         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10141         that we got a new AP when we just update existing AP properties.
10142
10143 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10144
10145         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10146
10147         * nm-utils.[ch]: Remove.
10148
10149         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10150         objects for easy property access and dbus connection handling.
10151
10152         * libnm-glib/nm-client.c: Derive from NMObject.
10153
10154         * libnm-glib/nm-device.c: Ditto.
10155
10156         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10157
10158         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10159
10160         * libnm-glib/nm-ip4-config.c: Ditto.
10161
10162         * libnm-glib/nm-access-point.c: Ditto.
10163
10164         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10165         comparision. Currently used by the device activation code to determine if the new
10166         activation is the same as the old one.
10167
10168         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10169         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10170         able to ask password for the AP.
10171
10172         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10173         up if the device is already connected, tear down it's connection (if it isn't the
10174         same as new one) and start the activation.
10175
10176         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10177
10178         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10179         the issue where all APs are always listed as encrypted.
10180
10181         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10182         their own registered paths.
10183
10184         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10185         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10186
10187 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10188
10189         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10190         (0 & 0 == 0, doh)
10191
10192         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10193         because the handling code will cause the next state change and signal listeners
10194         get the signals in wrong order.
10195
10196         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10197         correctly in case of pending activation.
10198
10199         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10200         Convert the essid byte array to string correctly, including the terminating NULL.
10201
10202         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10203         mode with correct types.
10204
10205         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10206         constructed info to dbus call instead of the activation request.
10207
10208 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10209
10210         Patch from Christian Persch <chpe@gnome.org>
10211
10212         * libnm-glib/Makefile.am:
10213         * dispatcher-daemon/Makefile.am:
10214         Use the correct variables, the correct paths, and correct ordering. (446315)
10215
10216 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10217
10218         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10219         argument. The activation request is easy to retrieve.
10220
10221         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10222         just to be a convenient location for devices to store random stuff.
10223
10224 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10225
10226         Patch from Alex Smith <alex@alex-smith.me.uk>
10227
10228         * src/backends/NetworkManagerFrugalware.c:
10229         Update the FrugalWare backend to fix a few segfaults. (#392642)
10230
10231 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10232
10233         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10234
10235         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10236         setting.
10237         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10238
10239 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10240
10241         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10242         automagically.
10243         Implement NMSettingIP4Config.
10244         Finish NMSettingWired by adding all known members.
10245         (setting_wired_verify): Implement.
10246         Finish NMSettingWireless by adding all known members.
10247         (setting_wireless_verify): Implement.
10248
10249         * libnm-util/nm-connection.c: Register "ipv4" setting.
10250         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10251         dump function, we can introspect the GHashTable which is used for sending connections
10252         over dbus.
10253
10254         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10255         Take GByteArray for essid, it's really not a string.
10256
10257         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10258         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10259         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10260         means overriding the values we got from DHCP.
10261         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10262         (nm_device_deactivate_quickly): Ditto.
10263
10264         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10265         for debugging.
10266
10267 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10268
10269         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10270         NMConnection.
10271
10272         * libnm-glib/nm-device-802-11-wireless.c:
10273         (nm_device_802_3_ethernet_activate): Remove.
10274
10275         * libnm-glib/nm-device-802-3-ethernet.c
10276         (nm_device_802_3_ethernet_activate): Remove.
10277
10278         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10279
10280         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10281         NMConnection.
10282
10283         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10284         activation has started.
10285         Implement the new activation using NMConnection.
10286
10287         * src/nm-activation-request.c: Store a generic connection object instead
10288         of a wireless-specific AP.
10289
10290         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10291         on device type, create a device specific connection object suitable for
10292         device activation.
10293
10294         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10295         specific check to validate the connection and on success start the
10296         activation.
10297
10298         * src/nm-device-interface.h: Add a activate virtual function to the
10299         interface definition.
10300
10301         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10302         (impl_device_activate): Implement.
10303
10304         * introspection/nm-device.xml: Add a generic device activation interface
10305         that accepts an abstract NMConnection structure that has device-specific
10306         information in it.
10307
10308         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10309         activation interface.
10310
10311         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10312         activation interface.
10313
10314         * libnm-util/nm-connection.c: 
10315         * libnm-util/nm-connection.h: 
10316         * libnm-util/nm-setting.c:
10317         * libnm-util/nm-setting.h: Add.
10318
10319         * libnm-util/Makefile.am: Build the added files.
10320
10321         * src/nm-dbus-manager.c
10322         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10323         DbusConnection argument from 'name-owner-changed' signal. The manager
10324         is already passed as a first argument to the signal and the connection
10325         is easy enough to get from it.
10326
10327         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10328         Update the signature of the function.
10329
10330         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10331         Ditto.
10332
10333         * src/NetworkManager.c: Ditto.
10334
10335         * src/named-manager/nm-named-manager.c
10336         (nm_named_manager_name_owner_changed): Ditto.
10337
10338         * src/supplicant-manager/nm-supplicant-manager.c
10339         (nm_supplicant_manager_name_owner_changed): Ditto.
10340
10341         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10342
10343         * src/dhcp-manager/nm-dhcp-manager.c
10344         (nm_dhcp_manager_name_owner_changed): Ditto.
10345
10346         * src/nm-hal-manager.c: Add a list of device detectors and creators
10347         to make it easier to add new devices. Each device type has it's own
10348         entry in the table so adding new device types is only a matter of
10349         implementing a couple of functions, one for device detection and the
10350         other for device creation.
10351
10352 2007-04-25  Dan Williams  <dcbw@redhat.com>
10353
10354         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10355                 (gnome.org #432401)
10356
10357 2007-03-30  Dan Williams  <dcbw@redhat.com>
10358
10359         * src/NetworkManagerSystem.c
10360                 - (nm_system_device_set_ip4_route): clean up and fix argument
10361                         to nm_dev_sock_open()
10362
10363 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10364
10365         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10366         data to correct types instead of always using string.
10367
10368         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10369         _not_ have NM_802_11_CAP_PROTO_NONE.
10370         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10371         is not set.
10372
10373 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10374
10375         * libnm-glib/Makefile.am: Fix the build issue.
10376
10377 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10378
10379         * libnm-glib/nm-vpn-connection.h: 
10380         * libnm-glib/nm-vpn-connection.c: Implement.
10381
10382         * libnm-glib/nm-client.c: Add VPN support.
10383
10384         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10385         handler for VPN.
10386
10387         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10388         on DBUS again.
10389
10390 2007-03-26  Dan Williams  <dcbw@redhat.com>
10391
10392         * src/NetworkManagerAPList.c
10393         * src/nm-device-802-11-wireless.c
10394         * src/NetworkManagerAP.c:
10395                 - Store last seen as glong instead of GTimeVal.
10396                 - Fix the upper bound of capabilities, it's a bitfield.
10397
10398 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10399
10400         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10401
10402         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10403         "manager-running" signal that notifies the appearance/disappearance of NM.
10404         (nm_client_sleep): Implement.
10405
10406         * libnm-glib/nm-device.c:
10407         * libnm-glib/nm-device-802-11-wireless.c: 
10408         * libnm-glib/nm-device-802-3-ethernet.c: 
10409
10410         Don't inherit from DBusGProxy, add a proxy to private
10411         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10412         for anything but their own dbus interface. DBusGProxy objects support only one
10413         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10414         interface. The nice side effect of this change is that we do not create a new
10415         DBusGProxy object for each property access.
10416
10417 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10418
10419         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10420         with zeroes before passing them to functions - the functions never do that and
10421         reading the values back may produce wrong values.
10422         (real_bring_up): Store the signal handler id ...
10423         (real_bring_down): ... So that it can be removed here.
10424         Disconnect the supplicant interface here as well.
10425         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10426         from the access point instead of old $device/Networks/$essid.
10427
10428         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10429         device state is connected (instead of just having link/carrier).
10430
10431         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10432         already easily accessible through the device.
10433
10434         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10435         store it within the object.
10436         (nm_ap_get_dbus_path): Export it to public as well.
10437
10438         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10439         of the singleton.
10440
10441 2007-03-12  Dan Williams  <dcbw@redhat.com>
10442
10443         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10444         for non-carrier-detect capable devices, and useless for carrier-detect
10445         devices since we get notifications from netlink about carrier status anyway.
10446
10447         * src/nm-device-802-3-ethernet.c
10448                 - remove 'link_source_id' member from private data
10449                 - (probe_link): remove and collapse into real_update_link()
10450                 - (nm_device_802_3_periodic_update): remove
10451                 - (real_is_up): check for sup_iface rather than link_source_id
10452                 - (real_bring_up): return gboolean for success/fail; require that
10453                         sup_iface be valid for device bringup to succeed
10454                 - (real_bring_down): zero out link signal ids
10455
10456         * src/nm-device.c
10457                 - (nm_device_activate_stage2_device_config): fail activation if device
10458                         bringup fails
10459                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10460                         fails
10461                 - (nm_device_bring_up): return success/fail
10462
10463         * src/nm-device.h
10464                 - bring_up now returns success/fail
10465
10466         * src/nm-device-802-11-wireless.c
10467                 - (real_bring_up): return success from bringup
10468
10469 2007-03-07  Dan Williams  <dcbw@redhat.com>
10470
10471         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10472         * src/nm-ap-security-wpa-psk.c
10473                 - (real_write_supplicant_config): work with PSKs that may contain
10474                         zeros in the binary format rather than treating it as a string
10475
10476 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10477
10478         * libnm-glib/nm-device-802-11-wireless.c
10479         (nm_device_802_11_wireless_get_capabilities): Implement.
10480
10481         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10482
10483         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10484
10485         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10486         reply only if it's not NULL. Not sure why this started happening right now.
10487
10488         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10489         code paths for when devices get removed on shutdown or when a device is just
10490         removed.
10491         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10492         gets freed so any signal from a device (disconnected for instance) would invoke
10493         NMState update which would crash.
10494         (nm_manager_remove_device): Bring the device down when it gets removed.
10495
10496         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10497         the unused dev_type.
10498
10499         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10500         reference to the added device, NMManager will own it (if it wants).
10501
10502         * test/nm-tool.c: Rewrite using libnm-glib.
10503
10504         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10505         We get signalled when it changes.
10506
10507         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10508         when it changes.
10509
10510         * libnm-glib/nm-device.c: Cache the device state property.
10511
10512         * libnm-glib/nm-access-point.c: Cache the strength property.
10513
10514         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10515         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10516         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10517         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10518         the device is down, activating, or activated (in case of A/B/G cards).
10519         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10520         it's all done through supplicant now.
10521
10522         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10523         counting issues with pending calls which caused leaks and crashes when
10524         interface was removed (now that the interface actually gets removed).
10525
10526         * src/nm-call-store.c: Make a copy of data before running a foreach
10527         with user callback on it - The most common usage pattern is to cancel
10528         (and thus remove) all pending calls with foreach which would modify
10529         the hash table we're iterating over.
10530
10531         * src/nm-manager.c: When a device is added, make sure it is "up". When
10532         it's removed or disabled due to disabling wireless or networking, bring
10533         it down.
10534
10535         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10536
10537         * src/nm-device-802-11-wireless.c: 
10538         * src/nm-device-802-3-ethernet.c: 
10539         * src/nm-device.c:
10540                 - Remove "init" virtual function, all gobjects have a place for that
10541                   already (constructor).
10542                 - Replace "start" virtual function with "bring_up", devices can be
10543                   brought up and down more than just on startup now.
10544                 - Add "is_up" virtual function.
10545                 - Implement one way to bring a device down instead of previous 4 different
10546                   ways, each of witch did something different.
10547
10548         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10549         all it needs is the device interface.
10550
10551         Get rid of NMData.dev_list (3 members to go).
10552         Get rif of NMData in a lot of places.
10553
10554         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10555
10556 2007-02-23  Dan Williams  <dcbw@redhat.com>
10557
10558         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10559
10560         * src/NetworkManagerAP.c
10561                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10562                         OR-ing rather than AND-ing
10563
10564 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10565
10566         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10567         "network-removed" signals.
10568
10569         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10570
10571         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10572         when receiving the signal from dbus.
10573
10574         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10575         property.
10576
10577         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10578         deactivation of the previously activated device working again.
10579
10580         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10581         and setter.
10582
10583         * src/nm-device.c (nm_device_is_activated): Remove.
10584         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10585
10586         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10587         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10588         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10589         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10590         Remove NMNetworkStatus and NMActStage enums.
10591
10592 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10593
10594         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10595         Handle device state changes and disconnect VPN if it's device deactivates.
10596
10597         * src/nm-dbus-nm.c: 
10598         * src/nm-dbus-nm.h: 
10599         * src/nm-dbus-device.c: 
10600         * src/nm-dbus-device.c: 
10601         * src/nm-dbus-net.c: 
10602         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10603
10604         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10605
10606         * src/nm-device.c (nm_device_get_by_udi):
10607         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10608         implemented in the correct location (NMManager).
10609         Rip out all the test_device stuff.
10610
10611         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10612         failure handlers, it's all done by NMDevice already.
10613
10614         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10615         Remove the iochannel hack to route the unix signals to the main thread since
10616         we're not threaded anymore.
10617
10618         * src/NetworkManagerAP.c: Implement HWAddress property.
10619
10620         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10621         automatically with dbus-glib.
10622
10623         * src/nm-netlink-monitor.c: 
10624         * src/nm-netlink-monitor.h:
10625                 - Move it low in the class hierarchy, don't reference any NM types.
10626                 - Remove private data from the header.
10627                 - Use type safe checks in public API methods.
10628                 - Make it a singleton so we don't have to pass the single reference around.
10629
10630 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10631
10632         * introspection/nm-ip4-config.xml: Implement.
10633
10634         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10635
10636         * libnm-glib/nm-ip4-config.c:
10637         * libnm-glib/nm-ip4-config.c: Implement.
10638
10639         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10640         securities. APs reference security.
10641
10642         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10643         be exported over DBUS.
10644
10645         * src/nm-device-802-3-ethernet.c: Ditto.
10646
10647         * src/NetworkManagerAP.c:
10648         * src/NetworkManagerAP.h:
10649                 - Convert to GObject, export over DBUS.
10650
10651         * src/nm-ip4-config.h:
10652         * src/nm-ip4-config.h:
10653                 - Convert to GObject, export over DBUS.
10654
10655 2007-02-12  Dan Williams  <dcbw@redhat.com>
10656
10657         Patch from Helmut Schaa <hschaa@suse.de>
10658
10659         * vpn-daemons/pptp/configure.in
10660           vpn-daemons/pptp/Makefile.am
10661           vpn-daemons/openvpn/configure.in
10662           vpn-daemons/openvpn/Makefile.am
10663           vpn-daemons/vpnc/configure.in
10664           vpn-daemons/vpnc/Makefile.am
10665                 - Add --without-gnome switch which disables building gnome bits
10666
10667 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10668
10669         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10670
10671         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10672
10673         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10674         'HwAddress'.
10675
10676         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10677
10678         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10679
10680         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10681
10682         * src/:
10683                 - Remove old low-level dbus interface implementations and replace them
10684                   with dbus-glib one.
10685
10686         * configure.in:
10687                 - Require dbus-glib >= 0.72.
10688                 - Plug in new sources to build.
10689
10690         * libnm-glib/:
10691                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10692                   to make it more convenient to use from GObject based programs.
10693
10694         * introspection/:
10695                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10696
10697 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10698
10699         * src/nm-device-802-11-wireless.c:
10700                 - Add "network-added" and "network-removed" signals.
10701                 - Use gobject boilerplate macros to define the GObject.
10702                 - Implement wireless device activation.
10703                 - Remove activation_failure_handler and activation_success_handler
10704                   and instead listen on state-changed signals and run the same code
10705                   from there.
10706
10707         * src/nm-device.c:
10708                 - Implment NMDeviceInterface::deactivate.
10709                 - Remove activation_failure_handler and activation_success_handler
10710                   virtual methods. Each device which is interested in these events
10711                   can just listen on it's state changed signals.
10712
10713         * src/NetworkManagerPolicy.c:
10714                 - Move a bit more NMData usage to NMManager.
10715                 - Remove activation scheduling bits.
10716                 - Add listeners for wireless device's "network-added" and
10717                   "network-removed" signals.
10718                 - Listen device changed signals and deactivate currently activated
10719                   device when another device start activating (for now).
10720                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10721                   for calling this, the policy code knows exactly when this should happen,
10722                   by listening on events from NMManager and NMDevices.
10723
10724         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10725         Implement.
10726
10727         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10728         method on the specific device instead of going to through policy code
10729         and determining the device type by passed in AP's existance.
10730
10731         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10732         abstract NMDevice deactivation.
10733
10734 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10735
10736         * src/NetworkManager.c:
10737                 - Set up all the shiny new managers.
10738
10739         * src/NetworkManagerPolicy.c:
10740                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10741                   classes to call into policy code, make the policy code kind of like
10742                   a supervisor that monitors what's going on and drives the whole NM.
10743
10744         * src/nm-hal-manager.c: 
10745         * src/nm-hal-manager.h:
10746                 - Collect all libhal code scattered around NM to this one class.
10747                 - Listen libhal and NMManager events and add/remove devices to
10748                   NMManager.
10749
10750         * src/nm-manager.c:
10751         * src/nm-manager.h:
10752                 - Implment a replacement for NMData. NMData is now officially
10753                 deprecated.
10754
10755 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10756
10757         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10758         * src/supplicant-manager/nm-supplicant-interface.h
10759         * src/supplicant-manager/nm-supplicant-interface.c
10760         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10761         argument to boolean from enum.
10762
10763         Make NMDevice abstract class, remove almost all references to it's
10764         subclasses (the last place gets removed with new policy manager). Add
10765         NMDeviceInterface (which NMDevice implements) so that when we have
10766         NMDevice exported over DBUS, there's a common NMDevice interface which
10767         all instances have, plus there's a device specific interface for each
10768         specific type.
10769         Remove functions (nm_device_is_802_3_ethernet) and
10770         (nm_device_is_802_11_wireless). There are already standard GObject macros
10771         for type safe checks.
10772         Use the updated supplican manager API.
10773
10774         * src/nm-device-interface.h: 
10775         * src/nm-device-interface.c: 
10776         * src/nm-call-store.h: 
10777         * src/nm-call-store.c: Implement.
10778
10779         * src/supplicant-manager/nm-supplicant-interface.c:
10780         * src/supplicant-manager/nm-supplicant-interface.h:
10781         * src/supplicant-manager/nm-supplicant-manager.c:
10782         * src/supplicant-manager/nm-supplicant-manager.h:
10783                 - Remove all private data type references from public header files.
10784                 - Remove all references to other NM classes, this class is just a
10785                   proxy between wpa_supplicant and NM so it doesn't have to know
10786                   any internals.
10787                 - Convert to dbus-glib bindings.
10788                 - Type safe checks for public methods' arguments.
10789                 - Store pending DBUS call ids to NMCallStore.
10790
10791         * src/supplicant-manager/nm-supplicant-config.c:
10792                 - Store config values in a GHashTable instead of GSList.
10793
10794         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10795
10796         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10797         singleton now.
10798
10799         * src/nm-device.c: Use the new DHCP manager API.
10800
10801         * src/nm-activation-request.c:
10802         * src/nm-activation-request.h:
10803                 - Remove all dhcp related properties and methods.
10804
10805         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10806
10807         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10808
10809         * src/dhcp-manager/nm-dhcp-manager.c:
10810         * src/dhcp-manager/nm-dhcp-manager.h:
10811                 - Convert it to GObject since we need to signal state changes.
10812                 - Remove all references to other NM classes, this class is one
10813                   of the lowest classes in our hierarchy.
10814                 - One less class to use NMActRequest.
10815                 - Make it singleton, one less user of NMData.
10816                 - Remove a couple of sleep() calls.
10817                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10818                   One less class to use the NM's custom tailored signal handlig.
10819
10820         * Makefile.am: Generate marshallers, add them to build.
10821
10822 2007-02-02  Dan Williams  <dcbw@redhat.com>
10823
10824         * configure.in
10825           gnome/Makefile.am
10826           nm-applet.desktop
10827           Makefile.am
10828                 - Remove last bits referencing gnome applet
10829
10830 2007-02-02  Dan Williams  <dcbw@redhat.com>
10831
10832         * src/vpn-manager/nm-vpn-service.c
10833                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10834                         and NBNS server addresses
10835
10836 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10837
10838         * src/nm-dbus-manager.c:
10839         * src/nm-dbus-manager.h:
10840                 - Convert all internal DBUS code to use dbus-glib bindings.
10841                 - Remove GObject properties, we don't need them here.
10842                 - Don't explicitly set things to NULL after freeing, glib is
10843                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10844                 - Make public API argument checks type safe.
10845                 - Remove unnecessary (and wrong) cast to GObject for the first
10846                   argument to g_signal_* calls - The first argument is a gpointer.
10847                 - Export DBusGConnection to other cool classes that (are going to)
10848                   use dbus-glib.
10849
10850 2007-01-26  Dan Williams  <dcbw@redhat.com>
10851
10852         * libnm-util/dbus-dict-helpers.c
10853           libnm-util/dbus-dict-helpers.h
10854                 - Coordinate style with wpa_supplicant version to minimize diff
10855                 - Add uint32 array support
10856                 - (nmu_dbus_dict_append_uint32_array): new function
10857                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10858                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10859                         version; allow adding string array elements individually
10860
10861         * test/libnm-util/test-dbus-dict-helpers.c
10862                 - Test uint32 arrays
10863
10864 2007-01-27  Jürg Billeter  <j@bitron.ch>
10865
10866         * src/backends/NetworkManagerPaldo.c
10867                 - (nm_system_update_dns): clear nscd hosts cache
10868
10869 2007-01-04  Dan Williams  <dcbw@redhat.com>
10870
10871         Threading removal related cleanups:
10872
10873         - Use the glib default main context.  Remove the device main context
10874                 member from NMDevice, and the main_context member from NMData.  Change
10875                 all the idle and timeout scheduler functions to use plain
10876                 g_idle_add() and g_timeout_add().
10877
10878         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10879                 takes an argument; fix that up too.
10880
10881         - Remove all locking, which is useless since we no longer use threads.  For
10882                 example, nm_get_device_by_iface_locked() has been removed.  The global
10883                 device list lock, the AP List lock, and all static locks in
10884                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10885                 in NetworkManagerUtils.c have also been removed.
10886
10887         - Other cleanups in spacing and code style
10888
10889 2007-01-01  Dan Williams  <dcbw@redhat.com>
10890
10891         Found by Bill Moss:
10892
10893         * src/supplicant-manager/nm-supplicant-interface.c
10894                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10895                         the supplicant interface wasn't already disconnected.  Always
10896                         call removeNetwork and disconnect unless the supplicant interface
10897                         is in the DISCONNECTED or INACTIVE state.
10898
10899 2006-12-28  Dan Williams  <dcbw@redhat.com>
10900
10901         Use a single thread for everything.  With the move to wpa_supplicant
10902         and communication over D-Bus, there's no reason for multiple threads.
10903         Almost all of the blocking code has been removed, with one exception in
10904         the DHCP manager and a few in the VPN manager.  This commit removes the
10905         per-device worker thread and fixes activation cancellation in the absence
10906         of threads.  Further removal of thread-related code would be removing
10907         any locking code (like the device list lock) and simplification of logic
10908         around areas of code or data structures that are currently locked.
10909
10910         * autoip.c
10911           dhcp-manager/nm-dhcp-manager.c 
10912           nm-device-802-11-wireless.c
10913           nm-device-802-3-ethernet.c
10914           nm-device.c
10915           nm-device.h
10916                 - Remove usage of multiple threads
10917
10918 2006-12-19  Dan Williams  <dcbw@redhat.com>
10919
10920         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10921         plus a few other patches from wpa_supplicant bugzilla.
10922
10923         * src/Makefile.am
10924           src/NetworkManagerPolicy.c
10925           src/NetworkManagerUtils.c
10926           src/NetworkManagerUtils.h
10927           src/nm-ap-security-leap.c
10928           src/nm-ap-security-wep.c
10929           src/nm-ap-security-wpa-eap.c
10930           src/nm-ap-security-wpa-psk.c
10931           src/nm-ap-security.c
10932           src/nm-ap-security.h
10933           src/nm-device-802-11-wireless.c
10934           src/nm-device-802-11-wireless.h
10935           src/supplicant-manager/nm-supplicant-config.c
10936           src/supplicant-manager/nm-supplicant-config.h
10937           src/supplicant-manager/nm-supplicant-interface.c
10938           src/supplicant-manager/nm-supplicant-interface.h
10939           src/supplicant-manager/nm-supplicant-marshal.list
10940           src/supplicant-manager/nm-supplicant-settings-verify.c
10941           src/supplicant-manager/nm-supplicant-settings-verify.h
10942                 - Move all connection management and association handling to
10943                         wpa_supplicant over dbus, rather than spawning a private copy
10944
10945 2006-12-19  Dan Williams  <dcbw@redhat.com>
10946
10947         * src/NetworkManagerPolicy.c
10948                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10949                         better locking of the device change check handler ID.  Incorrect
10950                         locking was causing lost device change requests
10951
10952 2006-12-18  Dan Williams  <dcbw@redhat.com>
10953
10954         * libnm-util/dbus-dict-helpers.c
10955                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10956                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10957                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10958
10959 2006-12-18  Dan Williams  <dcbw@redhat.com>
10960
10961         * gnome/libnm_glib/libnm_glib.c
10962                 - Change dbus_connection_close() -> dbus_connection_unref()
10963
10964 2006-12-11  Dan Williams  <dcbw@redhat.com>
10965
10966         * src/supplicant-manager/nm-supplicant-interface.c
10967                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10968                         wpa_supplicant interface state
10969                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10970                         state before transitioning to READY state
10971
10972 2006-12-04  Dan Williams  <dcbw@redhat.com>
10973
10974         * src/nm-device-802-11-wireless.c
10975                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10976                         odd length of ESSID returned from ieee80211 stack-based drivers
10977
10978 2006-12-04  Dan Williams  <dcbw@redhat.com>
10979
10980         * src/nm-device-802-11-wireless.c
10981                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10982                         IE handling blocks that cause mis-parsing of the IE
10983
10984 2006-12-04  Dan Williams  <dcbw@redhat.com>
10985
10986         * src/nm-device-802-11-wireless.c
10987                 - (init_supplicant_interface): new function; pull supplicant interface
10988                         setup code out into standalone function since it must be called from
10989                         two different places
10990                 - (real_init): sup_mgr is now in private object data; get and track
10991                         the supplicant manager object over the NMDevice subclass' lifetime
10992                         and register a signal handler for its state signals; only try to
10993                         initialize the supplicant interface if the supplicant manager is in
10994                         the IDLE state (and therefore is ready for requests)
10995                 - (request_wireless_scan): reschedule the scan request if (a) there is
10996                         no supplicant interface yet (meaning wpa_supplicant isn't running
10997                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10998                         for requests yet
10999                 - (supplicant_iface_connection_state_cb): new function; stub for
11000                         handling supplicant interface connection state signals
11001                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11002                         comes and goes
11003                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11004                         supplicant manager object that's being tracked starting with this
11005                         commit
11006
11007 2006-12-04  Dan Williams  <dcbw@redhat.com>
11008
11009         * src/supplicant-manager/nm-supplicant-interface.c
11010                 - (nm_supplicant_interface_set_property): track signal handler ID
11011                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11012
11013 2006-12-04  Dan Williams  <dcbw@redhat.com>
11014
11015         * src/supplicant-manager/nm-supplicant-interface.[ch]
11016                 - (nm_supplicant_interface_get_state): new function
11017
11018 2006-12-04  Dan Williams  <dcbw@redhat.com>
11019
11020         * src/supplicant-manager/nm-supplicant-interface.c
11021                 - (bssid_properties_cb): don't treat DBus errors as valid
11022                         scanned AP messages
11023
11024 2006-12-04  Dan Williams  <dcbw@redhat.com>
11025
11026         * src/supplicant-manager/nm-supplicant-interface.[ch]
11027                 - (nm_supplicant_interface_get_connection_state): new function
11028                 - define new supplicant connection states
11029                 - send a signal when the supplicant connection state changes
11030
11031 2006-12-03  Dan Williams  <dcbw@redhat.com>
11032
11033         * src/supplicant-manager/Makefile.am
11034           src/supplicant-manager/nm-supplicant-connection.h
11035           src/supplicant-manager/nm-supplicant-connection.c
11036           src/supplicant-manager/nm-supplicant-config.h
11037           src/supplicant-manager/nm-supplicant-config.c
11038           src/supplicant-manager/nm-supplicant-types.h
11039           src/supplicant-manager/nm-supplicant-interface.h
11040           src/supplicant-manager/nm-supplicant-interface.c
11041                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11042
11043 2006-12-03  Dan Williams  <dcbw@redhat.com>
11044
11045         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11046
11047         * po/POTFILES.in
11048           po/POTFILES.skip
11049                 - Move VPN-related translatables to .skip
11050
11051         * vpn-daemons/pptp/po/POTFILES.in
11052                 - Update with new translatables
11053
11054 2006-12-02  Dan Williams  <dcbw@redhat.com>
11055
11056         Patch from Christian Persch <chpe@gnome.org>
11057
11058         * gnome/applet/Makefile.am
11059           gnome/applet/applet-dbus-devices.c
11060           gnome/applet/applet-notifications.c
11061           gnome/applet/applet.c
11062           gnome/applet/applet.h
11063           gnome/applet/main.c
11064                 - Be a GtkStatusIcon on GTK+ >= 2.10
11065
11066 2006-12-02  Dan Williams  <dcbw@redhat.com>
11067
11068         * gnome/applet/applet.c
11069                 - (nma_update_info): fix two unecessary allocations
11070
11071 2006-12-02  Dan Williams  <dcbw@redhat.com>
11072
11073         Patch from Michael Biebl <biebl@teco.edu>
11074         * configure.in
11075           man/NetworkManager.1.in
11076           man/NetworkManagerDispatcher.1.in
11077           man/NetworkManager.8.in
11078           man/NetworkManagerDispatcher.8.in
11079                 - Add .SH NAME stanzas
11080                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11081
11082 2006-12-02  Dan Williams  <dcbw@redhat.com>
11083
11084         Patch from Christian Persch <chpe@gnome.org>
11085
11086         * configure.in
11087                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11088
11089 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11090
11091         Patch by Timo Hoenig <thoenig@suse.de>:
11092         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11093         DBUS-1.0.
11094
11095         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11096         we can't use the one from the main source directory.
11097
11098 2006-11-27  Dan Williams  <dcbw@redhat.com>
11099
11100         Patch from Christian Persch <chpe@gnome.org>
11101
11102         * gnome/applet/applet-dbus-devices.c
11103                 - (hal_info_product_cb): fix memleak; free duped string.
11104                         Gnome.org #379908
11105
11106 2006-11-27  Dan Williams  <dcbw@redhat.com>
11107
11108         Patch from Christian Persch <chpe@gnome.org>
11109
11110         * gnome/applet/menu-items.c
11111                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11112                         as gtk_progress_set_percentage is deprecated.  Should
11113                         work as far back as GTK+ 2.4.  Gnome.org #379780
11114
11115 2006-11-26  Dan Williams  <dcbw@redhat.com>
11116
11117         Scan using wpa_supplicant over DBus.
11118
11119         * src/nm-device-802-11-wireless.c
11120                 - remove wireless extensions netlink event handler bits
11121                         (wireless_event_helper, nm_device_802_11_wireless_event)
11122                 - remove wireless extensions scan event handler bits
11123                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11124                         hex2byte, hex2num, request_and_convert_scan_results,
11125                         free_process_scan_cb_data, scan_results_timeout,
11126                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11127                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11128                         and request scans from the supplicant interface rather than directly
11129                 - Move functionality of convert_scan_results() to cull_scan_list() and
11130                         supplicant_iface_scanned_ap_cb()
11131                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11132                         at the scan interval when the current scan has finished
11133                 - (supplicant_iface_state_cb): start scanning when the supplicant
11134                         interface enters the READY state, and stop scanning when it
11135                         enters the DOWN state
11136                 - (cull_scan_list): weed out old access points from the scan list
11137                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11138                         point into an NMAccessPoint and merge it into the device's scan list
11139
11140         * src/supplicant-manager/nm-supplicant-interface.c
11141           src/supplicant-manager/nm-supplicant-interface.h
11142                 - Add a new signal "scan-result" which is issued when the supplicant
11143                         notifies NM that a scan has completed
11144                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11145                         point found in the scan.  Called once for each access point that
11146                         the supplicant interface object receives from the supplicant as a
11147                         result of the "scanResults" method call
11148                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11149                         for the initial scan results
11150                 - (scan_request_cb): new function; send listeners the result
11151                         (success, error) of a wireless scan request
11152                 - (nm_supplicant_interface_request_scan): new function; ask the
11153                         supplicant to perform an immediate wireless scan
11154
11155 2006-11-25  Dan Williams  <dcbw@redhat.com>
11156
11157         * src/supplicant-manager/Makefile.am
11158                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11159                         add HAL cflags/includes and named-manager includes directory
11160
11161         * src/supplicant-manager/nm-supplicant-interface.h
11162                 - New state STARTING to handle transition from INIT to READY where
11163                         the addInterface pending call is still outstanding
11164
11165         * src/supplicant-manager/nm-supplicant-interface.c
11166                 - track pending calls differently since we may have more than one
11167                         going on at any given time
11168                 - request scan results from wpa_supplicant; but don't do it more often
11169                         than every 4 seconds.  Drivers that do background scanning
11170                         (like the 'ipw' drivers) send a continuous stream of scan completion
11171                         notifications, so we don't want to hammer the supplicant or dbus
11172                         with requests for all scan results every time we get a completion
11173                         notification.
11174
11175 2006-11-25  Dan Williams  <dcbw@redhat.com>
11176
11177         * src/supplicant-manager/nm-supplicant-types.h
11178                 - new file; move all supplicant manager object typedefs here for
11179                         #include sanity
11180
11181         * src/supplicant-manager/nm-supplicant-interface.c
11182           src/supplicant-manager/nm-supplicant-interface.h
11183                 - new file; an object that interfaces an NMDevice object to the
11184                         supplicant and handles signals from the supplicant.  This object
11185                         does all necessary DBus communication with wpa_supplicant.
11186
11187         * src/supplicant-manager/nm-supplicant-manager.c
11188           src/supplicant-manager/nm-supplicant-manager.h
11189                 - Actually do something.  Track the state of the wpa_supplicant service
11190                         and deal with its comings & goings.  Handle life events of
11191                         supplicant interfaces too.
11192                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11193
11194         * src/supplicant-manager/nm-supplicant-connection.h
11195                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11196
11197         * src/supplicant-manager/Makefile.am
11198                 - Add new files to build, and add libnm-util to includes
11199
11200         * src/nm-marshal.list
11201                 - New marshaler type: VOID:UINT,UINT
11202
11203         * src/nm-device-802-3-ethernet.c
11204                 - (real_init): grab a supplicant interface
11205                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11206                 - (supplicant_iface_state_cb): new function, stub for handling
11207                         supplicant interface state changes
11208
11209         * src/nm-device-802-11-wireless.c
11210                 - (real_init): grab a supplicant interface
11211                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11212                 - (supplicant_iface_state_cb): new function, stub for handling
11213                         supplicant interface state changes
11214
11215         * src/NetworkManager.c
11216                 - (main): create and keep the supplicant manager around for the lifetime
11217                         of NetworkManager
11218
11219         * src/Makefile.am
11220                 - Link to the supplicant manager sub-library and use the supplicant
11221                         manager includes
11222
11223 2006-11-25  Dan Williams  <dcbw@redhat.com>
11224
11225         Rework DBus manager signal handling to be more flexible.  Previously,
11226         only one signal handler could be registered for a particular interface.
11227         The DBus manager now reference counts DBus bus matches and allows multiple
11228         clients to register signal handlers for the same interface and sender.
11229
11230         * src/NetworkManager.c
11231                 - (main): track NMI signal handler ID and remove it when we quit
11232
11233         * src/NetworkManagerMain.h
11234                 - Keep track of NMI signal handler ID
11235
11236         * src/nm-dbus-manager.c
11237           src/nm-dbus-manager.h
11238                 - rework signal handling; each signal handler references one signal
11239                         match, but a signal match may be referenced by one or more
11240                         signal handlers.  Matches are refcounted and are destroyed when the
11241                         last signal handler that references the match is removed.  This is
11242                         necessary because two signal handlers may end up requiring the same
11243                         dbus bus match, so the match must live until the last signal handler
11244                         is destroyed (for example, with the wpa_supplicant network interface
11245                         dbus interface).
11246
11247         * src/dhcp-manager/nm-dhcp-manager.c
11248                 - (nm_dhcp_manager_new): track DHCP signal handler id
11249                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11250
11251         * src/vpn-manager/nm-vpn-service.c
11252                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11253                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11254
11255 2006-11-25  Dan Williams  <dcbw@redhat.com>
11256
11257         Suggested by Helmut Schaa <hschaa@suse.de>
11258
11259         * src/vpn-daemons/nm-vpn-service.c
11260                 - (supplicant_child_setup): new function
11261                 - (supplicant_exec): make child process use a new process group id
11262
11263         * src/nm-device-802-11-wireless.c
11264                 - (nm_vpn_service_child_setup): new function
11265                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11266                         process group id
11267
11268 2006-11-19  Dan Williams  <dcbw@redhat.com>
11269
11270         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11271         * gnome/vpn-properties/nm-vpn-properties.c
11272                 - clean up after renamed VPN connection
11273
11274 2006-11-19  Dan Williams  <dcbw@redhat.com>
11275
11276         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11277         * gnome/applet/applet-dbus-vpn.c
11278                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11279
11280         * gnome/vpn-properties/nm-vpn-properties.c
11281                 - (init_app): sort VPN connections
11282
11283 2006-11-09  Dan Williams  <dcbw@redhat.com>
11284
11285         * src/NetworkManagerAPList.c
11286                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11287                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11288                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11289                 broke hidden SSID matching.  Found by Bill Moss.
11290
11291 2006-10-25  Dan Williams  <dcbw@redhat.com>
11292
11293         * src/nm-dbus-nm.c
11294                 - (nm_dbus_nm_set_active_device): return an empty success message on
11295                         success, rather than falling through to the error case.
11296
11297 2006-10-25  Dan Williams  <dcbw@redhat.com>
11298
11299         * src/NetworkManagerUtils.c
11300                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11301                         "SCAN" command
11302
11303 2006-10-24  Dan Williams  <dcbw@redhat.com>
11304
11305         Reduce the number of times the Gnome applet wakes up, especially when
11306         it's doing absolutely nothing and is hidden.  Initial patch by
11307         Chris Aillon.
11308
11309         * gnome/applet/applet-dbus.c
11310                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11311                         kill the redraw timeout.  When NM starts up, start the redraw
11312                         timeout.  Also, if we get kicked off the bus for some reason,
11313                         start the reconnection timeout if one's not already running.
11314                 - (nma_dbus_init): better handling of error conditions, don't leak
11315                         a half-initialized dbus connection
11316                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11317                         the applet's data, just call nm_dbus_init_helper()
11318                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11319                         timeout that calls nma_dbus_connection_watcher()
11320                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11321                         reconnection timeout, and don't start the reconnection timeout
11322                         unconditionally anymore
11323
11324         * gnome/applet/applet-dbus.h
11325                 - Expose nma_start_dbus_connection_watch()
11326
11327         * gnome/applet/applet.c
11328                 - (nma_update_state): no longer static, called from applet-dbus.c for
11329                         immediate UI updates on certain events
11330                 - (nma_set_running): new function; take over setting applet->running,
11331                         when not running (ie, NM is not active), don't activate the redraw
11332                         timeout because we're not showing the applet anyway.  When we are
11333                         running (ie, NM is active), and only when we're running, start the
11334                         redraw timeout.
11335                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11336                         kill any reconnection timeout
11337                 - (nma_get_instance): move one-off dbus initialization code here since
11338                         nm_dbus_init_helper() gets called more than once, possibly by the
11339                         reconnection timeout function too.  And, when we start up, if we
11340                         can't get a connection to the bus, start the reconnection timeout.
11341                         But don't start the redraw timeout yet, only do that when we get
11342                         NM's state and find out if it's running or not.
11343
11344         * gnome/applet/applet.h
11345                 - Add the reconnection GSource ID
11346                 - Add prototypes for nma_set_running() and the no-longer-static
11347                         nma_update_state()
11348
11349 2006-10-24  Dan Williams  <dcbw@redhat.com>
11350
11351         * src/vpn-daemons/nm-dbus-vpnc.c
11352                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11353                         pending call tracker
11354                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11355                         pending call tracker; register one-vpn-connection update pending
11356                         call in pending call tracker
11357                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11358                         update pending call in pending call tracker
11359                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11360                         update pending call in pending call tracker; don't block waiting
11361                         for call to return
11362
11363 2006-10-19  Robert Love  <rml@novell.com>
11364
11365         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11366           refresh the cache.
11367
11368 2006-10-14  Dan Williams  <dcbw@redhat.com>
11369
11370         * src/dhcp-manager/nm-dhcp-manager.c
11371                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11372                 the dbus connection and the device object path rather than
11373                 constructing it inside both functions.  Saves a bit of memory
11374                 and clarifies a failure path.
11375                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11376                 and allocate device path here rather than each of the two
11377                 functions above.
11378
11379 2006-10-13  Dan Williams  <dcbw@redhat.com>
11380
11381         * src/NetworkManager.c
11382                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11383                 this somehow droppout in the refactor
11384
11385 2006-10-13  Dan Williams  <dcbw@redhat.com>
11386
11387         * Huge DBus refactor:
11388                 - Create a "DBus Manager" object which manages the connection and
11389                 sends signals on NameOwnerChanged and connection/disconnection events,
11390                 handles reconnection to the bus if NM gets kicked off, and abstracts
11391                 signal handling
11392                 - Remove DBusConnection members from places where they are no
11393                 longer needed due to the refactor, like the dbus-connection
11394                 property of the named manager, and from NMData
11395                 - Reformats a bunch of the code to gnome style
11396                 (8-space tabs, braces on same line as statement, 80-col width).
11397                 Consider it open season to reformat any bits to gnome style.
11398                 style that aren't already.
11399
11400 2006-10-13  Dan Williams  <dcbw@redhat.com>
11401
11402         * src/supplicant-manager/Makefile.am
11403                 - Add new files
11404
11405         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11406                 - Make it a minimal GObject
11407
11408         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11409                 - Verify settings destined for wpa_supplicant
11410
11411         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11412                 - Minimal GObject to track wpa_supplicant controlled device
11413                 connections
11414
11415 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11416
11417         * gnome/applet/applet.c: (nma_update_info),
11418         (nma_act_stage_to_pixbuf), (nma_update_state):
11419         Mark missing strings for translation. Fixes bug #343306.
11420
11421 2006-10-01  Dan Williams  <dcbw@redhat.com>
11422
11423         * src/vpn-manager/nm-vpn-manager.c
11424                 - (nm_vpn_manager_load_services): split and clean up
11425                 for readability and correctness.  Restrict VPN service
11426                 files to ending in ".name", as was meant from the
11427                 beginning (but not coded in).  Better error reporting.
11428
11429 2006-10-01  Dan Williams  <dcbw@redhat.com>
11430
11431         * utils/nm-utils.h
11432                 - Clean up formatting of debug/info/warning log messages
11433
11434 2006-09-27  Robert Love  <rml@novell.com>
11435
11436         Patch by Tambet Ingo <tambet@ximian.com>:
11437         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11438           actually work.
11439
11440 2006-09-07  Dan Williams <dcbw@redhat.com>
11441
11442         * test/Makefile.am
11443           test/libnm-util/Makefile.am
11444           test/nm-supplicant-test.c
11445                 - Add test program emulating the way NM drives wpa_supplicant
11446                 to help debug supplicant issues
11447
11448 2006-08-24  Dan Williams <dcbw@redhat.com>
11449
11450         * configure.in
11451           src/Makefile.am
11452           src/supplicant-manager/Makefile.am
11453           src/supplicant-manager/nm-supplicant-manager.c
11454           src/supplicant-manager/nm-supplicant-manager.h
11455                 - Add skeleton bits of the wpa_supplicant manager
11456
11457 2006-08-24  Dan Williams <dcbw@redhat.com>
11458
11459         Patch from Ed Catmur:
11460         * src/NetworkManagerUtils.c
11461                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11462                 if netmask is 0 (Gnome #352634)
11463
11464 2006-08-17  Robert Love  <rml@novell.com>
11465
11466         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11467           package is now DBUS-enabled and listens for the NM signals.
11468
11469 2006-08-14  Dan Williams  <dcbw@redhat.com>
11470
11471         * Patch from Christian Persch <chpe gnome org>
11472         * configure.in
11473           po/LINGUAS
11474           vpn-daemons/openvpn/po/LINGUAS
11475           vpn-daemons/openvpn/configure.in
11476           vpn-daemons/pptp/po/LINGUAS
11477           vpn-daemons/pptp/configure.in
11478           vpn-daemons/vpnc/po/LINGUAS
11479           vpn-daemons/vpnc/configure.in
11480                 - Convert to LINGUAS method so translators don't have to modify
11481                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11482                 0.35 or higher
11483
11484 2006-08-14  Dan Williams  <dcbw@redhat.com>
11485
11486         Patch from Alex Smith <alex.extreme2@gmail.com>
11487         * configure.in
11488           src/backends/Makefile.am
11489           src/backends/NetworkManagerFrugalware.c
11490                 - Add support for Frugalware
11491
11492 2006-08-13  Dan Williams  <dcbw@redhat.com>
11493
11494         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11495         * src/nm-device-802-11-wireless.c
11496                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11497                 Gnome #346875
11498
11499 2006-08-13  Dan Williams  <dcbw@redhat.com>
11500
11501         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11502         * src/nm-ap-security.c
11503           src/nm-ap-security.h
11504                 - Add authentication_required bits for subclasses to specify whether
11505                 or not real authentication is required for connections, i.e. whether
11506                 the AP rejects us when an encryption key is wrong or not.
11507
11508         * src/nm-ap-security-wep.c
11509           src/nm-ap-security-wpa-eap.c
11510           src/nm-ap-security-wpa-psk.c
11511           src/nm-ap-security-leap.c
11512                 - Implement authentication_required appropriately for each method
11513
11514         * src/nm-device-802-11-wireless.c
11515                 - Be smarter about when to request a key; for example, using a wrong key
11516                 in WEP shared key mode previously just timed out and did not request
11517                 a new key
11518
11519 2006-08-13  Dan Williams  <dcbw@redhat.com>
11520
11521         * gnome/libnm_glib/libnm_glib.c
11522                 - dbus_connection_disconnect() -> dbus_connection_close() for
11523                 dbus >= 0.90
11524
11525 2006-08-07  Dan Williams  <dcbw@redhat.com>
11526
11527         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11528         * src/NetworkManagerSystem.c
11529                 - Respect specified MTU.  Gnome #344967
11530
11531 2006-08-07  Dan Williams  <dcbw@redhat.com>
11532
11533         * src/vpn-manager/nm-vpn-service.c
11534                 - Simplify print_vpn_config() arguments
11535
11536         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11537         * src/vpn-manager/Makefile.am
11538           src/vpn-manager/nm-vpn-service.c
11539                 - Add new API for passing VPN config options as a dict. Gnome #344967
11540
11541 2006-08-06  Dan Williams  <dcbw@redhat.com>
11542
11543         * gnome/applet/applet-dbus-devices.c
11544           gnome/applet/applet-dbus-vpn.c
11545           gnome/applet/applet-dbus.c
11546           gnome/applet/applet-dbus.h
11547           src/nm-dbus-nmi.c
11548           utils/nm-utils.c
11549           utils/nm-utils.h
11550                 - Make pending call tracking code generic,
11551                 so we can use it in NM as well as the applet
11552
11553 2006-08-06  Dan Williams  <dcbw@redhat.com>
11554
11555         * src/nm-activation-request.c
11556                 - Refcount pending call objects
11557
11558 2006-08-06  Dan Williams  <dcbw@redhat.com>
11559
11560         Patch from Christan Chiesa <christanc@gmail.com>
11561         * configure.in
11562                 - Tell sha1.c to use bigendian mode on PPC
11563
11564 2006-08-04  Robert Love  <rml@novell.com>
11565
11566         Glib Memory Slices!
11567         * configure.in: Require glib 2.10 or later.
11568         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11569           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11570           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11571           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11572           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11573           Memory Slices are the greatest thing since bread slices.
11574         * src/NetworkManagerAP.c: Also, fix memory leak.
11575
11576 2006-08-01  Robert Love  <rml@novell.com>
11577
11578         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11579
11580 2006-07-31  Robert Love  <rml@novell.com>
11581
11582         * src/backends/interface_parser.c: Declarations must begin the block.
11583
11584 2006-07-24  Dan Williams  <dcbw@redhat.com>
11585
11586         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11587         * src/backends/Makefile.am
11588           src/backends/NetworkManagerArch.c
11589           src/backends/NetworkManagerDebian.c
11590           src/backends/NetworkManagerGeneric.c
11591           src/backends/NetworkManagerGeneric.h
11592           src/backends/NetworkManagerGentoo.c
11593           src/backends/NetworkManagerPaldo.c
11594           src/backends/NetworkManagerRedHat.c
11595           src/backends/NetworkManagerSlackware.c
11596           src/backends/NetworkManagerSuSE.c
11597                 - Genericize common backend functions
11598
11599 2006-07-18  Robert Love  <rml@novell.com>
11600
11601         * configure.in: Add "--with-notify" option to allow disabling of
11602           libnotify support.
11603
11604 2006-07-13  Dan Williams  <dcbw@redhat.com>
11605
11606         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11607         * gnome/applet/applet.glade
11608           gnome/applet/Makefile.am
11609           gnome/applet/nm-gconf-wso.c
11610           gnome/applet/nm-gconf-wso-leap.c
11611           gnome/applet/nm-gconf-wso-leap.h
11612           gnome/applet/wireless-security-manager.c
11613           gnome/applet/wso-leap.c
11614           gnome/applet/wso-leap.h
11615           include/NetworkManager.h
11616           libnm-util/dbus-helpers.c
11617           libnm-util/dbus-helpers.h
11618           src/Makefile.am
11619           src/NetworkManagerAP.c
11620           src/nm-ap-security.c
11621           src/nm-ap-security-leap.c
11622           src/nm-ap-security-leap.h
11623                 - Add LEAP authentication support
11624
11625 2006-07-13  Dan Williams  <dcbw@redhat.com>
11626
11627         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11628         * configure.in
11629           src/backends/NetworkManagerArch.c
11630           src/backends/NetworkManagerDebian.c
11631           src/backends/NetworkManagerGentoo.c
11632           src/backends/NetworkManagerPaldo.c
11633           src/backends/NetworkManagerRedHat.c
11634           src/backends/NetworkManagerSlackware.c
11635           src/backends/NetworkManagerSuSE.c
11636                 - Convert hardcoding of 'ip' path to configure-time
11637                         detected one
11638
11639 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11640
11641         * configure.in: added ru to ALL_LINGUAS
11642
11643 2006-07-10  Dan Williams  <dcbw@redhat.com>
11644
11645         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11646         * src/nm-device.c
11647                 - (real_act_stage3_ip_config_start): don't infinite loop when
11648                         dhcdbd isn't running (Gnome #346845)
11649
11650 2006-07-09  Dan Williams  <dcbw@redhat.com>
11651
11652         * gnome/applet/applet.c
11653                 - (nma_destroy): don't pass NULL to notify_notification_close
11654                         (RH #197917)
11655
11656 2006-07-09  Dan Williams  <dcbw@redhat.com>
11657
11658         * gnome/applet/applet.c
11659                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11660
11661 2006-07-04  Tor Krill  <tor@krill.nu>
11662
11663         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11664         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11665         (nm_system_restart_mdns_responder), (ArchReadConfig),
11666         (nm_system_device_get_system_config):
11667                 - Explicitly check for DHCP configuration
11668                 - Check if daemons are running before starting them
11669
11670 2006-06-25  Dan Williams  <dcbw@redhat.com>
11671
11672         * libnm-util/dbus-dict-helpers.[ch]
11673           test/libnm-util/test-dbus-dict-helpers.c
11674                 - Add string array support
11675
11676 2006-06-24  Dan Williams  <dcbw@redhat.com>
11677
11678         * src/dhcp-manager/nm-dhcp-manager.c
11679                 - (nm_dhcp_manager_process_signal): clean up spacing
11680
11681 2006-06-21  Dan Williams  <dcbw@redhat.com>
11682
11683         * src/nm-dbus-device.c
11684                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11685                         through dbus
11686
11687 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11688
11689         * configure.in: Added 'lv' to ALL_LINGUAS
11690
11691 2006-06-19  Dan Williams  <dcbw@redhat.com>
11692
11693         * src/NetworkManagerAP.c
11694                 - Clarify usage of user_created
11695
11696         * src/nm-ap-security-wep.c
11697           src/nm-ap-security-wpa-eap.c
11698           src/nm-ap-security-wpa-psk.c
11699           src/nm-ap-security.c
11700           src/nm-ap-security.h
11701                 - s/user_created/adhoc, because we really do mean adhoc
11702
11703         Patch from Bernard Blackham <bernard@blackham.com.au>
11704         * src/nm-device-802-11-wireless.c         
11705                 - (supplicant_send_network_config): instead of user_created,
11706                         use adhoc, and do AP_SCAN 2 for adhoc networks
11707
11708 2006-06-18  Robert Love  <rml@novell.com>
11709
11710         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11711           we have a value to set.  Gconf generates a warning if `val' is NULL.
11712         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11713           unless we actually received a valid private key file passphrase or
11714           password.  Otherwise, we don't know to later ask the applet to pull
11715           the key from the keyring.
11716
11717 2006-06-17  Dan Williams  <dcbw@redhat.com>
11718
11719         * libnm-util/dbus-dict-helpers.[ch]
11720           test/libnm-util/test-dbus-dict-helpers.c
11721                 - Fixes for zero-length byte arrays
11722                 - Replace return values of 0 with FALSE for clarity
11723                 - Test zero-length byte arrays
11724
11725 2006-06-17  Dan Williams  <dcbw@redhat.com>
11726
11727         * libnm-util/dbus-dict-helpers.[ch]
11728           test/libnm-util/test-dbus-dict-helpers.c
11729                 - Add helpers for byte arrays
11730                 - Rework bits of the testcase
11731
11732 2006-06-16  Dan Williams  <dcbw@redhat.com>
11733
11734         * libnm-util/Makefile.am
11735         * libnm-util/dbus-dict-helpers.[ch]
11736                 - Add some helpers to take the pain out of using dict types in
11737                         dbus.
11738
11739         * test/libnm-util/Makefile.am
11740         * test/libnm-util/test-dbus-dict-helpers.c
11741                 - Test cases for the dict helper functions
11742
11743 2006-06-15  Robert Love  <rml@novell.com>
11744
11745         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11746           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11747           if there is no key to pass.
11748         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11749           receiving a non-NULL key.
11750
11751 2006-06-14  Robert Love  <rml@novell.com>
11752
11753         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11754           copy the strings.
11755
11756
11757 2006-06-14  Dan Williams  <dcbw@redhat.com>
11758
11759         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11760         * src/nm-device-802-11-wireless.c
11761                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11762                         or ones where the driver is unknown
11763                 - (supplicant_exec): don't wait for supplicant startup here
11764                 - (supplicant_interface_init): finer grained polling for supplicant
11765                         startup
11766
11767 2006-06-13  Robert Love  <rml@novell.com>
11768
11769         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11770           if it is currently set to TRUE.  Otherwise, we will reset the value
11771           when we connect normally.
11772         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11773           the old BSSID is valid, too.  The recently added ESSID check may not be
11774           sufficient (we can remove it?).  What we really want to catch is the
11775           case of going from all-zeros to the BSSID of some other network, which
11776           happens on failure.
11777
11778 2006-06-09  Dan Williams  <dcbw@redhat.com>
11779
11780         * src/NetworkManagerSystem.[ch]
11781                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11782                         it was unused and pointless
11783                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11784                         fix for set_up_down_with_iface change
11785
11786         * src/vpn-manager/nm-vpn-connection.c
11787                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11788
11789         * src/backends/NetworkManagerPaldo.c
11790           src/backends/NetworkManagerRedHat.c
11791           src/backends/NetworkManagerSuSE.c
11792           src/backends/NetworkManagerArch.c
11793           src/backends/NetworkManagerDebian.c
11794           src/backends/NetworkManagerGentoo.c
11795                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11796                         appropriate
11797                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11798                         where appropriate
11799
11800 2006-06-09  Dan Williams  <dcbw@redhat.com>
11801
11802         Patch from Peter Jones:
11803         * src/nm-device-802-11-wireless.c
11804                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11805                         SSID hasn't changed from what we expect before automatically
11806                         updating the saved BSSID from a new AP
11807
11808 2006-06-08  Robert Love  <rml@novell.com>
11809
11810         Add 'fallback' support.  NetworkManager will attempt to brute-force
11811         connect to networks marked as fallback if there are no better wireless
11812         connections available.  This is useful as a method of last resort, to
11813         work around driver problems, and for use with hidden networks.
11814         * gnome/applet/applet-dbus-devices.c,
11815           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11816         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11817           pass it on via DBUS.
11818         * gnome/applet/applet.c: No fallback by default.
11819         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11820           Update other-network-dialog to add UI checkbox toggling fallback.
11821         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11822           propery from AP object.  Add "fallback" property to AP object.
11823         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11824         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11825         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11826           separate function.  Add get_best_fallback_ap() for returning an AP
11827           on which to attempt fallback.
11828         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11829         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11830
11831 2006-06-07  Robert Love  <rml@novell.com>
11832
11833         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11834           checked that the return type was GCONF_VALUE_STRING, not the correct
11835           GCONF_VALUE_BOOL, and thus it never worked.
11836         * src/NetworkManagerAPList.c: Before concluding that two networks are
11837           identical based on their BSSID, make sure that the BSSID in question
11838           is actually valid.  Specifically, an empty or all zero BSSID does not
11839           cut it.
11840         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11841           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11842           similar invariant clean up.
11843
11844 2006-06-02  Robert Love  <rml@novell.com>
11845
11846         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11847
11848 2006-05-28  Dan Williams  <dcbw@redhat.com>
11849
11850         * gnome/applet/applet.glade
11851           gnome/vpn-properties/nm-vpn-properties.glade
11852                 - Set window icons on dialogs  (Gnome.org #333420)
11853
11854 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11855
11856         * gnome/vpn-properties/nm-vpn-properties.glade:
11857         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11858         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11859         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11860                 - Make the VPN properties pages prettier and more HIG
11861                   compliant. Gnome Bug #336913.
11862
11863 2006-05-28  Dan Williams  <dcbw@redhat.com>
11864
11865         Patch from Christian Persch <chpe@gnome.org>
11866         * gnome/vpn-properties/nm-vpn-properties.c
11867         * gnome/vpn-properties/nm-vpn-properties.glade
11868                 - HIG-ification love  (Gnome.org #336846)
11869
11870 2006-05-28  Dan Williams  <dcbw@redhat.com>
11871
11872         Patch from Christian Persch <chpe@gnome.org>
11873         * configure.in
11874           gnome/vpn-properties/nm-vpn-properties.c
11875                 - (main): Fix option parsing.  Gnome.org #336847
11876
11877 2006-05-28  Dan Williams  <dcbw@redhat.com>
11878
11879         * gnome/vpn-properties/nm-vpn-properties.c
11880                 - (find_vpn_ui_by_service_name): protect against NULL service names
11881                 - (update_edit_del_sensitivity): protect against NULL service names
11882                         Gnome.org #341306
11883
11884 2006-05-28  Dan Williams  <dcbw@redhat.com>
11885
11886         Patch from Chris Fuller <crf@grandecom.net>:
11887         * src/nm-device-802-11-wireless.c
11888                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11889                         don't dispose of wireless-specific stuff unless it is actually
11890                         initialized.  Gnome.org #341263
11891
11892 2006-05-28  Dan Williams  <dcbw@redhat.com>
11893
11894         * src/NetworkManagerPolicy.c
11895                 - (nm_policy_device_change_check): don't switch devices if the "best"
11896                         AP is essentially the same as the current activation request, but
11897                         the current activation request isn't done activating yet.  Fixes
11898                         multiple requests for keyring password on startup for Gnome applet.
11899                         Gnome.org #341297
11900
11901 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11902
11903         * src/NetworkManager.c: use GOptions instead of getopt
11904         * configure.in: bump glib required version to >= 2.6 for GOption
11905           support
11906
11907 2006-05-25  Robert Love  <rml@novell.com>
11908
11909         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11910           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11911           instead of dumping ifdef's throughout the code.
11912         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11913           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11914           use nm_ioctl_info() in lieu.
11915
11916 2006-05-25  Robert Love  <rml@novell.com>
11917
11918         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11919         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11920           not using gcrypt.  Otherwise, we get a linker error.
11921
11922 2006-05-25  Robert Love  <rml@novell.com>
11923
11924         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11925         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11926           configure flag to disable building of the GNOME-based applet.
11927
11928 2006-05-25  Robert Love  <rml@novell.com>
11929
11930         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11931           parameter from link, because it shadows a global variable with some
11932           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11933           should never have exported to the entire system a common four letter
11934           word.  But we here at NetworkManager are team players.  Fixes
11935           GNOME bug #336532.
11936
11937 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11938
11939         * configure.in: Added mk.po, Macedonian translation.
11940
11941 2006-05-24  Robert Love  <rml@novell.com>
11942
11943         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11944           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11945           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11946
11947 2006-05-24  Robert Love  <rml@novell.com>
11948
11949         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11950           libnm-util/Makefile.am, src/Makefile.am,
11951           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11952           vpn-daemons/openvpn/properties/Makefile.am,
11953           vpn-daemons/pptp/auth-dialog/Makefile.am,
11954           vpn-daemons/pptp/properties/Makefile.am,
11955           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11956           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11957           user passed for --datadir, if anything, when setting the GNOME locale
11958           directory.  It should be a function of the specified datadir and not
11959           the prefix.
11960
11961 2006-05-24  Robert Love  <rml@novell.com>
11962
11963         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11964           src/NetworkManager.c: Take care to call bindtextdomain with the
11965           location of msgid files.
11966         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11967           files.
11968
11969 2006-05-22  Robert Love  <rml@novell.com>
11970
11971         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11972           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11973           99% of the time there is a real problem with wireless, and a
11974           seemingly successful connection via Zeroconf just confuses the user.
11975           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11976
11977 2006-05-22  Robert Love  <rml@novell.com>
11978
11979         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11980           autofs on interface up if NIS is configured.  On interface down, do
11981           nothing.
11982
11983 2006-05-22  Robert Love  <rml@novell.com>
11984
11985         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11986           to avoid calling g_object_unref() on stale pointers on error in
11987           nma_icons_free().  This happens because we short-circuit loaded the
11988           icons on the first failure but then free all icons.  Normally we have
11989           no issue because the icons were zero'ed out malloc, but we have stale
11990           pointer data after nma_icon_theme_changed().
11991         * gnome/applet/main.c: Return error code if nma_new() failed.
11992
11993 2060-05-21  Dan Williams  <dcbw@redhat.com>
11994
11995         * initscript/NetworkManager.in
11996                 - Ensure both dhcdbd and named are started before NM
11997
11998 2006-05-21  Dan Williams  <dcbw@redhat.com>
11999
12000         * configure.in
12001                 - Bump version to 0.7 to signify we are in 0.7 development
12002
12003 2006-05-21  Dan Williams  <dcbw@redhat.com>
12004
12005         Patch from Adam Schreiber <sadam@clemson.edu>
12006         * gnome/vpn-properties/nm-vpn-properties.c
12007                 - (main): correct Gnome program name  (gnome.org #342498)
12008
12009 2006-05-21  Dan Williams  <dcbw@redhat.com>
12010
12011         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12012
12013         * src/NetworkManagerDbus.[ch]
12014                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12015                         clarify that function's argument should be an escaped dbus object
12016                         path, and look for path segment end before returning a match
12017         * src/nm-dbus-nm.c:
12018                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12019
12020 2006-05-17  Robert Love  <rml@novell.com>
12021
12022         Functionality to differentiate Ad-Hoc networks from infrastructure
12023         networks in the applet, by displaying a special icon:
12024         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12025         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12026         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12027           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12028           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12029           networks, encrypted or not.
12030         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12031           accessor functions to get and set the mode of a given network,
12032           wireless_network_get_mode() and wireless_network_set_mode().
12033
12034 2006-05-17  Robert Love  <rml@novell.com>
12035
12036         Functionality to automatically add BSSIDs to the allowed-MAC list as
12037         one roams from access point to access point on a given network:
12038         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12039           helper function to compare two ether_addr structures and return TRUE
12040           if they contain the same MAC address.
12041         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12042           prototype.
12043         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12044           stored with the current AP.  If the BSSID has indeed changed, we
12045           send it out to the applet, allowing the allowed-MAC list to grow
12046           automatically in response to roaming.
12047
12048 2006-05-16  Robert Love  <rml@novell.com>
12049
12050         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12051           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12052
12053 2006-05-13  Dan Williams  <dcbw@redhat.com>
12054
12055         * src/nm-device-802-3-ethernet.c
12056                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12057                         carrier detect (Debian bug #366373)
12058
12059 2006-05-11  Dan Williams  <dcbw@redhat.com>
12060
12061         Patch from Michael Biebl <biebl@teco.edu>
12062         * src/backends/NetworkManagerDebian.c
12063                 - Debian backend fixups
12064
12065 2006-05-10  Robert Love  <rml@novell.com>
12066
12067         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12068
12069 2006-05-09  Robert Love  <rml@novell.com>
12070
12071         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12072           private certificate passphrase, if any, in the GNOME Keyring.
12073         * libnm-utils/dbus-helpers.c: Update.
12074
12075 2006-05-05  Dan Williams  <dcbw@redhat.com>
12076
12077         * src/nm-device-802-11-wireless.c
12078                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12079                         nm_device_802_11_wireless_disable_encryption() since that's all
12080                         we use it for anymore; we don't ever set WEP keys ourselves.
12081                 - (real_deactivate_quickly): reset SSID and encryption keys
12082                 - (real_deactivate): move SSID and encryption key reset to
12083                         real_deactivate_quickly(), which gets run before us anyway
12084
12085 2006-05-05  Robert Love  <rml@novell.com>
12086
12087         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12088           root has a wacky default of its own (or, more common, a user has a
12089           bad umask and uses su/sudo to restart NetworkManager).  Anything
12090           other than 0022 does not do what we want with, for example,
12091           resolv.conf.  This problem is amplified by our judicious use of
12092           fopen(), which uses mode 0666 -- implying that the only way to get
12093           the permissions we want is with a umask of 0022.
12094
12095 2006-05-05  Dan Williams  <dcbw@redhat.com>
12096
12097         * gnome/libnm_glib/libnm_glib.c
12098                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12099                         to reconnect; instead wait a bit more with each reconnect attempt
12100                         up to a max of one minute.
12101
12102 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12103
12104         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12105           the WirelessNetwork structure using the proper function instead of
12106           just casting it directly to (const char *) (gnome.org #336991)
12107
12108 2006-05-03  Robert Love  <rml@novell.com>
12109
12110         * src/backends/NetworkManagerSuSE.c: Respect the variable
12111           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12112           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12113           to dynamically update /etc/resolv.conf.
12114
12115 2006-05-02  Peter Jones  <pjones@redhat.com>
12116
12117         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12118
12119 2006-05-02  Robert Love  <rml@novell.com>
12120
12121         Patch by Timo Hoenig;
12122         * tests/nm-online.c: Print pretty status indicator as timeout winds
12123           down.  Also fix possible race between DBUS startup and failure
12124           return.
12125
12126 2006-05-01  Robert Love  <rml@novell.com>
12127
12128         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12129           empty, too.
12130
12131 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12132
12133         * src/nm-device.c (discover_device_type): Actually use the hal
12134         device type instead of ioctl poking
12135
12136 2006-04-26  Robert Love  <rml@novell.com>
12137
12138         * tests/nm-online.c: New file.  Simple utility that returns exit status
12139           noting whether the connection is offline or online.  If offline on
12140           start, it waits 30 seconds (or a command-line given value) for an
12141           online signal.  If it times out, it again returns offline.  This is
12142           useful for scripts that want to wait for network connections.
12143
12144 2006-04-25  Robert Love  <rml@novell.com>
12145
12146         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12147           key mode (the authentication algorithm), e.g. open or shared, when we
12148           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12149           only shared was broken.  If the user specified a shared key, set it
12150           explicitly, otherwise let wpa_supplicant go with the default.
12151
12152 2006-04-24  Dan Williams  <dcbw@redhat.com>
12153
12154         * src/nm-device-802-11-wireless.c
12155                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12156
12157 2006-04-24  Dan Williams  <dcbw@redhat.com>
12158
12159         Commit the async scanning patch
12160
12161         * src/nm-device-802-11-wireless.c
12162                 - get rid of scan_mutex
12163                 - (wireless_event_helper): act on wireless scan events
12164                 - (real_start): schedule a pending scan
12165                 - (link_to_specific_ap): fake the link to the AP during a scan
12166                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12167                         strength during scans
12168                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12169                         nm_device_set_bitrate): unused with new scanning code, disable
12170                 - (nm_device_wireless_schedule_scan): removed
12171                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12172                 - (request_and_convert_scan_results): new function; retrieve scan
12173                         results from the driver and schedule the processing function
12174                 - (scan_results_timeout): timeout triggered when card doesn't send
12175                         a scan results wireless event during a certain interval
12176                 - (schedule_scan_results_timeout): new function; schedule the scan
12177                         results timeout
12178                 - (cancel_scan_results_timeout): new function; cancel the scan
12179                         results timeout
12180                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12181                         to do the scanning.  Otherwise, just request a scan but don't
12182                         grab results here; instead schedule a timeout for scan results and
12183                         let netlink notify us of scan completion events
12184                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12185                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12186                 - (supplicant_status_cb): ignore disconnect events while scanning
12187                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12188                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12189                         timeouts
12190                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12191
12192 2006-04-24  Dan Williams  <dcbw@redhat.com>
12193
12194         * gnome/applet/applet-dbus.c
12195                 - Disable the pending call debug stuff, seems under control now
12196
12197 2006-04-20  Robert Love  <rml@novell.com>
12198
12199         Fix bug where hidden ESSID's would not show up in the applet, even
12200         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12201         because nm_policy_device_list_update_from_allowed_list() would merge
12202         the data, putting a name to the hidden networks, but never notify NMI
12203         of the changes.  Simple fix is to invoke the function
12204         nm_dbus_signal_wireless_network_change() if we make a mapping.
12205         * src/NetworkManagerAPList.c: Call the function
12206           nm_dbus_signal_wireless_network_change() if we made a successful
12207           BSSID to ESSID mapping, notifying the applet of the "new" network.
12208         * src/NetworkManagerAPList.h: Update the prototypes for both
12209           nm_ap_list_copy_essids_by_address() and
12210           nm_ap_list_copy_one_essid_by_address().
12211
12212 2006-04-20  Robert Love  <rml@novell.com>
12213
12214         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12215           not set.  Just return zero.
12216
12217 2006-04-20  Robert Love  <rml@novell.com>
12218
12219         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12220           only one copy of nm-vpn-properties is running at a time via the 'ol
12221           X selection trick.  This prevents the user from opening two "VPN
12222           Connections" windows from within the applet, which leads to mass
12223           hysteria.
12224         * clipboard.c: New file, implementing simple X selection logic.
12225         * clipboard.h: New file.
12226         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12227
12228 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12229
12230         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12231         * configure.in
12232           initscript/Gentoo/Makefile.am
12233           initscript/Gentoo/NetworkManagerDispatcher.in
12234                 - New script
12235         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12236           Gentopia
12237
12238 2006-04-16  Dan Williams  <dcbw@redhat.com>
12239
12240         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12241         * configure.in
12242           initscript/Slackware/Makefile.am
12243           initscript/Slackware/rc.networkmanager-dispatcher.in
12244           initscript/Slackware/rc.networkmanager.in
12245                 - Update slackware initscripts
12246
12247 2006-04-10  Robert Love  <rml@novell.com>
12248
12249         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12250           the "delete_event" signal on the druid's parent window and handle it
12251           our way, lest using the WM to close the druid results in a series of
12252           bloody and ultimately lethal errors.
12253
12254 2006-04-10  Robert Love  <rml@novell.com>
12255
12256         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12257           'Back' too or else the 'Forward' option is initially disabled despite
12258           valid input.
12259
12260 2006-04-06  Robert Love  <rml@novell.com>
12261
12262         Fix bad but simple bug where an active modem connection did not update
12263         NM's connection state, breaking any app that did online/offline:
12264         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12265           represented whether a dial up connection is active, or not.
12266         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12267           to modem activation and deactivation.
12268         * src/NetworkManagerDbus.c: When asked our state, do not return
12269           disconnected if the modem is active.
12270
12271 2006-04-04  Robert Love  <rml@novell.com>
12272
12273         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12274           applet.  It just confuses the crap out of people and does not make a
12275           lot of sense, as the daemon still runs.
12276
12277 2006-04-02  Tor Krill  <tor@krill.nu>
12278
12279         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12280           in start of service.
12281         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12282           get Archlinux backend up to date.
12283
12284 2006-03-29  Robert Love  <rml@novell.com>
12285
12286         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12287         to add support for per-route MSS and improve support for per-interface
12288         MTU:
12289         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12290           optionally take an MSS parameter and set it for the given route.
12291           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12292           NMIP4Config's stored MSS, if any.
12293         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12294           the interface's MTU and the route's MSS, respectively.  Add functions
12295           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12296           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12297           MSS.
12298         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12299           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12300           nm_ip4_config_set_mss.
12301         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12302           VPN daemon.
12303         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12304           Change the retval of nm_system_get_mtu to guint32.
12305         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12306           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12307           servers can specify MTU's, we should set it here if the MTU was not
12308           provided.
12309
12310 2006-03-27  Jürg Billeter  <j@bitron.ch>
12311
12312         * configure.in:
12313         * initscript/Makefile.am:
12314         * initscript/paldo/Makefile.am:
12315         * initscript/paldo/NetworkManager.in:
12316         * initscript/paldo/NetworkManagerDispatcher.in:
12317         * src/backends/Makefile.am:
12318         * src/backends/NetworkManagerPaldo.c:
12319                 - Add paldo support
12320
12321 2006-03-27  Dan Williams  <dcbw@redhat.com>
12322
12323         Patch from Christian Persch <chpe@gnome.org>
12324         * gnome/applet/applet.glade
12325                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12326
12327 2006-03-27  Dan Williams  <dcbw@redhat.com>
12328
12329         Patch from Diffe <diffie@blazebox.homeip.net>
12330         * src/backends/NetworkManagerSlackware.c
12331                 - Don't restart howl, since it's been replaced by Avahi
12332                         in most distributions
12333
12334 2006-03-27  Dan Williams  <dcbw@redhat.com>
12335
12336         Patch from Tor Krill <bugzilla@krill.nu>
12337         * configure.in
12338           initscript/Makefile.am
12339           src/backends/Makefile.am
12340           src/backends/NetworkManagerArch.c
12341           initscript/Arch/Makefile.am
12342           initscript/Arch/networkmanager-dispatcher.in
12343           initscript/Arch/networkmanager.in
12344                 - Add Arch Linux support, fixes gnome.org #335147
12345
12346 2006-03-27  Dan Williams  <dcbw@redhat.com>
12347
12348         Patch from Diffe <diffie@blazebox.homeip.net>
12349      * initscript/Slackware/rc.networkmanager
12350         - update, fixed gnome.org #333368
12351
12352 2006-03-27  Robert Love  <rml@novell.com>
12353
12354         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12355           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12356
12357 2006-03-27  Robert Love  <rml@novell.com>
12358
12359         Patch by Jürg Billeter <j@bitron.ch>:
12360         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12361           systems.
12362         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12363           as we prefer glibc over kernel headers, if possible.
12364
12365 2006-03-27  Robert Love  <rml@novell.com>
12366
12367         Patch by Jon Escombe <list@dresco.co.uk>:
12368         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12369         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12370           fail, don't bail out.  We don't expect all of the various WPA-EAP
12371           values to be present.
12372         * src/nm-ap-security.c: We need to match all capabilities for each
12373           encryption type, not any one of them.
12374
12375 2006-03-27  Robert Love  <rml@novell.com>
12376
12377         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12378           restart, not reload, ypbind.  Unfortunately there is no superior
12379           solution.
12380
12381 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12382
12383         * gnome/applet/applet-notifications.c:
12384         When displaying a notification, make sure to get rid of the
12385         previous notification so as to not have competing bubbles,
12386         and stop leaking the old one.
12387
12388         * gnome/applet/applet.c:
12389         * gnome/applet/applet.h:
12390         Add a new 'notification' member to the applet, and zero it out
12391         and free it appropriately.
12392
12393 2006-03-23  Robert Love  <rml@novell.com>
12394
12395         Patch by j <j@bootlab.org>:
12396         * gnome/applet/applet.glade: Don't set the invisible_char property,
12397           which simply overrides the GTK default.  By and by, this behavior
12398           ought to be fixed in Glade.
12399
12400 2006-03-22  Robert Love  <rml@novell.com>
12401
12402         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12403
12404 2006-03-22  Robert Love  <rml@novell.com>
12405
12406         Bug fix by Timo Hoenig <thoenig@suse.de>:
12407         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12408           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12409           and the applet going AWOL.
12410
12411 2006-03-22  Robert Love  <rml@novell.com>
12412
12413         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12414           preprocessor define and use it instead of open-coded the DHCP
12415           timeout, which is currently 25 seconds, everywhere.
12416
12417 2006-03-22  Robert Love  <rml@novell.com>
12418
12419         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12420         key exchange via WPA, ostensibly providing good security without
12421         requiring hardware that supports full WPA.  Also, add UI elements to
12422         allow the user to select the pairwise & group cipher for WPA Enterprise
12423         networks, too:
12424         * gnome/applet/applet.glade: Update glade file.
12425         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12426           key type, too, to and from gconf.
12427         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12428           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12429           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12430           the capabilities match.
12431         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12432           prototype.
12433         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12434           serialize from UI to DBUS.
12435         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12436           one element.
12437         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12438           nmu_security_serialize_wpa_eap_with_cipher(), and
12439           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12440           serialize/deserialize the key type via DBUS as the new third DBUS
12441           parameter.
12442         * libnm-util/dbus-helpers.h: Update prototypes.
12443         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12444           too.  If the key type is WEP104, do Dynamic WEP, which means
12445           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12446           pairwise and group ciphers (fixes a FIXME).
12447
12448 2006-03-21  Robert Love  <rml@novell.com>
12449
12450         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12451           nm_system_get_mtu(), which returns a user-provided or system-mandated
12452           MTU value for a given device, if any, or zero if no such value
12453           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12454           if we have a provided value.
12455         * src/nm-device.c: Set the MTU of devices.
12456         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12457         * src/backends/NetworkManagerDebian.c,
12458           src/backends/NetworkManagerGentoo.c,
12459           src/backends/NetworkManagerRedHat.c,
12460           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12461
12462 2006-03-21  Robert Love  <rml@novell.com>
12463
12464         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12465           configuration file.
12466
12467 2006-03-17  Robert Love  <rml@novell.com>
12468
12469         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12470           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12471           it, in case it is not running in the first place.  We just want its
12472           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12473
12474 2006-03-15  Robert Love  <rml@novell.com>
12475
12476         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12477           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12478           label "WEP 40/128-bit" is inconsistent because the physical key size
12479           is 40 or 104-bits, to which a 24-bit initialisation vector is
12480           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12481           to read "40/104" or "64/128".  I do not care much which, but most
12482           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12483           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12484           WEP passphrase support only handles 128-bit keys, and any future
12485           64-bit passphrase support will require a new option (no way to auto-
12486           detect the target key size), explicitly label our passphrase support
12487           "WEP 128-bit Passphrase".
12488
12489 2006-03-15  Robert Love  <rml@novell.com>
12490
12491         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12492           the system init scripts (or some other mechanism) starting it (or a
12493           compatible DBUS service) before NetworkManager runs.  This means that
12494           distributions might need to update their init scripts.  This fixes
12495           possible races and is quite a bit cleaner.
12496         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12497           starting the NetworkManager daemon.
12498
12499
12500 2006-03-14  Robert Love  <rml@novell.com>
12501
12502         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12503           before adding anything.
12504
12505 2006-03-13  Robert Love  <rml@novell.com>
12506
12507         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12508           widgets, too, if they exist, in case the user hit the back button.
12509           Fixes a bug where the details page contains the widgets of multiple
12510           VPN modules (Novell bug #157048).
12511
12512 2006-03-13  Robert Love  <rml@novell.com>
12513
12514         Patch by Timo Hoenig <thoenig@suse.de>:
12515         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12516           daemon survive DBUS restarts, too.
12517
12518 2006-03-10  Robert Love  <rml@novell.com>
12519
12520         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12521           passphrase or key.
12522         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12523           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12524           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12525           in response to "toggled" signal on new toggle.
12526
12527 2006-03-10  Robert Love  <rml@novell.com>
12528
12529         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12530           serialization if strings are NULL, lest DBUS get angry.
12531
12532 2006-03-10  Robert Love  <rml@novell.com>
12533
12534         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12535
12536 2006-03-09  Robert Love  <rml@novell.com>
12537
12538         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12539           configurations.
12540
12541 2006-03-09  Dan Williams  <dcbw@redhat.com>
12542
12543         Track pending call requests in the applet, and report how many are
12544         outstanding, and how long each completed one takes.
12545         
12546         * gnome/applet/applet-dbus-devices.c
12547           gnome/applet/applet-dbus-vpn.c
12548                 - Track pending calls
12549
12550         * gnome/applet/applet-dbus.[ch]
12551                 - Remove some unused enums
12552                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12553                         new functions to track dbus pending calls and spit out some
12554                         statistics about them
12555
12556 2006-03-09  Robert Love  <rml@novell.com>
12557
12558         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12559           nm_ap_set_timestamp() take the second and micro-second parameters as
12560           direct arguments, which avoids both a dynamic memory allocation and a
12561           structure-to-structure copy!  Add a new interface, the aptly named
12562           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12563           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12564           the return from nm_ap_get_timestamp().  New users should use the new
12565           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12566           the extreme benefit to performance.
12567         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12568           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12569
12570 2006-03-08  Robert Love  <rml@novell.com>
12571
12572         * gnome/applet/applet.glade: Hide the password entry text with
12573           asterisks.
12574
12575 2006-03-08  Robert Love  <rml@novell.com>
12576
12577         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12578           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12579           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12580           a second argument, NMData.
12581         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12582         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12583           config files as trusted.
12584
12585 2006-03-06  Robert Love  <rml@novell.com>
12586
12587         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12588         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12589           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12590           Rivera, detect if the applet was auto-started.  If so, ask the user
12591           if he or she would like to stop automatically running the applet on
12592           login.  If so, disable autostart.
12593
12594 2006-03-06  Robert Love  <rml@novell.com>
12595
12596         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12597           directory in CFLAGS so developers can actually use NetworkManager.h.
12598
12599 2006-03-06  Robert Love  <rml@novell.com>
12600
12601         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12602           open-coded integer constants.  Add state_to_string() to map a given
12603           state to a textual description, and provide that when notifying of
12604           state change.
12605         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12606           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12607           this header directly, but it is currently not installed on most
12608           systems.
12609
12610 2006-03-05  Dan Williams  <dcbw@redhat.com>
12611
12612         Process netlink messages in device subclasses rather than in
12613         NetworkManager.c.  Also add support for recognizing Wireless Events.
12614         
12615         * configure.in
12616                 - Find GLIB_GENMARSHAL
12617
12618         * src/Makefile.am
12619                 - Since we're marshalling custom types for wireless event signals,
12620                         we get to create our own marshallers using GLIB_GENMARSHAL
12621
12622         * src/NetworkManager.c
12623                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12624                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12625                         cut down somewhat.  We no longer process signals here.
12626                 - (nm_data_new): create the netlink monitor here, and remove a
12627                         useless call to nm_policy_schedule_device_change_check()
12628                 - (nm_data_free): get rid of the netlink monitor here
12629                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12630                 - (main): don't create the netlink monitor here, let nm_data_new
12631                         do that.  Call nm_policy_schedule_device_change_check() right
12632                         before we jump to the mainloop to figure out which device
12633                         to use first
12634
12635         * src/NetworkManagerSystem.[ch]
12636                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12637                         convert back and forth from interface names to interface
12638                         indexes
12639
12640         * src/nm-device-802-11-wireless.c
12641                 - (real_init): connect to wireless-event signals from the netlink
12642                         monitor object
12643                 - (nm_device_802_11_wireless_event): new function, schedule handler
12644                         for wireless event signals from the netlink monitor object.  We
12645                         want the handler to run in the device's context
12646                 - (wireless_event_helper): handle wireless-event signals from netlink
12647                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12648                         signal handler
12649
12650         * src/nm-device-802-11-wireless.h
12651                 - remove unused prototype for nm_device_802_11_wireless_new
12652
12653         * src/nm-device-802-3-ethernet.c
12654                 - (real_init): new function; set up signal handlers for link events
12655                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12656                         handler for netlink link activated events on device's main loop
12657                 - (link_activated_helper): when we get a link activated event, set
12658                         the device's link to be active
12659                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12660                         handler for netlink link deactivated events on device's main loop
12661                 - (link_deactivated_helper): when we get a link deactivated event, set
12662                         the device's link to be inactive
12663                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12664                         dispose
12665
12666         * src/nm-device-802-3-ethernet.h
12667                 - remove unused prototype for nm_device_802_3_ethernet_new
12668
12669         * src/nm-device.[ch]
12670                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12671                         but locks the device list
12672                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12673
12674         * src/nm-netlink-monitor.[ch]
12675                 - (nm_netlink_monitor_class_install_signals): New signal
12676                         "wireless-event"
12677                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12678                         at the device list
12679                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12680
12681         * src/nm-marshal-main.c
12682                 - Include generated nm-marshal.c and nm-marshal.h
12683
12684         * src/nm-marshal.list
12685                 - List of custom marshal functions
12686
12687 2006-03-05  Dan Williams  <dcbw@redhat.com>
12688
12689         * gnome/applet/applet-notifications.h
12690                 - Protect prototype of nma_send_event_notification() because it
12691                         includes libnotify-specific types
12692                 - Include libnotify/libnotify.h too, since we technically need it
12693
12694         * gnome/applet/applet.c
12695                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12696                 - (nma_show_vpn_login_banner_dialog): add some error checking
12697
12698 2006-03-04  Dan Williams  <dcbw@redhat.com>
12699
12700         Clean up activation cancellation.  Should be a lot faster now.  Observed
12701         an issue with wireless devices between stage 2 and 3 of activation, where
12702         activation would be cancelled, but the device thread wouldn't notice until
12703         the supplicant association timed out.  Reorganize activation such that
12704         a cancellation handler gets immediately scheduled in the device's thread,
12705         and devices have a chance to perform any custom cleanup too.
12706
12707         * src/nm-device.[ch]
12708                 - (activation_cancel_handler): new device-type-specific function
12709                         for cleaning up device-type-specific stuff on cancellation
12710                 - (cancel_activation): removed
12711                 - (nm_device_activation_cancel): subsume functionality of
12712                         real_cancel_activation, but instead of doing anything, punt
12713                         operation to a handler that's run in device-thread context
12714                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12715                         a warning message
12716                 - (activation_handle_cancel_helper): cancellation handler run in
12717                         device-thread context, calls device-type-specific cancelation,
12718                         then tears down the activation request
12719                 - (real_activation_cancel_handler): generic cancellation handler,
12720                         deals with cancelling any in-process DHCP request
12721                 - (nm_device_activate_stage1_device_prepare,
12722                    nm_device_activate_stage2_device_config,
12723                    nm_device_activate_stage3_ip_config_start,
12724                    nm_device_activate_stage4_ip_config_get,
12725                    nm_device_activate_stage4_ip_config_timeout,
12726                    nm_device_activate_stage5_ip_commit): don't call
12727                         nm_device_schedule_activation_handle_cancel() any more, since
12728                         cancellation will have been already scheduled for us by
12729                         nm_device_activation_cancel().  Just exit the function and
12730                         assume that the cancel handler will be called next.
12731
12732         * src/nm-device-802-3-ethernet.c
12733                 - (real_act_stage2_config): remove; didn't do anything anyway
12734
12735         * src/nm-device-802-11-wireless.c
12736                 - (supplicant_status_cb): ensure we don't do anything if the activation
12737                         got cancelled
12738                 - (real_activation_cancel_handler): implement; cancel user key request
12739                         on activation cancellation
12740
12741 2006-03-04  Dan Williams  <dcbw@redhat.com>
12742
12743         * src/nm-device-802-11-wireless.c
12744                 - (supplicant_send_network_config): assume that drivers that don't
12745                         support WPA pretty much suck, and can't handle NM scanning
12746                         along with wpa_supplicant.
12747
12748 2006-03-03  Robert Love  <rml@novell.com>
12749
12750         * configure.in: Bump version to 0.6.0.
12751         * NEWS: Update.
12752
12753 2006-03-03  Robert Love  <rml@novell.com>
12754
12755         * configure.in: Require DBUS 0.60 or later.
12756
12757 2006-03-03  Dan Williams  <dcbw@redhat.com>
12758
12759         Fix a crash if an "Other wireless network" was chosen, failed, then
12760         chosen again from the applet's menu.  If the other network wasn't
12761         noticed in a scan, it wouldn't have any capabilities, but would still
12762         be listed because the user forced the network.  To fix this, we set
12763         sensible capabilities on the forced network, which will get overwritten
12764         with the correct ones if the network shows up later in a scan.
12765         
12766         * src/nm-ap-security.h
12767                 - Add a new "get_default_capabilities_func" member to the
12768                         NMAPSecurity class
12769
12770         * src/nm-ap-security.c
12771                 - (nm_ap_security_get_default_capabilities): new function
12772
12773         * src/nm-ap-security.c
12774           src/nm-ap-security-wep.c
12775           src/nm-ap-security-wpa-psk.c
12776           src/nm-ap-security-wpa-eap.c
12777                 - Implement get_default_capabilities_func() for all, which
12778                         uses the information contained in a specific NMAPSecurity
12779                         object to determine default AP capabilites necessary
12780                         to support that object
12781
12782         As a secondary measure, we now prune artificial access points that fail
12783         to be activated right away.  The thing failed, and we have no scan data for
12784         it, so it's pretty much useless since security information is only saved
12785         in the applets when a connection is successful.
12786
12787         * src/NetworkManagerAPList.c
12788                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12789                         not artificial.  If we see it, it's no longer a figment of the
12790                         user's imagination :)
12791
12792         * src/NetworkManagerPolicy.c
12793                 - (nm_policy_activation_failed): send along the failed AP if we
12794                         have it
12795
12796         * src/nm-device-802-11-wireless.c
12797                 - (real_activation_failure_handler): remove artificial APs from
12798                         the device list, because activation failed
12799
12800 2006-03-02  Robert Love  <rml@novell.com>
12801
12802         Add support for retrieving both the per-device speed and the
12803         per-network maximum supported rate.  Then change the getProperties
12804         DBUS API for both networks and devices to report this informaiton.
12805         Finally, display the information via both nm-applet and nm-tool:
12806         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12807           and set it.
12808         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12809           Information' dialog.
12810         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12811         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12812           network_device_get_speed() and network_device_set_speed() for
12813           retrieving and setting, respectively, a network device's current
12814           speed.
12815         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12816         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12817           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12818           not matter (yet) what the units are, because we only feed it its own
12819           output.  Implement SIOCGIRATE and set the per-network maximum
12820           supported rate during scanning.
12821         * src/nm-device-802-11-wireless.h: Export the function
12822           nm_device_802_11_wireless_get_bitrate().
12823         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12824           function nm_device_802_3_ethernet_get_speed() for returning an
12825           802.3's current speed, in Mb/s.
12826         * test/nm-tool.c: Display the per-device current speed, if available,
12827           and the per-network maximum rate.
12828
12829 2006-03-02  Dan Williams  <dcbw@redhat.com>
12830
12831         * src/nm-device-802-11-wireless.c
12832                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12833                         card when it gets initialized.  Since devices don't get added to
12834                         the scan list until they are initialized, this function wasn't
12835                         setting the intitial scan interval correctly, and was leaving
12836                         it at 0.  This caused cards to get many scan requests in a short
12837                         amount of time when they were initialized
12838
12839 2006-03-02  Robert Love  <rml@novell.com>
12840
12841         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12842           active device.  But do not do what we used to do and override the
12843           state, which caused the dreaded icon race of '05.
12844
12845 2006-03-02  Robert Love  <rml@novell.com>
12846
12847         Commit Dan's update of my previous commit:
12848         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12849           set_mode() function itself does the check.  But do only set the
12850           frequency if in Ad-Hoc mode.
12851
12852 2006-03-02  Robert Love  <rml@novell.com>
12853
12854         Patch by Brian Magnuson <magnuson@rcn.com>:
12855         * src/nm-device-802-11-wireless.c: During scanning, only set the
12856           wireless mode to infrastructure if it is not currently in
12857           infrastructure mode.  For some driver, setting the mode is a costly
12858           operation, apparently.
12859
12860 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12861
12862         * Makefile.am: use the correct dir for autostart mechanism.
12863
12864 2006-02-28  Dan Williams  <dcbw@redhat.com>
12865
12866         Patch from Brian Magnuson <magnuson@rcn.com>
12867         * gnome/applet/applet.c
12868                 - (nma_show_vpn_failure_dialog): fix errors left over from
12869                         libnotify support changes
12870
12871 2006-02-28  Dan Williams  <dcbw@redhat.com>
12872
12873         * src/vpn-manager/nm-vpn-act-request.[ch]
12874                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12875                         just one value
12876                 - (nm_vpn_act_request_is_failed): new function; return whether or
12877                         not the vpn activation request has failed
12878
12879         * src/vpn-manager/nm-vpn-manager.c 
12880                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12881                         daemon to kill the connection when the activation request fails.
12882                         Fixes issue where NM would get confused if the VPN activation
12883                         request timed out, and would not allow further VPN connections
12884                         on that service.
12885
12886 2006-02-28  Dan Williams  <dcbw@redhat.com>
12887
12888         * gnome/applet/applet.c
12889                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12890                         overlapping connection requests, disable all VPN menu items
12891                         but the active VPN connection
12892
12893 2006-02-28  Dan Williams  <dcbw@redhat.com>
12894
12895         * src/vpn-manager/nm-vpn-connection.c
12896                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12897                         called g_object_unref() on the connection's parent device
12898                         when it should have been ref-ed instead.  Fixes crash with
12899                         repeated vpn connect requests
12900
12901 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12902
12903         * gnome/applet/applet.glade:
12904         Mark a few strings non-translatable, since they shouldn't be.
12905
12906 2006-02-28  Dan Williams  <dcbw@redhat.com>
12907
12908         * src/vpn-manager/nm-vpn-service.c
12909                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12910                         already running, don't blindly ask it to connect, but wait until
12911                         it's in the STOPPED state first.  Fixes an assertion when user
12912                         starts a second vpn connection without stopping the first.
12913                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12914                         dbus service exists before continuing with the connection
12915                         process, and reduce latency while waiting for it to become
12916                         available
12917                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12918                         waiting for the vpn service daemon to become available
12919                 - General log message cleanups; show progress via "Stage x of 4"
12920                         rather than not telling anyone how many stages there are
12921
12922 2006-02-28  Robert Love  <rml@novell.com>
12923
12924         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12925         * src/backends/NetworkManagerSuSE.c: Implement the interface
12926           nm_system_should_modify_resolv_conf() for SUSE.
12927         * src/backends/NetworkManagerDebian.c,
12928           src/backends/NetworkManagerGentoo.c,
12929           src/backends/NetworkManagerRedHat.c,
12930           src/backends/NetworkManagerSlackware.c: Add stub.
12931         * src/named-manager/Makefile.am: Grab includes from src.
12932         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12933           automatic updating of resolv.conf.  This is useful for testing,
12934           broken static configurations, and administrator lock-down.
12935
12936 2006-02-28  Dan Williams  <dcbw@redhat.com>
12937
12938         * src/nm-device-802-11-wireless.c
12939                 - Move all the wpa_supplicant-related management stuff into its
12940                         own struct, just for oranization's sake
12941                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12942                         to a GIOChannel/GSource
12943                 - (supplicant_log_stdout): new function; grab output from the
12944                         wpa_supplicant stdout pipe and write it to our logs.
12945
12946 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12947
12948         * src/nm-device-802-11-wireless.c:
12949         Err, fix thinko in my previous commit.
12950
12951 2006-02-28  Robert Love  <rml@novell.com>
12952
12953         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12954
12955 2006-02-28  Robert Love  <rml@novell.com>
12956
12957         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12958           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12959           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12960           deserializers are responsible for freeing the returned DBUS strings.
12961
12962 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12963
12964         * src/nm-device-802-11-wireless.c:
12965         The scan list is being pruned prematurely.  We should prune after
12966         the device has gone MIA for three scans, not one.  Split out the
12967         interval to realtime seconds function to better serve this.
12968
12969 2006-02-27  Robert Love  <rml@novell.com>
12970
12971         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12972           Open the pid file O_TRUNC, so if it already exists we truncate it to
12973           zero length.  Also, be more verbose about warnings generated during
12974           writing out the pid file.  Finally, always write out the pid file if
12975           in daemon mode.  Use "--pid-file" to override the default.
12976
12977 2006-02-27  Robert Love  <rml@novell.com>
12978
12979         Patch by R. Vinay <rvinay@novell.com>:
12980         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12981           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12982           Novell bug #153628).
12983           
12984 2006-02-27  Robert Love  <rml@novell.com>
12985
12986         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12987           entry so user can hit <ENTER> after entering passphrase (Novell bug
12988           #153738).
12989
12990 2006-02-27  Dan Williams  <dcbw@redhat.com>
12991
12992         * gnome/applet/*
12993                 - Mass search/replace of:
12994                         nmwa -> nma
12995                         NMWirelessApplet -> NMApplet
12996                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12997                    (it ain't just for wireless anymore, ma!)
12998                 - Fix duplicate function name printing when using nm_warning
12999                 - wireless-applet.glade -> applet.glade
13000
13001 2006-02-27  Dan Williams  <dcbw@redhat.com>
13002
13003         * dispatcher-daemon/NetworkManagerDispatcher.c
13004                 - Accept --pid-file with a path to a pidfile, write it out on
13005                         startup, and delete it on shutdown
13006
13007         * src/NetworkManager.c
13008                 - Accept --pid-file with a path to a pidfile, write it out on
13009                         startup, and delete it on shutdown
13010                 - Move nm_print_usage() lower
13011
13012         * initscripts/RedHat/NetworkManager.in
13013                 - Use new --pid-file option
13014                 - Fix service stopping to wait a bit for NM to quit
13015
13016         * initscripts/RedHat/NetworkManagerDispatcher.in
13017                 - Use new --pid-file option
13018
13019 2006-02-26  Dan Williams  <dcbw@redhat.com>
13020
13021         * src/Makefile.am
13022                 - make and install nm-crash-logger
13023
13024         * src/nm-logging.[ch]
13025                 - New files; consolidate logging and crash handling
13026
13027         * src/nm-crash-logger.c
13028           src/gdb-cmd
13029                 - Standalong crashlogger for NM, grab a backtrace
13030                         using GDB
13031
13032         * src/NetworkManager.[ch]
13033                 - Remove signal handling and put it into nm-logging.c
13034
13035 2006-02-26  Dan Williams  <dcbw@redhat.com>
13036
13037         * configure.in
13038           gnome/applet/Makefile.am
13039                 - Conditionalize all the notify stuff
13040
13041         Merge most of Chris Aillon's notification patch:
13042         
13043         * gnome/applet/applet-notifications.[ch]
13044                 - New files; show a notification
13045         
13046         * gnome/applet/applet-dbus-devices.[ch]
13047                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13048                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13049                         new functions, do the right thing when a device change occurs
13050
13051         * gnome/applet/applet-dbus.c
13052                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13053                         signals, so we can handle them specially
13054
13055         * gnome/applet/applet.[ch]
13056                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13057                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13058                 - (nmwa_notify_state): remove
13059                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13060                         notification work is now done when the appropriate dbus signals
13061                         are received.
13062                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13063                         defer execution of the notification/dialog stuff.  That was an
13064                         artifact of the previous multi-threaded nature of the applet
13065                         and is now pointless.
13066                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13067                         no longer needed.  Function folded into applet-notifications.c
13068
13069         * src/NetworkManagerPolicy.c
13070                 - (nm_policy_activation_finish): send the AP along with the device
13071                         status change signal, if the connection is wireless.  Should
13072                         fix the race where applet would show a connection to "unknown"
13073
13074 2006-02-25  Robert Love  <rml@novell.com>
13075
13076         Add WPA Enterprise support:
13077         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13078           nm-gconf-wso-wpa-eap.h.
13079         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13080           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13081           serialization and deserialization.
13082         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13083           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13084           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13085         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13086           settings related to WPA Enterprise.
13087         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13088           instantiate WPA Enterprise wireless-security-option.
13089         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13090           Implement WPA Enterprise wireless-security-option object.
13091         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13092           defines.  Cleanup.
13093         * libnm-util/cipher-wpa-psk-hex.c,
13094           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13095         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13096           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13097           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13098           including the cipher to DBUS method, and
13099           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13100           to output.
13101         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13102           nm-ap-security-wpa-eap.h
13103         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13104           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13105         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13106           files.  Implement NMAPSecurityWPA_EAP object.
13107         * src/nm-ap-security-wpa-psk.c: Cleanup.
13108         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13109           an NMAPSecurityWPA_EAP object via the method
13110           nm_ap_security_wpa_eap_new_deserialize().
13111         * src/nm-dbus-nm.c: Cleanup.
13112         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13113           WPA Enterprise support.
13114
13115 2006-02-24  Robert Love  <rml@novell.com>
13116
13117         Patch from Timo Hoenig <thoenig@suse.de>:
13118         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13119
13120 2006-02-24  Robert Love  <rml@novell.com>
13121
13122         Patch from Dan Winship <danw@novell.com>:
13123         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13124           area to transparent.
13125
13126 2006-02-21  Dan Williams  <dcbw@redhat.com>
13127
13128         * gnome/applet/applet.[ch]
13129           gnome/applet/applet-dbus.c
13130                 - Implement notification support for VPN messages too
13131
13132 2006-02-21  Dan Williams  <dcbw@redhat.com>
13133
13134         * gnome/applet/applet-dbus-info.c
13135                 - Clean up warning messages to not double-print the function
13136
13137 2006-02-21  Dan Williams  <dcbw@redhat.com>
13138
13139         * gnome/applet/applet-compat.c
13140                 - (convert_one_entry): accept entries without a key_type and
13141                         convert them to unencrypted networks
13142
13143 2006-02-21  Dan Williams  <dcbw@redhat.com>
13144
13145         * gnome/libnm_glib/libnm_glib.c
13146                 - Use __func__ everywhere we can
13147                 - Code cleanups
13148                 - Use dbus pending calls rather than blocking
13149                 - Reduce busywaits for our thread to start and stop
13150                         (gnome.org #330562)
13151                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13152                         stomp on others using the default shared dbus connection.
13153                         Fixes #rh177546# and gnome.org #326572
13154
13155 2006-02-21  Dan Williams  <dcbw@redhat.com>
13156
13157         Patch from Rodney Dawes <dobey@novell.com>
13158         * configure.in
13159           gnome/applet/Makefile.am
13160           gnome/applet/applet.c
13161                 - Add libnotify support if '--enable-notify=yes' is passed
13162                   at configure time
13163
13164 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13165
13166         * configure.in (ALL_LINGUAS): ko added. (Korean)
13167
13168 2006-02-15  Robert Love  <rml@novell.com>
13169
13170         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13171           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13172           and WPA_SUPPLICANT_CONTROL_SOCKET.
13173         
13174 2006-02-15  Robert Love  <rml@novell.com>
13175
13176         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13177           information about what connection stage we are at, provide the total
13178           number of stages, e.g. "Stage 2 of 5", so users know how far along
13179           they are if they experience problems.
13180
13181 2006-02-15  Robert Love  <rml@novell.com>
13182
13183         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13184           define to $sysconfdir.
13185         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13186           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13187           type of VPN and then editing another results in a mangled dialog
13188           box containing the widgets from both VPNs (fixes Novell #150854).
13189           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13190
13191 2006-02-14  Robert Love  <rml@novell.com>
13192
13193         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13194           syslog's file descriptor.
13195
13196 2006-02-14  Robert Love  <rml@novell.com>
13197
13198         Fix bug around since the change to "deal with APs changing settings on
13199         us," checked in on the fifth of February in the year of the dog, 
13200         wherein connecting to non-broadcast encrypted networks always fails
13201         because nm_ap_get_encrypted() always returns FALSE, even when the user
13202         provided a key, because the newly-created fake AP does not have any
13203         capabilities set, which is a sypmtom of security settings not matching
13204         capabilities (Novell bug #150784):
13205         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13206           nm_ap_add_capabilities_from_security(), which sets the given AP's
13207           capabilities off the given security settings.  Also improve our
13208           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13209           NM_AUTH_CIPHER_AUTO.
13210         * src/nm-device-802-11-wireless.c: Call the function
13211           nm_ap_add_capabilities_from_security() to ensure that capabilities
13212           match newly updated security settings.
13213
13214 2006-02-14  Robert Love  <rml@novell.com>
13215
13216         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13217           error as a string, not an integer, if possible; do not print the
13218           function name twice; always give the interface, if possible; misc.
13219           cleanup.
13220
13221 2006-02-12  Dan Williams  <dcbw@redhat.com>
13222
13223         Patch from Tom Parker <palfrey@tevp.net>
13224         * src/NetworkManagerSystem.h
13225                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13226                         no longer used
13227
13228         * src/backends/NetworkManagerDebian.c
13229                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13230                         unused variables
13231
13232 2006-02-12  Dan Williams  <dcbw@redhat.com>
13233
13234         * vpn-daemons/openvpn/intltool-extract.in
13235           vpn-daemons/openvpn/intltool-merge.in
13236           vpn-daemons/openvpn/intltool-update.in
13237           vpn-daemons/pptp/intltool-extract.in
13238           vpn-daemons/pptp/intltool-merge.in
13239           vpn-daemons/pptp/intltool-update.in
13240                 - Remove from CVS, they should get created by intltoolize,
13241                         shouldn't they?
13242
13243 2006-02-12  Dan Williams  <dcbw@redhat.com>
13244
13245         * vpn-daemons/pptp/src/pppd/patchlevel.h
13246         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13247                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13248                         Makefile-defined VERSION
13249
13250 2006-02-09  Dan Williams  <dcbw@redhat.com>
13251
13252         Patch from: Vinay A R <rvinay@novell.com>
13253         * src/vpn-manager/nm-vpn-act-request.[ch]
13254                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13255                         IPSec VPNs require them for std gateway.
13256                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13257                         and 'user_routes_count'
13258                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13259                         defined routes  from NMVPNActRequest object, returns the string
13260                         array of routes.
13261
13262         * src/vpn-manager/nm-vpn-manager.[ch]
13263                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13264                         for 'user_routes' and 'user_routes_count'
13265         
13266         * src/vpn-manager/nm-dbus-vpn.c
13267                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13268                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13269         
13270         * src/vpn-manager/nm-vpn-service.c
13271                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13272                         the vpn daemon
13273
13274         Modifications by Dan:
13275         * src/vpn-manager/nm-vpn-service.c
13276                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13277                         arrays into dbus
13278
13279         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13280         * vpn-daemons/pptp/src/nm-pptp-service.c
13281         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13282                 - Grab user routes from dbus message
13283                 - Free all string arrays we got from dbus
13284
13285 2006-02-07  Robert Love  <rml@novell.com>
13286
13287         Patch by Stefan Seyfried <seife@suse.de>:
13288         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13289
13290 2006-02-06  Robert Love  <rml@novell.com>
13291
13292         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13293
13294 2006-02-06  Robert Love  <rml@novell.com>
13295
13296         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13297           test ">=" is never false.  If no newline is found, we loop forever.
13298           We can just check for ">" because the following if() will see the
13299           zero-th argument if the while() gets that far.
13300
13301 2006-02-05  Dan Williams  <dcbw@redhat.com>
13302
13303         Refine handling of non-broadcast networks.
13304
13305         * src/NetworkManagerAPList.c
13306                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13307                         property from scanned AP to the AP from the device list
13308
13309         * src/nm-device-802-11-wireless.c
13310                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13311                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13312                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13313                         networks since those don't have APs.
13314                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13315                         AP as non-SSID-broadcasting
13316                 - (process_scan_results): don't handle non-SSID-broadcasting here
13317
13318 2006-02-05  Dan Williams  <dcbw@redhat.com>
13319
13320         * src/nm-device-802-11-wireless.c
13321                 - (get_supplicant_timeout): new function; return
13322                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13323                         14 channels.  These are likely a/b/g cards, like Atheros, and
13324                         slow as hell to scan.
13325                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13326                         get_supplicant_timeout()
13327
13328 2006-02-05  Dan Williams  <dcbw@redhat.com>
13329
13330         * src/dhcp-manager/nm-dhcp-manager.c
13331                 - Loose a commit race with Robert; make sure size check
13332                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13333
13334 2006-02-05  Robert Love  <rml@novell.com>
13335
13336         Patch by Christoph Brill <chrisbrill@gmx.net>:
13337         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13338           with DHCP_SERVICE_NAME.
13339
13340 2006-02-05  Dan Williams  <dcbw@redhat.com>
13341
13342         Remove anything having to do with device_setup_func from the
13343         AP security objects, since it's no longer used.
13344
13345         * src/nm-ap-security.h
13346                 - Kill device_setup_func and nm_ap_security_device_setup()
13347
13348         * src/nm-ap-security-wep.c
13349           src/nm-ap-security-wpa-psk.c
13350                 - (real_device_setup): remove
13351
13352         * src/nm-ap-security.c
13353                 - (real_device_setup): remove
13354                 - (nm_ap_security_device_setup): remove
13355
13356         * src/nm-device-802-11-wireless.[ch]
13357                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13358                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13359                         and done by wpa_supplicant now anyway
13360
13361 2006-02-05  Dan Williams  <dcbw@redhat.com>
13362
13363         * src/nm-device-802-11-wireless.c
13364                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13365                         settings on us.  Previously NM would loop asking for the
13366                         key but getting the same one back.  Now, if the NMI-supplied
13367                         cipher doesn't overlap with the scanned AP capabilities,
13368                         we request a completely new key from the user.
13369
13370 2006-02-05  Dan Williams  <dcbw@redhat.com>
13371
13372         * src/NetworkManagerUtils.c
13373                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13374                         Handle newline killing better
13375
13376 2006-02-05  Dan Williams  <dcbw@redhat.com>
13377
13378         * gnome/applet/nm-gconf-wso.c
13379                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13380                         of unencrypted access point security info.
13381
13382 2006-02-03  Robert Love  <rml@novell.com>
13383
13384         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13385           user's encryption key, so we print the err_msg_cmd not the command,
13386           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13387           sense.
13388
13389 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13390
13391         * initscript/RedHat/NetworkManagerDispatcher.in:
13392         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13393         Patch from Dan Walsh <dwalsh@redhat.com>
13394
13395 2006-02-03  Robert Love  <rml@novell.com>
13396
13397         * dispatcher-daemon/NetworkManagerDispatcher.c,
13398           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13399           but use the sysconfdir.
13400
13401 2006-02-03  Robert Love  <rml@novell.com>
13402
13403         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13404           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13405           'char *'.
13406         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13407           nm_ip4_config_get_hostname() and
13408           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13409         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13410           leak g_strdup() result.
13411
13412 2006-02-03  Robert Love  <rml@novell.com>
13413
13414         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13415           broadcast == TRUE.  Also, copy broadcast and artificial properties
13416           from source network to destination in nm_ap_copy().
13417         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13418           since we now default new networks to non-hidden.
13419
13420 2006-02-03  Dan Williams  <dcbw@redhat.com>
13421
13422         * gnome/applet/main.c
13423                 - (main): change the NEVER->ALWAYS so we start at the
13424                         beginning of the session, if being session-managed
13425
13426 2006-02-03  Dan Williams  <dcbw@redhat.com>
13427
13428         * gnome/applet/main.c
13429                 - (main): in a variation on Robert's patch, change
13430                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13431                         he wants.
13432
13433 2006-02-02  Robert Love  <rml@novell.com>
13434
13435         * src/Makefile.am: If we aren't going to create the run directory at,
13436           uh, run-time, create it during install.  Then users just doing
13437           'make install' are cool, too.  While we are here, create the
13438           dispatcher.d directory, too.
13439         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13440           the exact run directory.
13441         * Makefile.am: Install nm-applet.desktop.
13442
13443 2006-02-02  Robert Love  <rml@novell.com>
13444
13445         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13446           structure, which denotes whether or not the AP is hidden.  This is a
13447           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13448           can show up in the scan list.  Add nm_ap_get_broadcast() and
13449           nm_ap_set_broadcast() accessor interfaces.
13450         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13451           nm_ap_set_broadcast().
13452         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13453           "getProperties" method, which denotes whether or not the given
13454           network is hidden.
13455         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13456           an artificial network.  Set broadcast to TRUE when scanning returns
13457           an ESSID and FALSE when not.
13458         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13459           from "getProperties" method on a network.  Possible TODO is to
13460           somehow display this.
13461         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13462
13463 2006-02-02  Dan Williams  <dcbw@redhat.com>
13464
13465         * src/nm-device-802-11-wireless.c
13466                 - (supplicant_interface_init): don't try to create
13467                         /var/run/NetworkManager, since that should be done by
13468                         the distro package.  Causes problems for stuff like SELinux
13469
13470 2006-02-02  Robert Love  <rml@novell.com>
13471
13472         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13473         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13474           Check for and handle empty string for iface.
13475
13476 2006-02-01  Robert Love  <rml@novell.com>
13477
13478         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13479           manpage.
13480
13481 2006-01-31  Dan Williams  <dcbw@redhat.com>
13482
13483         * nm-applet.desktop
13484                 - Add --sm-disable to Exec arguments, presuming that when
13485                         using autostart, we don't want session management
13486
13487 2006-01-31  Robert Love  <rml@novell.com>
13488
13489         * src/NetworkManagerAP.c: Add two new manufacturer default network
13490           names: linksys-a and linksys-g.  These are found (at least) on the
13491           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13492           own ESSID.
13493
13494 2006-01-31  Robert Love  <rml@novell.com>
13495
13496         * src/NetworkManagerAP.c: Optimize the function
13497           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13498           machine code.  This is the first in a series of code tweaks aiming to
13499           generate better machine code and make NetworkManager all the better.
13500           Just kidding.  Who has time to go through the assembly generated for
13501           every function?  I certainly don't.  I have a wife, a kid, a job,
13502           a mortgage, a mistress.  But this function was so bad, I was called
13503           to arms.  Like the book.
13504
13505 2006-01-31  Robert Love  <rml@novell.com>
13506
13507         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13508           AP is not broadcasting, to scan with probe request frames.  Required
13509           for non-broadcast networks.
13510
13511 2006-01-31  Robert Love  <rml@novell.com>
13512
13513         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13514           preprocessor define (still 20s).  Fix message text in nm_info()
13515           s/too too/took too/.
13516
13517 2006-01-30  Dan Williams  <dcbw@redhat.com>
13518
13519         * src/nm-device-802-11-wireless.c
13520                 - (supplicant_monitor_start): increase connect/auth timeout to
13521                         20 seconds from 10 seconds
13522
13523 2006-01-30  Dan Williams  <dcbw@redhat.com>
13524
13525         * src/Makefile.am
13526                 - Define LOCALSTATEDIR
13527
13528         * src/nm-device-802-11-wireless.c
13529                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13530                         socket where we want it to
13531
13532         * src/wpa_ctrl.[ch]
13533                 - (wpa_ctrl_open): accept location to put local control socket
13534
13535 2006-01-30  Robert Love  <rml@novell.com>
13536
13537         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13538           get_ip4_string() for "domain_name".
13539
13540 2006-01-30  Robert Love  <rml@novell.com>
13541
13542         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13543           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13544           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13545           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13546           support for "Automatic" pairwise and group cipher configuration by
13547           letting wpa_supplicant handle the details.  Add UI elements, new
13548           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13549           charm.  Note this does more than add a nice feature, it fixes a bug.
13550           Apparently, some people have AP's where the pairwise cipher does not
13551           match the group cipher.  Insane, but true.
13552
13553 2006-01-30  Dan Williams  <dcbw@redhat.com>
13554
13555         * gnome/applet/applet-dbus-devices.c
13556                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13557                         functions, grab device driver name from NetworkManager
13558                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13559
13560         * gnome/applet/applet.c
13561                 - (nmwa_update_info): show driver name in Connection Information
13562                         dialog
13563
13564         * gnome/applet/nm-device.[ch]
13565                 - (network_device_get_driver, network_device_set_driver): add
13566                         accessors for driver name
13567
13568         * gnome/applet/wireless-applet.glade
13569                 - Add line for driver name to Connection Information dialog
13570
13571         * src/nm-dbus-device.c
13572                 - (nm_dbus_device_get_driver): new function to return driver name
13573                 - (nm_dbus_device_methods): hook up driver name function to dbus
13574
13575         * test/nm-tool.c
13576                 - (get_driver_name): new function
13577                 - (detail_device): grab and show driver name
13578
13579 2006-01-30  Robert Love  <rml@novell.com>
13580
13581         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13582           does not parse the markup if it is not part of the format.
13583
13584 2006-01-30  Robert Love  <rml@novell.com>
13585
13586         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13587           FALSE, we have no security options for this dialog, so we throw up
13588           an error dialog instead of a broken passphrase dialog.  Fixes
13589           Novell #138404.
13590         * gnome/applet/wireless-security-manager.c,
13591           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13592           does not add any security options, not even NONE, print a warning
13593           and return FALSE.  This let's functions constructing a dialog bail
13594           out if the device's capabilities and the network's requirements have
13595           zero overlap.
13596
13597 2006-01-27  Robert Love  <rml@novell.com>
13598
13599         * configure.in: Require wpa_supplicant.  Detect location of binary and
13600           use it.  Override with "--with-wpa_supplicant=foo".
13601         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13602           path to wpa_supplicant but use the auto-detected or user-provided
13603           value from configure.
13604
13605 2006-01-27  Robert Love  <rml@novell.com>
13606
13607         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13608           but the DHCP server did not return a hostname, try to look up our
13609           name via DNS and set the system hostname to that.
13610
13611 2006-01-27  Dan Williams  <dcbw@redhat.com>
13612
13613         * src/backends/NetworkManagerRedHat.c
13614                 - Add NM_CONTROLLED system network script support for RH/Fedora
13615
13616 2006-01-27  Dan Williams  <dcbw@redhat.com>
13617
13618         * src/backends/NetworkManagerGentoo.c
13619                 - (nm_system_device_get_disabled): add missing function.
13620                         Gnome BZ #328780
13621
13622 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13623
13624         * configure.in: Added vi in ALL_LINGUAS line.
13625         
13626 2006-01-26  Robert Love  <rml@novell.com>
13627
13628         * src/Makefile.am, src/kernel-types.h: Now that two different source
13629           files are feeling the crack-addled leakage of kernel types such as
13630           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13631           types in user-space -- define a header and include it as needed.
13632         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13633         * src/nm-device-802-3-ethernet.h: Remove defines.
13634         * src/wpa.c: Remove defines and include kernel-types.h.
13635
13636 2006-01-26  Robert Love  <rml@novell.com>
13637
13638         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13639           work.
13640
13641 2006-01-26  Robert Love  <rml@novell.com>
13642
13643         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13644         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13645           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13646           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13647           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13648           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13649           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13650           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13651           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13652           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13653           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13654           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13655           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13656           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13657           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13658           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13659           Kill unused variables, labels, and static functions.  Don't pass
13660           string literals as the format string for printf-like functions.
13661
13662 2006-01-25  Dan Williams  <dcbw@redhat.com>
13663
13664         * gnome/applet/wireless-applet.glade
13665                 - Remove WPA2 Checkbox
13666
13667         * gnome/applet/wireless-security-manager.c
13668                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13669                         This means the Wireless Security menu now has two WPA options,
13670                         one for "WPA Personal" and one for "WPA2 Personal"
13671
13672         * gnome/applet/wso-wpa-psk.[ch]
13673                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13674                         'wpa2' argument to determine WPA version to use
13675                 - (append_dbus_params_func): pass stored WPA version to cipher
13676                         rather than using the (removed) checkbox
13677
13678 2006-01-24  Robert Love  <rml@novell.com>
13679
13680         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13681           before we g_strdup(), not the ultimate string.
13682
13683 2006-01-23  Dan Williams  <dcbw@redhat.com>
13684
13685         * src/NetworkManagerAP.[ch]
13686                 - (nm_ap_new_from_ap): copy original essid too
13687                 - (nm_ap_unref): free original essid
13688                 - (nm_ap_get_orig_essid): new function
13689                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13690                         but keep original essid around too
13691
13692         * src/nm-device-802-11-wireless.c
13693                 - (supplicant_send_network_config): send wpa_supplicant the
13694                         _original_ essid, and not as a string, but in hex.  Should
13695                         allow us to connect to more APs that use wierd character
13696                         encodings for their essids
13697
13698         * utils/nm-utils.[ch]
13699                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13700                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13701                         use the current locale as a hint for what encoding the essid
13702                         might be in.  Obviously not 100% accurate, but the idea here is
13703                         that if a user's locale is ex. ja_JP, they are more likely than
13704                         not to be in Japan, where access points will likely be in some
13705                         Japanese encoding.
13706
13707 2006-01-23  Dan Williams  <dcbw@redhat.com>
13708
13709         * libnm-util/cipher-private.h
13710           libnm-util/cipher.c
13711           libnm-util/cipher.h
13712                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13713
13714 2006-01-23  Robert Love  <rml@novell.com>
13715
13716         Patch by Timo Hoenig <thoenig@suse.de>:
13717         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13718           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13719           by DHCP and pass it to the backends, allowing distribution-specific
13720           behavior with respect to the DHCP-supplied hostname (if nothing else,
13721           some distributions might not want to set the hostname).
13722         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13723           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13724           Also update our NIS behavior.
13725         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13726           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13727           Add stub functions.
13728
13729 2006-01-23  Robert Love  <rml@novell.com>
13730
13731         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13732           gnome-session does autostart.  TODO: We need to install this to
13733           $prefix/share/autostart/.
13734
13735 2006-01-22  Dan Williams  <dcbw@redhat.com>
13736
13737         * src/NetworkManagerAP.[ch]
13738           src/nm-dbus-nmi.c
13739           src/nm-device-802-11-wireless.c         
13740                 - Make nm_ap_get_essid return "const char *"
13741
13742 2006-01-22  Dan Williams  <dcbw@redhat.com>
13743
13744         * src/NetworkManagerAP.[ch]
13745                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13746
13747         * src/NetworkManagerAPList.[ch]
13748                 - (nm_ap_list_diff): removed
13749                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13750                         deal with access points changing essids on us
13751
13752         * src/nm-device-802-11-wireless.c
13753                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13754                         src/NetworkManagerAPList.c
13755                 - (real_can_interrupt_activation): new function; allow interruption
13756                         of device activation if we are waiting for a network key
13757
13758         * src/NetworkManagerPolicy.c
13759                 - (nm_policy_device_change_check): allow interruption of currently
13760                         activating devices if the device allows it.  Previous behavior
13761                         would refuse to activate a just-plugged wired device if a
13762                         wireless device was waiting for a key.
13763
13764         * src/nm-device.[ch]
13765                 - (nm_device_can_interrupt_activation): new function; ask devices
13766                         whether their activation can be interrupted
13767
13768 2006-01-20  Robert Love  <rml@novell.com>
13769
13770         * Makefile.am, configure.in: Add new man subdirectory.
13771         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13772           man/Makefile.am: Add man pages for NetworkManager and its
13773           crime-solving bumbling buddy, NetworkManagerDispatcher.
13774         * man/.cvsignore: Add.
13775         * initscript/Debian/NetworkManager,
13776           initscript/Gentoo/NetworkManager.in,
13777           initscript/RedHat/NetworkManager.in,
13778           initscript/RedHat/NetworkManagerDispatcher.in,
13779           initscript/SUSE/networkmanager-dispatcher.in,
13780           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13781
13782 2006-01-20  Robert Love  <rml@novell.com>
13783
13784         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13785           instead of queuing.  This prevents the running of multiple NM
13786           daemons concurrently, which does not work whatsoever and results in
13787           neither daemon working correctly.  Also, we don't handle queuing and
13788           name-owner-changes, anyhow.
13789
13790 2006-01-20  Robert Love  <rml@novell.com>
13791
13792         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13793         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13794           to sbin, not bin.
13795
13796 2006-01-19  Robert Love  <rml@novell.com>
13797
13798         * configure.in: Require hal 0.5.0 or later.
13799
13800 2006-01-18  Robert Love  <rml@novell.com>
13801
13802         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13803           Allow backends to flag a device (in whatever distro-dependent way
13804           they so desire) as disabled.  NM will ignore any such device.
13805         * src/backends/NetworkManagerDebian.c,
13806           src/backends/NetworkManagerRedHat.c,
13807           src/backends/NetworkManagerSlackware.c: Add stub function
13808           nm_system_device_get_disabled() that always returns FALSE (enabled).
13809         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13810           SUSE-specific configuration structure.  Fill it in from the
13811           NM_CONTROLLED variable in the system networking scripts.  If this var
13812           exists and is "no", we ignore the device.
13813
13814 2006-01-17  Robert Love  <rml@novell.com>
13815
13816         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13817           identical for NM.  For a full discussion, see the thread at
13818           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13819
13820 2006-01-17  Dan Williams  <dcbw@redhat.com>
13821
13822         * src/nm-device.c
13823                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13824                         function.  Fixes crash when wired DHCP fails.
13825
13826 2006-01-16  Robert Love  <rml@novell.com>
13827
13828         * src/Makefile.am: Don't install NMLoadModules
13829         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13830           from src/ to test/ as no one uses it anymore.  Note that I would be
13831           fine with removing it altogether.
13832
13833 2006-01-16  Robert Love  <rml@novell.com>
13834
13835         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13836           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13837           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13838           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13839           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13840           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13841           declarations, ever.
13842         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13843           NM_STATE_DISCONNECTED is zero).
13844
13845 2006-01-16  Robert Love  <rml@novell.com>
13846
13847         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13848           uninitialized parameter and buffer overflow.  Novell #143496.
13849
13850 2006-01-16  Dan Williams  <dcbw@redhat.com>
13851
13852         Apply the PtP Address bits of a patch from Tim Niemueller
13853
13854         * src/nm-ip4-config.[ch]
13855                 - Add ip4_ptp_address member to object
13856                 - (nm_ip4_config_copy): copy ptp address too
13857                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13858                         new functions
13859                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13860                         rather than local tunnel ip address
13861
13862         * src/vpn-manager/nm-vpn-service.c
13863                 - (print_vpn_config): update for PtP address
13864                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13865                         DBusMessageIters in preparation for getting routes from the VPN
13866                         service daemons too
13867
13868         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13869                 - (send_config_info): update for PtP address, clean up code
13870                 - (main): update for PtP address, clean up code, fix typo
13871
13872         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13873                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13874
13875         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13876                 - (pptp_ip_up): update for PtP address
13877
13878         * vpn-daemons/pptp/src/nm-pptp-service.c
13879                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13880
13881         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13882                 - (print_vpn_config): update for PtP address
13883                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13884
13885 2006-01-16  Dan Williams  <dcbw@redhat.com>
13886
13887         * gnome/applet/applet.c
13888                 - (nmwa_add_networks_helper): don't indicate an active network
13889                         if NM is disconnected or asleep
13890
13891 2006-01-16  Dan Williams  <dcbw@redhat.com>
13892
13893         * src/NetworkManagerPolicy.c
13894                 - (nm_policy_device_change_check): switch devices if we lose the link
13895                         on an ethernet device. 
13896
13897 2006-01-16  Dan Williams  <dcbw@redhat.com>
13898
13899         * gnome/applet/wso-wpa-psk-hex.[ch]
13900                 - Renamed -> wso-wpa-psk.[ch]
13901
13902         * gnome/applet/wso-wpa-psk.[ch]
13903                 - New files
13904
13905         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13906                 - Removed, rolled into wso-wpa-psk.[ch]
13907
13908         * gnome/applet/Makefile.am
13909                 - Updated for above changes
13910
13911         * gnome/applet/wireless-applet.glade
13912                 - Consolidate WPA-PSK options into one notebook
13913                         widget, and make dialogs invisible by default
13914                         to fix screen oddities
13915
13916         * gnome/applet/wireless-security-manager.c
13917                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13918                         than both the old hex & passphrase ones
13919
13920 2006-01-16  Dan Williams  <dcbw@redhat.com>
13921
13922         * gnome/applet/other-network-dialog.c
13923                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13924
13925 2006-01-16  Dan Williams  <dcbw@redhat.com>
13926
13927         * gnome/applet/applet.c
13928                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13929                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13930                         prevention to realize window before trying to get server
13931                         time
13932
13933         * gnome/applet/other-network-dialog.c
13934                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13935                         prevention to realize window before trying to get server
13936                         time
13937
13938         * gnome/applet/passphrase-dialog.c
13939                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13940                         prevention to realize window before trying to get server
13941                         time
13942
13943 2006-01-16  Robert Love  <rml@novell.com>
13944
13945         Patch from Timo Hoenig  <thoenig@suse.de:
13946         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13947           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13948           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13949           libnm-util/dbus-helpers.h: add checks whether headers are used
13950           within a C++ build.
13951
13952 2006-01-16  Dan Williams  <dcbw@redhat.com>
13953
13954         * gnome/applet/wireless-security-option.c
13955                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13956
13957 2006-01-16  Dan Williams  <dcbw@redhat.com>
13958
13959         * libnm-util/cipher-wpa-psk-passphrase.c
13960                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13961                         be 8 - 63 characters inclusive
13962
13963 2006-01-16  Dan Williams  <dcbw@redhat.com>
13964
13965         * src/nm-dbus-nm.c
13966                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13967
13968 2006-01-13  Robert Love  <rml@novell.com>
13969
13970         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13971         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13972           modules that do not use an interface.
13973
13974 2006-01-13  Dan Williams  <dcbw@redhat.com>
13975
13976         * src/nm-device.c
13977           src/nm-device.h
13978                 - Allow subclasses to implement deactivate_quickly()
13979                 - (nm_device_deactivate_quickly): call subclass
13980                         deactivate_quickly() methods
13981                 - (nm_device_set_active_link): small cleanups, and don't
13982                         deactivate the device right away because we risk a deadlock
13983                         when called from device thread, waiting for the device
13984                         thread to cancel activation
13985
13986         * src/nm-device-802-11-wireless.c
13987                 - (real_deactivate_quickly): new function
13988                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13989                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13990                         so that we kill the supplicant when we sleep too
13991                 - (supplicant_interface_init): work around naive naming attempts of
13992                         wpa_ctrl when naming sockets
13993
13994 2006-01-13  Dan Williams  <dcbw@redhat.com>
13995
13996         * src/nm-device-802-11-wireless.c
13997                 - (supplicant_cleanup): delete old device control sockets too
13998                 - (supplicant_get_device_socket_path): new function to consolidate
13999                         locations that need a path to a device's control socket
14000
14001 2006-01-12  Robert Love  <rml@novell.com>
14002
14003         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14004           description so that the description is unique for each
14005           pair (device,provider).  Fixes Novell #142773.
14006
14007 2006-01-12  Dan Williams  <dcbw@redhat.com>
14008
14009         * src/nm-device-802-11-wireless.c
14010                 - (supplicant_exec): ensure GError is correctly initialized
14011                         Reported by Diego González (gnome.org #326708)
14012
14013 2006-01-11  Robert Love  <rml@novell.com>
14014
14015         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14016           define if_mii(), open code the same results, and do so without any
14017           type punning.
14018
14019 2006-01-11  Robert Love  <rml@novell.com>
14020
14021         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14022           that wso_foo_new() returned non-NULL.  Instead, only append the new
14023           wso to wsm->options if the wso is non-NULL.  The crux is that we
14024           assume that the relevant key types are implied by WEP and WPA as
14025           appropriate.  To be sure, they should be, but we should not expect
14026           drivers to not be oozing piles of wolf fecal matter.
14027
14028 2006-01-11  Robert Love  <rml@novell.com>
14029
14030         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14031         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14032           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14033           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14034           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14035           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14036           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14037         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14038           comparing values within DBL_EPSILON.  Also fix shadowed variable
14039           usage.
14040
14041 2006-01-11  Dan Williams  <dcbw@redhat.com>
14042
14043         Add options for WPA2 and WPA1+CCMP (AES).
14044
14045         * gnome/applet/wireless-applet.glade
14046                 - Add UI bits for WPA+CCMP
14047
14048         * gnome/applet/other-network-dialog.c
14049                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14050                         and don't allow creation of WPA2 Ad-Hoc networks since
14051                         wpa_supplicant doesn't support them
14052
14053         * gnome/applet/wireless-security-manager.c
14054                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14055                         on to the specific wireless security option being created
14056
14057         * gnome/applet/wireless-security-option.[ch]
14058                 - (wso_wpa_create_key_type_model): new utility function to create
14059                         the model required for WPA Key Type combo box
14060
14061         * gnome/applet/wso-private.h
14062           gnome/applet/wireless-security-option.h
14063                 - Move private function prototypes into wso-private.h
14064
14065         * gnome/applet/wso-wpa-psk-hex.[ch]
14066           gnome/applet/wso-wpa-psk-passphrase.[ch]
14067                 - (append_dbus_params_func): get WPA version from checkbox and pass
14068                         it to the dbus serialization helper
14069                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14070                         key type combo changes
14071                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14072                         model and options
14073
14074         * libnm-util/cipher-wpa-psk-hex.c
14075           libnm-util/cipher-wpa-psk-passphrase.c
14076                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14077                         new function; allow the cipher to be changed after object creation
14078
14079         * src/nm-ap-security-wpa-psk.c
14080                 - (set_description): Do WPA2 descriptions too
14081
14082         * src/nm-ap-security.c
14083                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14084
14085 2006-01-11  Robert Love  <rml@novell.com>
14086
14087         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14088           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14089           from the ifreq structure in lieu of an open coded solution.  Removes
14090           a life-threatening type-punning.
14091         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14092           types, ever, whatsoever, baby.
14093
14094 2006-01-11  Robert Love  <rml@novell.com>
14095
14096         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14097           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14098           assignments to applet->nm_state into a new nmwa_set_state() function
14099           for both cleanliness and to help debugging.
14100
14101 2006-01-10  Robert Love  <rml@novell.com>
14102
14103         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14104           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14105           seconds, exclusive.  That is, we want to sleep x seconds such that
14106           1 < x < 2.
14107
14108 2006-01-10  Robert Love  <rml@novell.com>
14109
14110         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14111           the attr fields according to the example in the email available at
14112           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14113           Conversely, we do have to free 'name', so we do so, fixing a leak.
14114
14115 2006-01-10  Robert Love  <rml@novell.com>
14116
14117         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14118           sure that we close the socket!
14119
14120 2006-01-10  Robert Love  <rml@novell.com>
14121
14122         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14123           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14124           src/nm-device.c: Fix a FIXME!  Reimplement the function
14125           nm_device_update_hw_address() in device subclass variants,
14126           nm_device_802_3_ethernet_set_address() and
14127           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14128           This fixes the existing bug where MAC addresses are all zeros.
14129
14130 2006-01-10  Robert Love  <rml@novell.com>
14131
14132         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14133           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14134           option to give users ability to globally disconnect and put NM to
14135           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14136           clean disconnect.
14137
14138 2006-01-09  Robert Love  <rml@novell.com>
14139
14140         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14141           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14142           User-space does not supply these types, so we have to define them
14143           ourselves.  The relevant kernel maintainer refused to accept a patch
14144           switching these headers to the proper C99 types.
14145
14146 2006-01-09  Dan Williams  <dcbw@redhat.com>
14147
14148         Apply Robert's 'tray icon redo' patch with fixes
14149         * gnome/applet/applet.c
14150           gnome/applet/applet.h
14151                 - Instead of using a menu bar + menu item, simulate menu
14152                         behavior using a popup menu.  Highlight the area around
14153                         the icon more like a menu too, by playing with the
14154                         applet's size requisition
14155
14156 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14157         * libnm-util/dbus-helpers.c
14158           libnm-util/dbus-helpers.h
14159                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14160                         to 'exception_namespace' (:namespace is a keyword in
14161                         C++)
14162
14163 2006-01-09  Dan Williams  <dcbw@redhat.com>
14164
14165         * src/NetworkManagerPolicy.c
14166                 - (nm_policy_device_change_check): don't autoswitch away from
14167                         Ad-Hoc networks, since there's really no concept of
14168                         "link"
14169
14170         * src/nm-dbus-nm.c
14171                 - (nm_dbus_nm_create_wireless_network): mark created networks
14172                         as Ad-Hoc networks
14173
14174         * src/nm-device-802-11-wireless.c
14175                 - (real_activation_success_handler): add user-created Ad-Hoc
14176                         networks to the device's scan list
14177
14178 2006-01-08  Dan Williams  <dcbw@redhat.com>
14179
14180         We now require a patch for wpa_supplicant to support Ad-Hoc
14181         networks:
14182           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14183
14184         * src/nm-device-802-11-wireless.c
14185                 - (supplicant_send_network_config): turn off wpa_supplicant's
14186                         scanning.  Fixes Ad-Hoc networks.
14187
14188 2006-01-08  Dan Williams  <dcbw@redhat.com>
14189
14190         * src/nm-ap-security.c
14191           src/nm-ap-security.h
14192                 - Add a user_created argument to the write_supplicant_config
14193                         functions
14194
14195         * src/nm-ap-security-wep.c
14196           src/nm-ap-security-wpa-psk.c
14197           src/nm-device-802-11-wireless.c
14198                 - Make Ad-Hoc mode somewhat work, at least write the
14199                         correct options to wpa_supplicant
14200
14201 2006-01-08  Dan Williams  <dcbw@redhat.com>
14202
14203         * src/nm-device-802-11-wireless.c
14204                 - Remove unused code from the old device activation path
14205
14206 2006-01-08  Dan Williams  <dcbw@redhat.com>
14207
14208         * libnm-util/dbus-helpers.c
14209                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14210                         dbus when key == NULL
14211
14212 2006-01-08  Dan Williams  <dcbw@redhat.com>
14213
14214         * gnome/applet/nm-gconf-wso-wpa-psk.c
14215                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14216                         correct arguments to nmu_security_deserialize_wpa_psk()
14217
14218         * src/nm-ap-security-wpa-psk.c
14219                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14220                         arguments to nmu_security_deserialize_wpa_psk()
14221
14222 2006-01-08  Dan Williams  <dcbw@redhat.com>
14223
14224         * gnome/applet/wso-wpa-psk-hex.c
14225           gnome/applet/wso-wpa-psk-passphrase.c
14226                 - Hook up the append_dbus_params_func() function
14227
14228 2006-01-08  Dan Williams  <dcbw@redhat.com>
14229
14230         * src/nm-device-802-11-wireless.c
14231                 - (get_wireless_capabilities): correctly detect driver WPA
14232                         capabilities
14233
14234 2006-01-08  Dan Williams  <dcbw@redhat.com>
14235
14236         * gnome/applet/Makefile.am
14237           gnome/applet/wso-wpa-psk-hex.c
14238           gnome/applet/wso-wpa-psk-hex.h
14239                 - New files, implement WPA-PSK Hex key input
14240
14241         * gnome/applet/wireless-applet.glade
14242                 - Change existing wpa-psk stuff to wpa-psk-hex
14243                 - Add new widgets for wpa-psk-passphrase
14244
14245         * gnome/applet/wireless-security-manager.c
14246                 - (wsm_set_capabilities): enable WPA options
14247
14248         * gnome/applet/wso-wpa-psk-passphrase.c
14249                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14250                         for WPA-PSK passphrase
14251
14252 2006-01-08  Dan Williams  <dcbw@redhat.com>
14253
14254         * include/NetworkManager.h
14255                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14256                         applet/info-daemons
14257
14258         * gnome/applet/passphrase-dialog.c
14259                 - Use the constant.  Fixes a bug where the arguments to
14260                         dbus_message_new_error() were incorrect
14261
14262         * src/nm-dbus-nmi.c
14263                 - Use the constant
14264
14265 2006-01-07  Dan Williams  <dcbw@redhat.com>
14266
14267         * src/nm-device-802-11-wireless.c
14268                 - Add a link timeout so we allow the supplicant time to
14269                         reassociate if it can, before we deactivate the card
14270                 - Fix up link status and link updating so things work better
14271
14272 2006-01-07  Dan Williams  <dcbw@redhat.com>
14273
14274         * src/nm-device-802-11-wireless.c
14275                 - Switch over to using wpa_supplicant
14276                 - Add a timeout of 10s for association of the supplicant
14277                 - Start the monitor callback of the supplicant
14278
14279 2006-01-07  Dan Williams  <dcbw@redhat.com>
14280
14281         * src/NetworkManagerUtils.c
14282                 - (nm_utils_supplicant_request,
14283                   nm_utils_supplicant_request_with_check):
14284                         pass correct buffer length to wpa_ctrl_request()
14285
14286 2006-01-07  Dan Williams  <dcbw@redhat.com>
14287
14288         * src/nm-device-private.h
14289           src/nm-device.c
14290                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14291                         this function available to subclasses
14292
14293 2006-01-06  Robert Love  <rml@novell.com>
14294
14295         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14296           user plugging in a network cable signals their preference for to
14297           switch, unless the user explicitly selected a wireless network and
14298           therefore signaled their preference for said wireless network over
14299           wired.  In other words, do exactly what makes sense.
14300
14301 2006-01-06  Robert Love  <rml@novell.com>
14302
14303         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14304           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14305           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14306           showing up in my greps.
14307
14308 2006-01-06  Robert Love  <rml@novell.com>
14309
14310         * gnome/applet/applet-dbus-devices.c,
14311           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14312           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14313           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14314           New Network' both failed in the non-encrypted case because we were
14315           not appending the security options to the DBUS message.  And
14316           'Connect to Other' was also failing in the encrypted case because
14317           we were not incrementing to the next DBUS parameter.  All fixed.
14318           Thanks to dcdw for some debugging help.
14319
14320 2006-01-06  Robert Love  <rml@novell.com>
14321
14322         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14323           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14324           hangup code and add per-device hangup.  Tie last commit into the
14325           GNOME applet.  TODO:  Save, understand, and respond to the state of
14326           each dialup device.
14327
14328 2006-01-06  Robert Love  <rml@novell.com>
14329
14330         Patch by Timo Hoenig <thoenig@suse.de>:
14331         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14332           hangup specific dialup devices.
14333         * src/backends/NetworkManagerDebian.c,
14334           src/backends/NetworkManagerGentoo.c,
14335           src/backends/NetworkManagerRedHat.c,
14336           src/backends/NetworkManagerSlackware.c: Add stub backend.
14337         * src/backends/NetworkManagerRedHat.c,
14338           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14339           hangup specific dialup devices.
14340
14341 2006-01-04  Robert Love  <rml@novell.com>
14342
14343         * gnome/applet/applet-dbus-devices.c,
14344           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14345           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14346           connections.
14347
14348 2006-01-04  Dan Williams  <dcbw@redhat.com>
14349
14350         First dump of wpa_supplicant-related code.  It's not hooked up to
14351         anything yet though.  Thanks to Kay Sievers for
14352         wpa_supplicant_wrapper.c, which formed the basis for this work,
14353         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14354
14355         * src/Makefile.am
14356           src/wpa_ctrl.[ch]
14357                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14358
14359         * src/NetworkManagerUtils.[ch]
14360                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14361                         Add convenience functions for talking to wpa_supplicant
14362
14363         * src/nm-ap-security.[ch]
14364           src/nm-ap-security-wep.c
14365           src/nm-ap-security-wpa-psk.[ch]
14366                 - Update and implement real_write_supplicant_config functions
14367                         in all security types
14368                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14369                         nm-ap-security-wpa-psk.c
14370
14371         * src/nm-device-802-11-wireless.c
14372                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14373                    wpa_supplicant_start, wpa_supplicant_interface_init,
14374                    wpa_supplicant_send_network_config): add functions to talk to
14375                         wpa_supplicant and write network config to it
14376
14377 2006-01-04  Robert Love  <rml@novell.com>
14378
14379         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14380           values so that distribution-backends can differentiate between the
14381           various types (modem, ISDN, et cetera) of dialup device that they
14382           support.
14383         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14384           needed.
14385
14386 2006-01-03  Dan Williams  <dcbw@redhat.com>
14387
14388         * src/NetworkManagerPolicy.c
14389           src/nm-device.[ch]
14390           src/nm-device-802-11-wireless.c
14391                 - Move wireless-specific activation failure and success code
14392                         into wireless device class
14393
14394 2006-01-03  Robert Love  <rml@novell.com>
14395
14396         Patch by Preggna S:
14397         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14398           IPsec does not require that a VPN client be bound to an interface,
14399           due to the use of the in-kernel IPSec bits.  So make the tunnel
14400           device optional.
14401
14402 2006-01-03  Dan Williams  <dcbw@redhat.com>
14403
14404         * src/NetworkManagerAP.c
14405                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14406                         the WPA IE specifies that WEP is supported
14407
14408         * src/nm-device-802-11-wireless.c
14409                 - (process_scan_results): don't mark an AP as supporting WEP
14410                         if there's already other encryption capability info
14411
14412 2006-01-03  Dan Williams  <dcbw@redhat.com>
14413
14414         * src/dhcp-manager/nm-dhcp-manager.c
14415                 - Recognize activation cancellation when waiting for DHCP
14416                         configuration from dhcdbd
14417                 - Ignore non-dhcdbd messages
14418
14419         * src/nm-device.c
14420                 - (real_act_stage3_ip_config_start): return to correct behavior
14421                         of letting the dhcp-manager notify us of failure or
14422                         success rather than incorrectly doing that ourselves
14423                 - (nm_device_activate_stage4_ip_config_get): deal with
14424                         activation cancellation a bit earlier
14425
14426 2006-01-03  Dan Williams  <dcbw@redhat.com>
14427
14428         * src/nm-device-802-11-wireless.c
14429           src/nm-device.[ch]
14430                 - Add hooks to subclasses for stage3_ip_config_start and
14431                         stage4_ip_config_timeout
14432
14433         * src/nm-device-802-3-ethernet.c
14434                 - (real_get_generic_capabilities): make devices NM-supported
14435                         by default
14436
14437 2006-01-03  Robert Love  <rml@novell.com>
14438
14439         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14440           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14441           latter cannot differentiate between error and the address -1; misc.
14442           clean up.
14443
14444 2006-01-03  Dan Williams  <dcbw@redhat.com>
14445
14446         * src/NetworkManager.c
14447                 - Move link-checking/probing into the device subclasses
14448                         themselves
14449
14450         * src/nm-device.[ch]
14451           src/nm-device-802-11-wireless.c
14452           src/nm-device-802-3-ethernet.c
14453                 - Do periodic link checking in device subclasses rather
14454                         than being triggered from NetworkManager.c
14455                 - discover_wireless_capabilities -> get_wireless_capabilities
14456                 - discover_generic_capabilities -> get_generic_capabilities
14457                 - Device subclass activation routines now return a value of type
14458                         NMActStageReturn to indicate what step to perform next
14459                 - Devices now override stage4_get_ip4_config if they choose
14460
14461 2006-01-01  Dan Williams  <dcbw@redhat.com>
14462
14463         * src/nm-device-802-11-wireless.c
14464                 - (real_init): don't chain up to parent init because we don't
14465                         need to do that anymore
14466
14467         * src/nm-device.c
14468                 - (discover_device_type): fix arguments to ioctl() to correctly
14469                         pass interface name
14470                 - (nm_device_new): consolidate generic device initialization into
14471                         nm_device_new()
14472                 - (real_init): remove, consolidated to nm_device_new()
14473                 - (nm_device_deactivate, real_deactivate): consolidate
14474
14475 2006-01-01  Dan Williams  <dcbw@redhat.com>
14476
14477         * src/nm-activation-request.c
14478                 - Change dhcp_state member of the NMActRequest structure
14479                         from guint8 to guint32
14480
14481         * src/dhcp-manager/nm-dhcp-manager.[ch]
14482                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14483                         than guint8 to match the dbus argument.  Turns out we were
14484                         overwriting memory since we were passing in only a guint8
14485
14486 2005-12-31  Dan Williams  <dcbw@redhat.com>
14487
14488         * refactor NMDevice into a GObject-based framework with separate
14489                 objects for wired and wireless.  The following files are no
14490                 longer used but should stick around for a bit so we don't
14491                 loose code through the cracks:
14492                         NetworkManagerDevice.c
14493                         NetworkManagerDevice.h
14494                         NetworkManagerWireless.c
14495                         NetworkManagerWireless.h
14496
14497         The intent here is to allow each device type to manage its own
14498         connection & activation life-cycle, ie to allow wireless devices
14499         to interface with wpa_supplicant, etc.  There's a fair bit of
14500         encapsulation breakage right now that should gradually get pulled
14501         back into each device, along with things like periodic property
14502         updates and link probing.
14503
14504 2005-12-29  Dan Williams  <dcbw@redhat.com>
14505
14506         * include/NetworkManager.h
14507                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14508                         between networks that don't have any encryption at all
14509
14510 2005-12-29  Dan Williams  <dcbw@redhat.com>
14511
14512         * test/test-common.c
14513           test/test-common.h
14514           test/Makefile.am
14515                 - Move to a test-common subdirectory
14516
14517         * test/libnm-util/test-ciphers.c
14518                 - Move test data to test-inputs.h
14519                 - Test WPA ciphers too
14520
14521         * test/libnm-util/test-dbus-helpers.c
14522                 - Test serialization/deserialization of ciphers
14523
14524 2005-12-29  Dan Williams  <dcbw@redhat.com>
14525
14526         * gnome/applet/applet-dbus-devices.c
14527                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14528                         in dbus calls to NM
14529                 - Set capabilities on WirelessNetwork objects
14530                 - Receive and save type-specific device capabilities too
14531
14532         * gnome/applet/applet-dbus-info.c
14533           gnome/applet/applet-dbus.c
14534                 - Passphrase dialog no longer a singleton; new instance gets created
14535                         on each request.  Updates to deal with that.
14536
14537         * gnome/applet/applet.c
14538                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14539                         than single 'encrypted' flag
14540                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14541                         menu items
14542                 - Passphrase dialog updates per above
14543
14544         * gnome/applet/menu-items.c
14545                 - (network_menu_item_update): use AP capabilities to determine
14546                         encryption
14547
14548         * gnome/applet/nm-device.[ch]
14549                 - Add accessors for type-specific device capabilities
14550
14551         * gnome/applet/other-network-dialog.c
14552                 - Rework to respect device capabilities.  i.e., if the device doesn't
14553                         support WPA, remove that option from the security dropdown
14554
14555         * gnome/applet/passphrase-dialog.c
14556                 - Massive rework so that a new instance is created each time
14557                         it's used, to support wireless network capabilities
14558
14559         * gnome/applet/wireless-network.[ch]
14560                 - Add accessors and members for wireless network capabilities
14561
14562         * gnome/applet/wireless-security-manager.[ch]
14563                 - (wsm_set_capabilities): called after creation to set which
14564                         security options get shown to the user
14565
14566 2005-12-29  Dan Williams  <dcbw@redhat.com>
14567
14568         * libnm-util/cipher-wpa-psk-passphrase.c
14569                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14570                         like other ciphers
14571
14572 2005-12-23  Dan Williams  <dcbw@redhat.com>
14573
14574         * gnome/applet/applet-dbus-info.c
14575                 - (nmi_dbus_get_key_for_network): if there's no entry in
14576                         GConf for a network, assume we want a new key
14577                 - (nmi_save_network_info): serialize wireless security info
14578                         into GConf so its saved
14579
14580         * src/nm-dbus-nm.c
14581                 - Fix warning as we may not be passed security info when
14582                         connecting to a wireless network
14583
14584 2005-12-23  Dan Williams  <dcbw@redhat.com>
14585
14586         * gnome/applet/applet-compat.c
14587                 - Fix bugs in GConf entry conversion
14588
14589         * gnome/applet/applet-dbus-info.c
14590                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14591                         list being zero-length
14592
14593         * libnm-util/cipher-*
14594           libnm-util/dbus-helpers.c
14595                 - All ciphers must now return hashed keys as UTF-8 valid
14596                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14597                         through dbus as strings too.
14598                 - Consolidate various functions that do bin->hex and hex->bin
14599                         conversion into cipher.c
14600
14601         * src/nm-ap-security-wep.c
14602           src/nm-ap-security-wpa-psk.c
14603                 - Handle NULL keys since we may not know keys right away
14604
14605         * src/nm-dbus-nmi.c
14606                 - (nm_dbus_get_network_data_cb): actually advance to the start
14607                         of the wireless security info before we try to deserialize it
14608
14609         * libnm-util/test-ciphers.c
14610                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14611
14612 2005-12-22  Dan Williams  <dcbw@redhat.com>
14613
14614         * gnome/applet/applet-compat.[ch]
14615                 - Convert old-format GConf and keyring entries
14616                         when the applet starts up.
14617
14618         * gnome/applet/applet.c
14619                 - (nmwa_get_instance): Call the conversion function
14620                         on startup before dbus is initialized
14621
14622 2005-12-22  Dan Williams  <dcbw@redhat.com>
14623
14624         * gnome/applet/applet-dbus-info.c
14625                 - Remove nmi_dbus_create_error_message() in favor of
14626                         nmu_create_dbus_error_message()
14627                 - (nmi_dbus_get_network_properties): Error message cleanups
14628                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14629                         gconf key rather than 'addresses', since they really are BSSIDs
14630                 - (nmi_dbus_get_network_properties): Dispose of the security
14631                         object when we're done with it
14632
14633 2005-12-21  Dan Williams  <dcbw@redhat.com>
14634
14635         * Consolidate the info-daemon's "updateNetworkInfo" and
14636                 "addNetworkAddress" calls into just "updateNetworkInfo"
14637
14638 2005-12-21  Dan Williams  <dcbw@redhat.com>
14639
14640         * Make connection after key retrieval work again
14641
14642 2005-12-21  Dan Williams  <dcbw@redhat.com>
14643
14644         * gnome/applet/nm-gconf-wso*
14645                 - Make the serialize functions return gboolean
14646                         rather than int
14647
14648         * gnome/applet/nm-gconf-wso.c
14649                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14650                         parent class handling so we don't segfault
14651
14652         * src/NetworkManagerAP.[ch]
14653                 - (nm_ap_get_capabilities): new function, return capabilities
14654                         now that something can use them
14655                 - (nm_ap_set_encrypted): assume that an access point supports
14656                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14657                         we even tell whether it just supports WEP40?
14658
14659         * src/NetworkManagerDevice.c
14660                 - (ap_need_key): resurrect and update for the New World Order
14661                 - (nm_device_wireless_get_activation_ap): if we're not given
14662                         security info to use, create some based on access point
14663                         capabilities
14664
14665         * src/nm-ap-security-wep.c
14666                 - (nm_ap_security_wep_new_from_ap): create a new object
14667                         based on a certain access point's capabilities
14668
14669         * src/nm-ap-security.c
14670                 - (nm_ap_security_new_from_ap): delegate creation of a new
14671                         object based on access point capabilities to a subclass
14672                 - (nm_ap_security_copy_properties): don't segfault if we
14673                         don't have a key yet
14674
14675         * src/nm-dbus-nm.c
14676                 - (nm_dbus_nm_set_active_device): provide more informative
14677                         output when errors occur.  Also construct security info
14678                         for a given access point if we weren't given any
14679
14680 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14681
14682         * configure.in: Added Lithuanian to ALL_LINGUAS.
14683
14684 2005-12-21  Dan Williams  <dcbw@redhat.com>
14685
14686         * test/libnm-util
14687                 - Add some testcases for WEP ciphers
14688
14689 2005-12-17  Dan Williams  <dcbw@redhat.com>
14690
14691         * Fix bugs
14692
14693 2005-12-17  Dan Williams  <dcbw@redhat.com>
14694
14695         * include/NetworkManager.h
14696                 - Finally kill NMEncKeyType
14697
14698         * gnome/applet/applet-dbus-info.c
14699                 - (nmi_save_network_info): convert to NMGConfWSO
14700
14701         * gnome/applet/nm-gconf-wso-*.c
14702                 - Implement gconf serialization functions
14703
14704         * src/NetworkManagerPolicy.c
14705                 - (nm_policy_activation_finish): fix up meaning of
14706                         automatic/user_requested
14707
14708 2005-12-17  Dan Williams  <dcbw@redhat.com>
14709
14710         * gnome/applet/*
14711                 - More applet cleanups
14712                 - Use the dbus-method-dispatcher
14713
14714         * libnm-util/dbus-method-dispatcher.[ch]
14715                 - Generalize the implementation from NM in
14716                         NetworkManagerUtils.c
14717
14718 2005-12-16  Dan Williams  <dcbw@redhat.com>
14719
14720         * gnome/applet/*
14721                 - Fix up the passphrase dialog to use all the
14722                         WirelessSecurityOption stuff (untested)
14723
14724 2005-12-16  Dan Williams  <dcbw@redhat.com>
14725
14726         * Move nm_gconf_get_*_helper() functions to separate files,
14727                 gconf-helpers.c & gconf-helpers.h
14728
14729         * New NMGConfWSO objects for managing the gconf side of things.
14730                 Eventually these should be merged with the
14731                 WirelessSecurityOption objects and a common base (that can
14732                 serialize/deserialize from dbus & gconf) should be
14733                 refactored out, but for now they are separate.
14734
14735 2005-12-16  Robert Love  <rml@novell.com>
14736
14737         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14738           binaries unless they exist (nm_spawn_process() emits a warning if
14739           asked to spawn a non-existant process).
14740
14741 2005-12-16  Dan Williams  <dcbw@redhat.com>
14742
14743         * gnome/applet/applet-dbus-info.c
14744                 - Clean up lots of gconf-related code
14745
14746 2005-12-16  Robert Love  <rml@novell.com>
14747
14748         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14749
14750 2005-12-16  Dan Williams  <dcbw@redhat.com>
14751
14752         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14753
14754         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14755                 bits still to be done)
14756
14757 2005-12-16  Dan Williams  <dcbw@redhat.com>
14758
14759         * Finally move info-daemon related stuff out of
14760                 NetworkManagerDbus.c to nm-dbus-nmi.c
14761
14762 2005-12-16  Dan Williams  <dcbw@redhat.com>
14763
14764         * Kill auth_method for access points, since that's now done
14765                 by NMAPSecurity objects
14766
14767         * Add a copy-constructor of sorts to NMAPSecurity
14768                 (how do you do this properly in glib???)
14769
14770 2005-12-15  Dan Williams  <dcbw@redhat.com>
14771
14772         * Exorcise encryption key hashing on APs
14773         * Use libnm-util's serialization/deserialization in both the
14774                 applet and NM
14775         * Random other stuff
14776
14777 2005-12-15  Robert Love  <rml@novell.com>
14778
14779         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14780           is being added to the icon naming spec, so let's use that (Tango CVS
14781           has the icon).  Because it is new, however, we fall back to the
14782           current "gnome-lockscreen" if the new icon is not around, thus
14783           behavior is the same.
14784         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14785           factory junk.
14786
14787 2005-12-15  Robert Love  <rml@novell.com>
14788
14789         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14790           well, help to give.  Couple other misc. bits.
14791
14792 2005-12-15  Dan Williams  <dcbw@redhat.com>
14793
14794         * libnm-util/dbus-helpers.[ch]
14795                 - Make this the one-stop-shop for serializing/deserializing
14796                         AP & connection security settings over dbus.  Both NM
14797                         and applets should use this to ensure consistent dbus
14798                         API going forwared.
14799
14800 2005-12-15  Robert Love  <rml@novell.com>
14801
14802         Patch by Timo Hoenig  <thoenig@suse.de>:
14803         * src/NetworkManagerDbus.c
14804                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14805                         if HAL jumps off the system bus.  Otherwise libdbus
14806                         (dbus_connection_dispatch) will try to run the filter
14807                         function of our libhal context which is already freed.
14808
14809 2005-12-15  Alexander Shopov  <ash@contact.bg>
14810
14811         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14812
14813 2005-12-14  Dan Williams  <dcbw@redhat.com>
14814
14815         * include/NetworkManager.h
14816           src/NetworkManagerWireless.c
14817                 - Rearrange 802.11 wireless-specific capabilities again
14818
14819         * src/Makefile.am
14820                 - Forgot to add wpa.c/wpa.h to the makefiles
14821
14822         * src/NetworkManagerAP.[ch]
14823                 - Implement access point capabilities and parse the
14824                         WPA/RSN IEs into the capability bitfield
14825                 - Switch the "encrypted" attribute to utilize the bitfield
14826                         and capabilities rather than being independent
14827
14828         * src/NetworkManagerDevice.c
14829                 - (nm_device_wireless_get_activation_ap): break it horribly
14830                         until we can push NMAPSecurity objects into access point
14831                         objects and through the activation chain
14832                 - Stuff WPA & RSN IEs into AP capabilities
14833
14834         * src/nm-dbus-nm.c
14835                 - Take a shot at actually making setActiveDevice work
14836
14837         * src/wpa.[ch]
14838                 - Make the API a bit saner
14839
14840 2005-12-14  Dan Williams  <dcbw@redhat.com>
14841
14842         * include/NetworkManager.h
14843                 - Add 802.11-specific capability for 802.1x key
14844                         management
14845
14846         * src/wpa.[ch]
14847                 - Pull in WPA IE and RSN IE parsing code from
14848                         wpa_supplicant so we can determine access point
14849                         capabilities
14850                 - Move WPA-related constants here from NetworkManagerAP.h
14851                         and NetworkManagerDevice.c
14852
14853         * src/NetworkManagerDevice.c
14854           src/NetworkManagerAP.[ch]
14855                 - Use WPA-related constants from wpa.h
14856
14857 2005-12-14  Dan Williams  <dcbw@redhat.com>
14858
14859         * include/NetworkManager.h
14860                 - Update and split 802.11 wireless-specific capabilities from
14861                         generic device capabilities
14862
14863         * src/NetworkManagerDevice.c
14864           src/NetworkManagerDevicePrivate.h
14865                 - (nm_device_wireless_discover_capabilities): Move 802.11
14866                         wireless-specific capability checks to
14867                         NetworkManagerWireless.c
14868                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14869                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14870
14871         * src/NetworkManagerWireless.[ch]
14872                 - (nm_802_11_wireless_discover_capabilities): Check extended
14873                         802.11 wireless-specific capabilities of the driver
14874
14875 2005-12-14  Robert Love  <rml@novell.com>
14876
14877         Patch from Stefan Scheler <sscheler@suse.de>:
14878         * src/NetworkManagerDevice.c: call backend code to activate and
14879           deactivate NIS.
14880         * src/NetworkManagerSystem.h: add new NIS interfaces.
14881         * src/backends/NetworkManagerDebian.c,
14882           src/backends/NetworkManagerGentoo.c,
14883           src/backends/NetworkManagerRedHat.c,
14884           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14885           support.
14886         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14887
14888 2005-12-14  Dan Williams  <dcbw@redhat.com>
14889
14890         * src/nm-ap-security*.[ch]
14891                 - Add AP security abstractions to NetworkManager
14892
14893         * src/nm-dbus-device.c
14894                 - Begin to parse new format dbus messages from the applet
14895                         and construct an AP security object from the message
14896
14897         * libnm-util/dbus-helpers.c
14898                 - Use message iters so we can append the key as a fixed
14899                         array of bytes, which actually works rather than
14900                         using dbus_message_append_args() as we were before
14901
14902 2005-12-14  Dan Williams  <dcbw@redhat.com>
14903
14904         * src/NetworkManagerDbus.c
14905           gnome/applet/applet-dbus.c
14906                 - Fix up dbus service replacement options.  The applet
14907                         should allow replacement, NM itself should not.
14908
14909 2005-12-13  Robert Love  <rml@novell.com>
14910
14911         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14912           Instead, fail silently if config is NULL by not asserting and not
14913           returning FALSE.  Also, make sure we always fclose() the file.
14914
14915 2005-12-13  Robert Love  <rml@novell.com>
14916
14917         Patch by Stefan Scheler <sscheler@suse.de>:
14918         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14919            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14920            via DHCP.  Still need the backends to commit the NIS domain name and
14921            and servers to yp.conf as needed.
14922
14923 2005-12-13  Robert Love  <rml@novell.com>
14924
14925         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14926           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14927
14928 2005-12-13  Robert Love  <rml@novell.com>
14929
14930         * src/named-manager/nm-named-manager.c: Don't unref the config until
14931           after we call rewrite_resolv_conf(), because get_last_default_domain()
14932           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14933           `config != NULL' failed" assertion failures and "Could not commit DNS
14934           changes" warnings.
14935
14936 2005-12-12  Dan Williams  <dcbw@redhat.com>
14937
14938         * libnm-util/dbus-helpers.[ch]
14939           libnm-util/Makefile.am
14940                 - new helper calls to consolidate locations where
14941                         NM's setDevice method is called
14942
14943         * gnome/applet/applet-dbus-devices.c
14944           gnome/applet/wireless-security-option.c
14945           gnome/applet/wso-*
14946                 - Implement dbus message param append function for
14947                         all wireless security options
14948
14949 2005-12-12  Robert Love  <rml@novell.com>
14950
14951         * libnm-util/cipher-wep-passphrase.c,
14952           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14953           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14954           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14955           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14956           When handling keys, we don't care what the sign is.  The compiler
14957           guarantees us that we get our 8-bits, which is all we care about.
14958         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14959
14960 2005-12-12  Dan Williams  <dcbw@redhat.com>
14961
14962         * gnome/applet/applet-dbus-devices.[ch]
14963           gnome/applet/applet.c
14964           gnome/applet/other-network-dialog.c
14965           gnome/applet/wireless-security-manager.[ch]
14966           gnome/applet/wireless-security-option.[ch]
14967           gnome/applet/wso-*
14968                 - Push the wireless security options further into the applet
14969
14970 2005-12-12  Robert Love  <rml@novell.com>
14971
14972         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14973           return any name servers.  That is perfectly valid.  (Novell #134369).
14974
14975 2005-12-11  Dan Williams  <dcbw@redhat.com>
14976
14977         * gnome/applet/wso-*
14978           gnome/applet/wireless-security-option.*
14979           gnome/applet/Makefile.am
14980                 - split each security option out so we can eventually
14981                         have each one build up their own dbus message
14982                         arguments to send to NM
14983
14984 2005-12-11  Dan Williams  <dcbw@redhat.com>
14985
14986         * Make validation of the key work correctly
14987
14988 2005-12-11  Dan Williams  <dcbw@redhat.com>
14989
14990         * Hook more bits of the Other Network Dialog up to the
14991                 wireless security manager stuff, and restructure
14992                 bits of the dialog so there's less code.
14993
14994 2005-12-10  Dan Williams  <dcbw@redhat.com>
14995
14996         * gnome/applet/Makefile.am
14997                 - Add libnm-util to includes
14998                 - Add libnm-util to link list
14999                 - Add wireless-security-common.* to compile list
15000
15001         * gnome/applet/other-network-dialog.c
15002                 - Convert to using the WirelessSecurityManager code and
15003                         widgets
15004
15005         * gnome/applet/passphrase-dialog.c
15006                 - Comment out references to stuff in the glade file that
15007                         cause runtime errors until it can be fixed up
15008                         to use the WirelessSecurityManager code
15009
15010         * gnome/applet/wireless-applet.glade
15011                 - Rename some widgets
15012                 - Add widgets for the WirelessSecurityManager code
15013                 - Remove passphrase-related stuff since that's now
15014                         handled by the WirelessSecurityManager code
15015
15016 2005-12-10  Dan Williams  <dcbw@redhat.com>
15017
15018         * gnome/applet/applet-dbus-devices.c
15019                 - Print out error message details for dbus pending call callbacks
15020                 - Move nmwa_dbus_update_devices() up
15021
15022         * gnome/applet/applet-dbus-vpn.c
15023                 - Print out error message details for dbus pending call callbacks
15024
15025 2005-12-10  Dan Williams  <dcbw@redhat.com>
15026
15027         * libnm-util/*
15028                 - More fixups
15029                 - Remove cipher-manager.* because we don't need it
15030                 - Forgot to add gnome-keyring-md5 files to compile list
15031
15032 2005-12-09  Dan Williams  <dcbw@redhat.com>
15033
15034         * libnm-util/*
15035           configure.in
15036           Makefile.am
15037                 - Add a utility library for clients of NetworkManager.  It's
15038                         only targetted at applets for the moment, and contains
15039                         a generalized 802.11 cipher framework for different
15040                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15041
15042 2005-12-09  Robert Love  <rml@novell.com>
15043
15044         * src/NetworkManagerDevice.c: handle error better in
15045           nm_device_set_mode().
15046
15047 2005-12-08  Robert Love  <rml@novell.com>
15048
15049         * include/NetworkManager.h: add WPA capabilities constants
15050         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15051           or WPA2 and add the capabilities bits as appropriate.
15052
15053 2005-12-08  Robert Love  <rml@novell.com>
15054
15055         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15056           NetworkManagerDispatcher.
15057         * configure.in, initscript/SUSE/.cvsignore,
15058           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15059           initscript.
15060
15061 2005-12-08  Robert Love  <rml@novell.com>
15062
15063         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15064
15065 2005-12-08  Robert Love  <rml@novell.com>
15066
15067         * src/NetworkManagerDevice.c: We want to fall back on and default to
15068           IW_MODE_AUTO, not -1, which is more in line with our previous
15069           behavior.  Otherwise, we try to set the wireless mode to -1 in
15070           nm_device_set_mode().
15071
15072 2005-12-07  Robert Love  <rml@novell.com>
15073
15074         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15075           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15076           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15077           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15078           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15079           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15080           zero.
15081
15082 2005-12-07  Robert Love  <rml@novell.com>
15083
15084         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15085           supplied IP is invalid, fall back to DHCP.
15086
15087 2005-12-07  Dan Williams  <dcbw@redhat.com>
15088
15089         * Convert NETWORK_MODE_* constants to IW_MODE_*
15090         * Make all the get_mode/set_mode functions take and return 'int'
15091         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15092
15093 2005-12-07  Robert Love  <rml@novell.com>
15094
15095         * src/NetworkManagerDevice.c: strncpy() buffer check.
15096         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15097
15098 2005-12-06  Dan Williams  <dcbw@redhat.com>
15099
15100         * gnome/applet/applet-dbus.c
15101                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15102
15103         * gnome/applet/applet-dbus-vpn.c
15104                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15105                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15106                         to TRUE here if stage was ACTIVATED
15107
15108 2005-12-06  Dan Williams  <dcbw@redhat.com>
15109
15110         * Change nm_device_is_* functions to better names:
15111                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15112                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15113
15114 2005-12-06  Dan Williams  <dcbw@redhat.com>
15115
15116         * Change naming of NMDeviceType to something more sensible:
15117                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15118                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15119                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15120
15121 2005-12-06  Dan Williams  <dcbw@redhat.com>
15122
15123         * Move NetworkManager.h -> include/NetworkManager.h
15124         * Split out VPN stuff into include/NetworkManagerVPN.h
15125         * Fix up makefiles to include new location
15126         * Fix up sources to include NetworkManagerVPN.h
15127
15128 2005-12-06  Dan Williams  <dcbw@redhat.com>
15129
15130         Various changes in the applet to move VPN connection "state" -> "stage",
15131         which it actually is.  I'd like to change the signal as well when we
15132         break compat in the near future.
15133
15134 2005-12-06  Dan Williams  <dcbw@redhat.com>
15135
15136         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15137         * initscript/Slackware/rc.networkmanager
15138                 - Cosmetic fix
15139
15140         * src/backends/NetworkManagerSlackware.c
15141                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15142                         interfaces
15143
15144 2005-12-05  Robert Love  <rml@novell.com>
15145
15146         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15147           to free, particularly here as it just barfs.
15148
15149 2005-12-05  Dan Williams  <dcbw@redhat.com>
15150
15151         * gnome/applet/applet-dbus.c
15152                 - Work with dbus 0.6 too
15153
15154 2005-12-03  Dan Williams  <dcbw@redhat.com>
15155
15156         * src/NetworkManagerUtils.[ch]
15157           src/nm-ip4-config.c
15158                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15159                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15160
15161 2005-12-01  Robert Love  <rml@novell.com>
15162
15163         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15164           need a NULL for the '...' parameter, too, to fill the so-called
15165           sentinel.
15166
15167 2005-12-01  Robert Love  <rml@novell.com>
15168
15169         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15170           interface is already gone, so don't call rtnl_link_change() to down
15171           it (which will segfault, anyhow).
15172
15173 2005-11-22  Robert Love  <rml@novell.com>
15174
15175         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15176           gateway is not set, just print a little note.  Configurations without
15177           gateways are valid.
15178
15179 2005-11-22  Robert Love  <rml@novell.com>
15180
15181         * README: update
15182
15183 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15184
15185         * configure.in: Added Finnish translation to ALL_LINGUAS
15186
15187 2005-11-14  Robert Love  <rml@novell.com>
15188
15189         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15190           Niemueller <tim@niemueller.de>.
15191
15192 2005-11-08  Dan Williams  <dcbw@redhat.com>
15193
15194         Patch from Bill Moss <bmoss@clemson.edu>
15195         * src/NetworkManagerDevice.c
15196                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15197                         of nm_policy_schedule_activation_finish() to prevent a
15198                         race condition that causes the link to be dropped
15199
15200 2005-11-08  Dan Williams  <dcbw@redhat.com>
15201
15202         Patch from Bill Moss <bmoss@clemson.edu>
15203         * src/NetworkManagerAPList.c
15204           src/NetworkManagerDevice.c
15205           src/NetworkManagerDbus.c
15206                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15207                         we get more readable ether/mac addresses
15208
15209 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15210
15211         * gnome/applet/main.c: Don't set the restart command.  This fixes
15212         the issue where the restart command was getting copies of all its
15213         arguments for each time the applet was restarted.
15214
15215 2005-11-02  Robert Love  <rml@novell.com>
15216
15217         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15218           if the widget state differs from our saved state.  This ensures we
15219           do not enter an endless loop of death and destruction.  Also, this
15220           guarantees us that we enforce the widget state.
15221
15222 2005-11-02  Robert Love  <rml@novell.com>
15223
15224         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15225         * gnome/applet/applet-dbus-devices.c: invoke the new function
15226           nmwa_enable_wireless_set_active() to ensure that the state of the
15227           'Enable Wireless' checkbox matches the daemon's state.  This is a
15228           concern because the daemon remembers the state.
15229
15230 2005-11-02  Robert Love  <rml@novell.com>
15231
15232         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15233           Enabled", as checkboxes should be actions/commands not positive
15234           statements, otherwise they are confusing in the unselected case.  See
15235           examples in GNOME HIG, Chapter 6.
15236
15237 2005-11-02  Robert Love  <rml@novell.com>
15238
15239         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15240           show a list of wireless networks or the wireless devices or the
15241           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15242           a bad bug: If wireless is disabled and the user picks a wireless
15243           network, NM will switch to the network, only to immediately switch
15244           back, as wireless is disabled.  This also reassures people that NM
15245           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15246
15247 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15248
15249         * gnome/applet/applet.c:
15250         * gnome/applet/applet.h:
15251         Partial backout of Dan's timeout animation patch.
15252         Timeout IDs cannot legally be 0, so revert the code in place to handle
15253         a timeout ID of 0 to denote the timeout isn't running.
15254
15255 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15256
15257         * src/NetworkManagerPolicy.c:
15258         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15259
15260 2005-10-28  Robert Love  <rml@novell.com>
15261
15262         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15263           "Import Saved Configuration..." to make it clear that importing is
15264           not the next step, but an option.  As an aside, a nice TODO would be
15265           to move Importing out of the vpn-specific dialog and into the main
15266           property editor, as Importing goes with Adding, but that will require
15267           some rearchitecting of the VPN stuff I suspect.
15268
15269 2005-10-27  Dan Williams  <dcbw@redhat.com>
15270
15271         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15272         we should replace most of the distro-specific backend code
15273         with libnl stuff.
15274
15275         Get it here:  http://people.suug.ch/~tgr/libnl/
15276
15277         * configure.in
15278           src/Makefile.am
15279                 - Add checks for libnl pkgconfig file
15280                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15281
15282         * src/NetworkManagerSystem.c
15283           src/nm-ip4-config.[ch]
15284                 - Use libnl rather than ioctl() for most things
15285                 - Remove unused functions
15286
15287 2005-10-27  Robert Love  <rml@novell.com>
15288
15289         * src/backends/NetworkManagerSuSE.c: fix warning message text
15290
15291 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15292
15293         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15294
15295 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15296
15297         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15298         project page <http://www.gnome.org/projects/NetworkManager/>
15299
15300 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15301
15302         * gnome/applet.c: Also use translator credits if we don't have
15303         the new GtkAboutDialog (older versions of GTK+)
15304
15305 2005-10-26  Robert Love  <rml@novell.com>
15306
15307         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15308           failure; correct usage text for "--no-daemon"
15309
15310 2005-10-25  Dan Williams  <dcbw@redhat.com>
15311
15312         * src/NetworkManagerDevice.c
15313                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15314                         no scan results
15315                 - (free_process_scan_cb_data): unref the device when freeing results
15316                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15317                         so we don't unref the device underneath ourselves
15318
15319 2005-10-25  Dan Williams  <dcbw@redhat.com>
15320
15321         * Back out 2005-10-24 commit from Tor Krill.  Patch
15322                 causes nameservers never to be removed from named.
15323
15324 2005-10-24  Dan Williams  <dcbw@redhat.com>
15325
15326         Clean up wireless scanning and wireless link probing.
15327
15328         * src/NetworkManagerDevice.c
15329                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15330                         just see if there's an activation request on the device, and check the
15331                         current link against the activation request access point's ESSID.
15332                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15333                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15334                         don't call process_scan_results() on zero-length data
15335                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15336                         15 seconds (from 10)
15337
15338 2005-10-24  Dan Williams  <dcbw@redhat.com>
15339
15340         Cleanup some applet stuff:
15341
15342         - Animation timeouts.  If NM died while the applet was animating,
15343                 the applet would not hide itself.  This is now fixed.
15344
15345         - Remove some dead code
15346
15347         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15348                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15349
15350         - Track animation timeout using a gboolean rather than the timeout's
15351                 ID, since timeout IDs can legally be 0.
15352
15353 2005-10-24  Dan Williams  <dcbw@redhat.com>
15354
15355         * src/backends/interface_parser.c
15356                 - Add void to function declarations that need it
15357                         to match patch from Engin AYDOGAN
15358
15359         * src/backends/interface_parser.h
15360                 - Remove unused prototype for ifparser_interfaces()
15361
15362         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15363         * src/backends/interface_parser.h:
15364                 - Compile fixes for gcc 4.0.2 (add void)
15365
15366 2005-10-24  Dan Williams  <dcbw@redhat.com>
15367
15368         Patch from Tor Krill <tor@krill.nu>
15369         * src/named-manager/nm-named-manager.c
15370                 - Write more than just the first nameserver to /etc/resolv.conf
15371                 - Write out valid /etc/resolv.conf on exit
15372
15373 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15374
15375         * gnome/applet/applet-dbus-vpn.c:
15376         Get rid of spurious newlines in debug console output
15377
15378 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15379
15380         * src/backends/NetworkManagerGentoo.c:
15381         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15382
15383 2005-10-20  Robert Love  <rml@novell.com>
15384
15385         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15386           direct comparison of floating point values, which is never correct.
15387           Also some misc. cleanup.
15388
15389 2005-10-19  Robert Love  <rml@novell.com>
15390
15391         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15392
15393 2005-10-19  Robert Love  <rml@novell.com>
15394
15395         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15396           sensitivity of the buttons.  Specificaly, do the right thing if
15397           there are no entries.
15398
15399 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15400
15401         * configure.in: Update check for adequate wireless-tools
15402         with an AC_TRY_COMPILE for the new symbols we use.
15403
15404 2005-10-19  Dan Williams  <dcbw@redhat.com>
15405
15406         * src/NetworkManagerDevice.c
15407                 - (process_scan_results): don't drop the last (or only)
15408                         access point we see
15409
15410 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15411
15412         * src/backends/NetworkManagerSlackware.c:
15413         Patch from Nico <lordllucifer@gmail.com>
15414                 - Update the Slackware backend.
15415
15416 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15417
15418         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15419         if we've got GLib 2.8.0
15420
15421 2005-10-18  Robert Love  <rml@novell.com>
15422
15423         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15424           function nm_schedule_state_change_signal_broadcast() when we
15425           deactivate a device, too.
15426
15427 2005-10-18  Robert Love  <rml@novell.com>
15428
15429         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15430           be used uninitialized.
15431
15432 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15433
15434         * test/libnm_glib_test.c: Test unregistering, too.
15435
15436 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15437
15438         * configure.in: Bump to 0.5.0
15439
15440 2005-10-17  Dan Williams  <dcbw@redhat.com>
15441
15442         * NetworkManager.h
15443                 - Remove WPA-related constants so they aren't part of the
15444                         upcoming release.
15445
15446 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15447
15448         * gnome/applet/applet.c:
15449         * gnome/applet/applet.h:
15450         Desensitize the 'Connection Information' menu item when there is
15451         no active connection.
15452
15453 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15454
15455         * gnome/libnm_glib/libnm_glib.c:
15456         Make libnm_glib_unregister_callback () actually unregister the callback
15457
15458 2005-10-17  Robert Love  <rml@novell.com>
15459
15460         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15461           two seconds -- tries is updated every 1/10 of a second, not every
15462           second..
15463
15464 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15465
15466         * gnome/applet/applet-dbus-info.c:
15467         Let D-BUS know that we haven't handled a message when we haven't.
15468
15469 2005-10-17  Robert Love  <rml@novell.com>
15470
15471         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15472           in order to remain 64-bit clean.
15473
15474 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15475
15476         * gnome/applet/applet-dbus-info.c:
15477         Find network encryption keys asynchronously
15478
15479 2005-10-17  Robert Love  <rml@novell.com>
15480
15481         * src/backends/NetworkManagerDebian.c,
15482           src/backends/NetworkManagerRedHat,
15483           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15484           comment delimiter.
15485
15486 2005-10-17  Robert Love  <rml@novell.com>
15487
15488         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15489           "/etc"
15490
15491 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15492
15493         * src/NetworkManagerDevice.c: (process_scan_results)
15494         Fix logic that checks to see whether we have an ESSID.
15495
15496 2005-10-15  Dan Williams  <dcbw@redhat.com>
15497
15498         Move scanning code into NetworkManager rather than use iwlib's
15499         iw_scan() function, so that we can figure out AP capabilities.
15500
15501         * NetworkManager.h
15502                 - Add AP capability bits
15503
15504         * src/NetworkManagerAP.[ch]
15505                 - Add capability field to NMAccessPoint structure
15506                 - Add WPA & RSN Information Element fields and accessor
15507                         functions to NMAccessPoint
15508
15509         * src/NetworkManagerDevice.c
15510                 - Remove usage of iw_scan
15511                 - Add scanning code to NetworkManager rather than use
15512                         iw_scan() from iwlib
15513
15514         * src/NetworkManagerUtils.[ch]
15515                 - (nm_dispose_scan_results): remove, unused
15516
15517 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15518
15519         * gnome/libnm_glib/libnm_glib.c:
15520         * gnome/libnm_glib/libnm_glib.h:
15521         Use guint instead of gint for callback IDs.
15522
15523 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15524
15525         * gnome/applet/applet.c:
15526         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15527         every 1000ms.  It will unconditionally call nmwa_update_state which
15528         kills the existing animation timeout and registers a new one with a
15529         callback to draw a new frame every 100ms.  There are 11 connecting
15530         icon frames, so the last 2 frames kept getting dropped.  Only reset
15531         the animation timeout if we aren't animating.
15532
15533 2005-10-11  Dan Williams  <dcbw@redhat.com>
15534
15535         * gnome/applet/applet-dbus-devices.c
15536                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15537                         We want to grab the product & vendor from net.physical_dev
15538                         rather than info.parent.
15539
15540 2005-10-11  Dan Williams  <dcbw@redhat.com>
15541
15542         * src/NetworkManagerDevice.c
15543                 - Use the driver's WE version for scanning rather than
15544                         the WE version NM was compiled with.  Fixes random
15545                         crashes in iw_scan () in iwlib.
15546
15547 2005-10-10  Dan Williams  <dcbw@redhat.com>
15548
15549         * Remove nm_system_load_device_modules() from backend files
15550                 and from NetworkManager.c
15551
15552 2005-10-10  Dan Williams  <dcbw@redhat.com>
15553
15554         * src/NetworkManagerPolicy.c
15555                 - Fix some bugs introduced by the capabilities patch
15556
15557 2005-10-10  Dan Williams  <dcbw@redhat.com>
15558
15559         * gnome/applet/applet-dbus-info.c
15560                 - (nmi_dbus_get_network_key): hide the menu when putting up
15561                         the keyring dialog.  (not sure if the code is right...)
15562
15563 2005-10-09  Dan Williams  <dcbw@redhat.com>
15564
15565         Patch from Bill Moss <bmoss@clemson.edu>
15566         * src/NetworkManagerDevice.c
15567                 - (nm_device_set_user_key_for_network): don't try to set auth
15568                         mode on the AP from the allowed list if it's NULL
15569
15570 2005-10-09  Dan Williams  <dcbw@redhat.com>
15571
15572         * Replace the "driver support level" stuff with capabilities.  The
15573                 capability field is a bitfield that is more flexible than the
15574                 old driver support level thing.  It's mostly so we can easily
15575                 figure out what supports WPA and what doesn't, but should be
15576                 quite useful later.
15577
15578 2005-10-09  Dan Williams  <dcbw@redhat.com>
15579
15580         * test/nmtest.c
15581                 - Removed
15582
15583         * test/nm-tool.c
15584           test/Makefile.am
15585                 - Added new "nm-tool" tool that gives quite a bit more
15586                         information
15587
15588 2005-10-07  Robert Love  <rml@novell.com>
15589
15590         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15591           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15592           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15593           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15594           appropriate
15595
15596 2005-10-07  Robert Love  <rml@novell.com>
15597
15598         * configure.in: Change our compile flags for the betterment of mankind.
15599           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15600           prototype is very bad on 64-bit platforms as types default to int but
15601           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15602           "-Wmissing-declarations" to warn if we define an exported function
15603           but fail to put it in a header.
15604
15605 2005-10-07  Robert Love  <rml@novell.com>
15606
15607         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15608           by the name nm_update_device_wireless_timeouts() and once tried,
15609           without success, to steal my pet turtle.
15610
15611 2005-10-07  Robert Love  <rml@novell.com>
15612
15613         * Cleanup prototypes: put some functions in header files and mark
15614           others as 'static' -- feel free to invert
15615         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15616           nm_vpn_manager_vpn_connection_list_copy()
15617         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15618           nm_vpn_service_get_dbus_connection()
15619         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15620           nm_vpn_manager_vpn_connection_list_copy()
15621         * src/vpn-manager/nm-vpn-service.c: make
15622           nm_vpn_service_act_request_failed() and
15623           nm_vpn_service_stage2_daemon_wait() static
15624         * src/vpn-manager/nm-vpn-service.h: add prototype for
15625           nm_vpn_service_get_dbus_connection()
15626
15627 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15628
15629         * gnome/applet/applet.c:
15630         * gnome/applet/applet.h:
15631         * gnome/applet/icons/Makefile.am:
15632         Convey information about the current connection stage in the
15633         icons themselves instead of creating a separate progress bar.
15634
15635 2005-10-04  Robert Love  <rml@novell.com>
15636
15637         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15638           convert an ether_addr structure's MAC into a string, because the
15639           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15640           versus 07:3B:04, while the former will not.
15641
15642 2005-10-04  Robert Love  <rml@novell.com>
15643
15644         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15645           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15646           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15647           default route in the 'Connection Information' dialog, send primary
15648           and secondary name servers in in "getProperties" DBUS method, add
15649           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15650           secondary domain name servers are crucial pieces of information
15651           that a user might need in debugging a network problem.
15652
15653 2005-10-04  Robert Love  <rml@novell.com>
15654
15655         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15656           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15657           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15658           default route in the 'Connection Information' dialog, send default
15659           route in "getProperties" DBUS method, add network_device_set_route(),
15660           and network_device_get_route().  The Gateway is a crucial piece of
15661           connection-related information that a user might need in debugging a
15662           network problem.
15663
15664 2005-10-03  Robert Love  <rml@novell.com>
15665
15666         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15667           NULL.
15668
15669 2005-10-02  Dan Williams  <dcbw@redhat.com>
15670
15671         * Shorten time taken to sleep by fastpathing bits of device deactivation
15672                 necessary for sleep.
15673
15674         * Fix issue where deactivating a device might deactivate the active
15675                 VPN connection, even if the VPN was not using the device.
15676
15677 2005-10-02  Dan Williams  <dcbw@redhat.com>
15678
15679         * gnome/applet/applet.c
15680                 - Adjust signal strength -> icon mapping values slightly
15681                         (so that 51% signal doesn't show a 75% icon) by adding
15682                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15683                         shows 50% icon, etc.
15684
15685 2005-09-29  Robert Love  <rml@novell.com>
15686
15687         * src/NetworkManager.c: removed unused variable.
15688
15689 2005-09-28  Dan Williams  <dcbw@redhat.com>
15690
15691         Support for named + DBus, using Red Hat DBus patches for named.  You
15692         can find those patches here, with "dbus" in the patch's filename:
15693
15694                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15695
15696         Don't forget the named dbus service file either.
15697
15698         Instead of writing a config file and spawing a named process, NM will
15699         use an already-running dbus-enabled named if it finds one.  NM will
15700         update named's forwarder configuration on the fly using dbus.
15701
15702         If there is no dbus-enabled named running, NM will automatically fall
15703         back to writing the most-recent DNS server information to /etc/resolv.conf
15704         and calling nm_system_update_dns() to kick the system's resolver.
15705
15706         Accordingly, all named-related configure-time options have been removed.
15707
15708 2005-09-26  Robert Love  <rml@novell.com>
15709
15710         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15711           ISDN support!
15712         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15713           bug in error path if "ASKPASSWORD" is "no".
15714
15715 2005-09-26  Robert Love  <rml@novell.com>
15716
15717         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15718           comment in /etc/resolv.conf -- ';' is not.
15719
15720 2005-09-19  Dan Williams  <dcbw@redhat.com>
15721
15722         * src/backends/NetworkManagerRedHat.c:
15723         * src/backends/NetworkManagerDebian.c:
15724         * src/backends/NetworkManagerSlackware.c:
15725         * src/backends/NetworkManagerGentoo.c:
15726         * src/backends/NetworkManagerSUSE.c:
15727         Fix invocations of "/sbin/ip address" to use short form instead
15728
15729 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15730
15731         * src/nm-dbus-device.c: Don't assert when getting
15732         addresses of a not yet connected interface.
15733
15734         * gnome/applet/applet.c: Free icons if loading fails.
15735         Use translator-credits so translators can make themselves known.
15736
15737 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15738
15739         * src/NetworkManagerAP.c:
15740         * src/NetworkManagerAP.h:
15741         * src/NetworkManagerDevice.c:
15742         Set a blacklist for certain common manufacturer default ESSIDs:
15743         APs with these ESSIDs are extremely likely to be completely
15744         different networks: connecting to one should not make NM
15745         auto-connect to every other AP with the same default ESSID.
15746
15747 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15748
15749         * gnome/applet/wireless-applet.glade:
15750         The passphrase entry should also activate the default
15751
15752         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15753
15754         * gnome/applet/applet-dbus-devices.c:
15755         * gnome/applet/applet.c:
15756         * gnome/applet/nm-device.c:
15757         * gnome/applet/nm-device.h:
15758         * src/NetworkManagerUtils.c:
15759         * src/NetworkManagerUtils.h:
15760         * src/nm-dbus-device.c:
15761         I've got a fever, and the only cure for it is less ioctl.
15762         Make NM push IP data rather than make the applet open a socket
15763         to the device.
15764
15765 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15766
15767         * gnome/applet/applet.c:
15768         * gnome/applet/applet-dbus-devices.c:
15769         * gnome/applet/applet-dbus-info.c:
15770         * gnome/applet/passphrase-dialog.c:
15771         * gnome/libnm_glib/libnm_glib.c:
15772         * gnome/vpn-properties/nm-vpn-properties.c:
15773         * src/autoip.c:
15774         * src/backends/NetworkManagerRedHat.c:
15775         * src/named-manager/nm-named-manager.c:
15776         * src/NetworkManagerAPList.c:
15777         * src/NetworkManager.c:
15778         * src/NetworkManagerDbus.c:
15779         * src/NetworkManagerDevice.c:
15780         * src/NetworkManagerPolicy.c:
15781         * src/NetworkManagerSystem.c:
15782         * src/nm-dbus-device.c:
15783         * src/nm-dbus-nm.c:
15784         * src/vpn-manager/nm-vpn-manager.c:
15785         * src/vpn-manager/nm-vpn-service.c:
15786         * test/libnm_glib_test.c:
15787         * test/nminfotest.c:
15788         * test/nmtestdevices.c:
15789         Fix a bunch of 'unused variable' compiler warnings
15790
15791         * NetworkManager.h:
15792         * gnome/applet/applet-dbus-info.c:
15793         * gnome/applet/applet-dbus-info.h:
15794         * gnome/applet/applet.c:
15795         * gnome/applet/applet.h:
15796         * src/NetworkManager.c:
15797         * src/NetworkManagerDbus.c:
15798         * src/NetworkManagerDbus.h:
15799         * src/NetworkManagerDevice.c:
15800         * src/NetworkManagerDevice.h:
15801         * src/NetworkManagerMain.h:
15802         * src/NetworkManagerWireless.c:
15803         * src/NetworkManagerWireless.h:
15804         * src/nm-dbus-nm.c:
15805         Make NetworkManager be smart about how frequently to scan
15806         based on its current state.  Remove the UI for choosing when
15807         to scan.  Scanning still may disabled completely by the user
15808         via the "Wireless Enabled" menu item.
15809
15810 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15811
15812         * gnome/applet/applet.c:
15813         Also overlay the vpn connecting icons onto the wired icon,
15814         when appropriate.
15815
15816         * gnome/vpn-properties/nm-vpn-properties.glade:
15817         Clean up a few strings to use better grammar and proper casing.
15818
15819 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15820
15821         * gnome/applet/vpn-connection.c:
15822         * gnome/applet/vpn-connection.h:
15823         Add nmwa_vpn_connection_is_activating ()
15824
15825         * gnome/applet/applet.c:
15826         * gnome/applet/applet.h:
15827         * gnome/applet/icons/nm-vpn-connecting*.png:
15828         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15829         the user know something's happening between clicking the VPN item and it
15830         actually being connected.
15831
15832 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15833
15834         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15835         failure case as well.
15836
15837 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15838
15839         * gnome/panel/eggtrayicon.[ch]:
15840         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15841
15842 2005-09-07  Dan Williams  <dcbw@redhat.com>
15843
15844         Patch from Bill Moss <bmoss@clemson.edu>
15845         * src/applet-dbus.c
15846                 - (nmwa_dbus_filter): strip whitespace from beginning
15847                         and end of VPN login banner
15848
15849 2005-09-07  Dan Williams  <dcbw@redhat.com>
15850
15851         * The great VPN Manager rewrite of 2005
15852
15853 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15854
15855         * gnome/applet/menu-items.c:
15856         * gnome/applet/nm-device.c:
15857         * gnome/applet/wireless-network.c:
15858         * gnome/libnm_glib/libnm_glib.c:
15859         * src/NetworkManagerDbusUtils.c:
15860         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15861         g_malloc0 doesn't return NULL
15862
15863 2005-09-06  Dan Williams  <dcbw@redhat.com>
15864
15865         Patch from Tomislav Vujec <tvujec@redhat.com>
15866         * src/NetworkManagerDevice.c
15867                 - (nm_get_device_by_udi): don't return a device when we
15868                         actually didn't find what we were looking for
15869
15870 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15871
15872         * gnome/applet/applet-dbus-devices.c:
15873         * gnome/applet/applet-dbus-devices.h:
15874         * gnome/applet/applet-dbus.c:
15875         * src/NetworkManagerDbus.c:
15876         * src/NetworkManagerDbus.h:
15877         * src/NetworkManagerDevice.c:
15878         * src/nm-dbus-device.c:
15879         Make NM push updates about active device strength when it changes,
15880         rather than having the applet poll every 2s.
15881
15882 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15883
15884         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15885         network_device_set_strength
15886
15887 2005-09-04  Dan Williams  <dcbw@redhat.com>
15888
15889         Patch from Bill Nottingham <notting@redhat.com>
15890         * src/NetworkManagerDevice.c
15891                 - (nm_device_activation_cancel): reset the quit_activation flag
15892
15893 2005-09-04  Dan Williams  <dcbw@redhat.com>
15894
15895         * src/nm-activation-request.c
15896                 - (nm_act_request_unref): actually free the structure,
15897                         which we didn't seem to be doing before
15898
15899 2005-09-04  Dan Williams  <dcbw@redhat.com>
15900
15901         Patch from John Palmieri <johnp@redhat.com>
15902         * gnome/applet/applet-dbus-devices.c
15903                 - Fix up unreffing of DBusMessage objects
15904
15905 2005-09-04  Dan Williams  <dcbw@redhat.com>
15906
15907         Patch from John Palmieri <johnp@redhat.com>
15908         * gnome/applet/nm-device.c
15909                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15910
15911 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15912
15913         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15914
15915 2005-09-02  Bill Nottingham  <notting@redhat.com>
15916
15917         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15918
15919 2005-09-01  Dan Williams  <dcbw@redhat.com>
15920
15921         * src/NetworkManager.c
15922                 - (nm_remove_device_from_list): rename to nm_remove_device
15923                 - (nm_hal_device_removed): call nm_remove_device()
15924
15925         * src/NetworkManagerDevice.c
15926                 - Change the NMWirelessScanCB member 'reschedule' which
15927                         wasn't used to 'force' to indicate that we need to
15928                         force a scan when adding a device
15929
15930         * src/nm-dbus-nm.c
15931                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15932                         from the device list
15933                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15934
15935 2005-09-01  Robert Love  <rml@novell.com>
15936
15937         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15938           and the check "!iface" in the error case is probably never true.
15939
15940 2005-09-01  Dan Williams  <dcbw@redhat.com>
15941
15942         Patch from Bill Nottingham <notting@redhat.com>
15943         * src/backends/NetworkManagerRedHat.c
15944                 - Add initial dialup support to Red Hat/Fedora backend
15945
15946 2005-09-01  Dan Williams  <dcbw@redhat.com>
15947
15948         * gnome/applet/applet-dbus-devices.c
15949                 - Sort both wireless networks and devices again, which got
15950                         broken when removing threading
15951
15952 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15953
15954         * gnome/applet/applet.c:
15955         Only show the "Stop/Start All Wireless Devices" menuitem
15956         if we actually have wireless devices.
15957
15958         * gnome/applet/applet-dbus-info.c:
15959         * gnome/applet/applet.c:
15960         * gnome/applet/other-network-dialog.c:
15961         * gnome/applet/vpn-password-dialog.c:
15962         Drop the gtk_dialog_run () calls in favor of connecting to
15963         "response" signals, needed now that the applet is not threaded.
15964
15965 2005-08-31  Dan Williams  <dcbw@redhat.com>
15966
15967         Patch from Bill Moss <bmoss@clemson.edu>
15968         * src/NetworkManagerDevice.c
15969                 - (nm_device_wireless_scan): fix scan timeout values
15970
15971 2005-08-30  Dan Williams  <dcbw@redhat.com>
15972
15973         * gnome/applet/wireless-applet.glade
15974                 - HIG-ify the Other Wireless Networks dialog a bit more
15975                 - Fix some potential segfaults in the info dialog
15976
15977 2005-08-30  Dan Williams  <dcbw@redhat.com>
15978
15979         * gnome/applet/applet-dbus-devices.c
15980                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15981
15982 2005-08-30  Dan Williams  <dcbw@redhat.com>
15983
15984         * gnome/applet/applet-dbus.[ch]
15985                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15986                         they weren't being used anyway
15987
15988 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15989
15990         * test/nmtestdevices.c: (print_usage), (main):
15991         Check the number of arguments, and fix a typo
15992
15993 2005-08-29  Dan Williams  <dcbw@redhat.com>
15994
15995         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15996         * gnome/applet/applet.c
15997                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15998
15999 2005-08-29  Dan Williams  <dcbw@redhat.com>
16000
16001         * gnome/applet/*
16002                 - Don't use threads any more.  Anything that blocks
16003                         (like gtk_dialog_run()) will  have to get fixed up which
16004                         should happen quickly.  We really only had threads to make
16005                         the animation smooth, and when everything got converted over
16006                         to DBus Pending Calls, the need for threads kind of went away
16007
16008 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16009
16010         * gnome/applet/applet.c: Draw VPN connections as radio items
16011         since we don't yet support multiple VPNs.
16012         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16013         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16014
16015 2005-08-29  Dan Williams  <dcbw@redhat.com>
16016
16017         Patch from j@bootlab.org
16018         - Make --without-named work
16019         - Make --with-dhcdbd work correctly
16020
16021 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16022
16023         * configure.in: Added "ca" to ALL_LINGUAS.
16024
16025 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16026
16027         * Fix up VPN state handling between the applet and NetworkManager,
16028                 so that the applet doesn't show a VPN as connected when one
16029                 really is not
16030                         - The applet no longer has a pointer to the active VPN's
16031                                 name, but tracks each VPNs state individually
16032                         - NM no longer has a "getActiveVPNConnection" method
16033                         - NM no longer broadcasts the "VPNConnectionChange" signal
16034                         - NM now broadcasts a "VPNConnectionStateChange" signal
16035                                 whenever the state of a VPN changes
16036
16037 2005-08-26  Dan Williams <dcbw@redhat.com>
16038
16039         * gnome/applet/applet-dbus-devices.c
16040           gnome/applet/applet-dbus-vpn.c
16041                 - Remove calls to dbus_pending_call_ref() because we already
16042                         "own" the pending call
16043                 - Remove calls to dbus_pending_call_get_completed() because
16044                         when we are in the callback, the pending call is completed
16045                         by definition
16046
16047 2005-08-22  Dan Williams <dcbw@redhat.com>
16048
16049         Patch by Bill Moss <bmoss@clemson.edu>
16050         * src/dhcp-manager/nm-dhcp-manager.c
16051                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16052                         some time to send out a RELEASE if they like
16053
16054 2005-08-22  Dan Williams <dcbw@redhat.com>
16055
16056         Noticed by Bill Moss <bmoss@clemson.edu>
16057         * src/NetworkManagerDbus.c
16058                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16059                         instead of just cancelling its activation
16060
16061         * src/NetworkManagerDevice.c
16062                 - (nm_device_deactivate): some small cleanups
16063                 - (nm_device_set_user_key_for_network): deactivate the device
16064                         instead of just cancelling its activation
16065
16066 2005-08-22  Dan Williams <dcbw@redhat.com>
16067
16068         Noticed by Bill Moss <bmoss@clemson.edu>
16069         * src/NetworkManagerDevice.c
16070                 - (nm_device_wireless_scan): fix scan timeout, we were
16071                         waiting way too long for scans to complete
16072
16073 2005-08-22  Dan Williams <dcbw@redhat.com>
16074
16075         Patch from j@bootlab.org:
16076         * src/backends/NetworkManagerDebian.c
16077                 - Make the Debian backend work for static IP again
16078
16079 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16080
16081         * gnome/applet/other-network-dialog.c:
16082         The "Create New Network" and "Connect to Other Network"
16083         dialogs share alot of code, but shouldn't share a window
16084         title.  Give them different ones.
16085
16086         * gnome/applet/wireless-applet.glade:
16087         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16088         Some more minor UI tweaks.
16089
16090 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16091
16092         * gnome/applet/other-network-dialog.c:
16093         * gnome/applet/wireless-applet.glade:
16094         Also need mnemonic widgets, and underline enabled.
16095
16096 2005-08-19  Dan Williams <dcbw@redhat.com>
16097
16098         * vpn-daemons/vpnc/nm-vpnc-service.c
16099                 - (vpnc_watch_cb): remove no-longer-relevant comment
16100                 - (write_config_option): new function, helper to write
16101                         config options to vpnc's stdin
16102                 - (nm_vpnc_config_write): use the new helper, make the
16103                         code shorter
16104
16105 2005-08-19  Christopher Aillon <caillon@redhat.com>
16106
16107         * gnome/applet/passphrase-dialog.c:
16108         * gnome/applet/wireless-applet.glade:
16109         Make the passphrase dialog response based, and treat
16110         responses other than OK (such as Esc, [X]) as a cancel.
16111
16112 2005-08-18  Christopher Aillon <caillon@redhat.com>
16113
16114         * initscript/Gentoo/NetworkManager:
16115         * initscript/RedHat/NetworkManager:
16116         * initscript/RedHat/NetworkManagerDispatcher:
16117         * initscript/SUSE/networkmanager:
16118         CVS remove these in place of .in replacements
16119
16120         * configure.in:
16121         * initscript/Gentoo/NetworkManager.in:
16122         * initscript/RedHat/NetworkManager.in:
16123         * initscript/RedHat/NetworkManagerDispatcher.in:
16124         * initscript/SUSE/networkmanager.in:
16125         These scripts now are generated so they work still when
16126         NM is built using a bindir other than /usr/bin
16127
16128 2005-08-18  Dan Williams <dcbw@redhat.com>
16129
16130         * gnome/applet/main.c
16131                 - Revert previous change for --no-session since
16132                         --sm-disable does the same thing
16133
16134 2005-08-18  Dan Williams <dcbw@redhat.com>
16135
16136         * gnome/applet/applet-dbus-info.c
16137                 - (nmi_dbus_create_error_message): new function
16138                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16139                         functions.  Also don't check for both device _and_ network before
16140                         asking for a user's key, because we may not have gotten all our
16141                         networks back from NM quite yet (due to the dbus pending calls
16142                         coming in later).  Fixes a hang in NM/nm-applet.
16143
16144         * src/NetworkManagerDbus.c
16145                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16146                         slightly more sane manner, even though we are still broken for
16147                         certain other error conditions.
16148                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16149                         to the info-daemon too
16150
16151         * src/NetworkManagerDevice.c
16152                 - Fix some debug messages to be info messages instead
16153
16154 2005-08-18  Dan Williams <dcbw@redhat.com>
16155
16156         * gnome/applet/main.c
16157                 - Add new "--no-session" parameter that disables applet
16158                         session management, ie for testing
16159
16160 2005-08-18  Christopher Aillon <caillon@redhat.com>
16161
16162         * gnome/applet/other-network-dialog.c:
16163         * gnome/applet/wireless-applet.glade: More mnemonics
16164
16165 2005-08-17  Robert Love  <rml@novell.com>
16166
16167         * initscript/SUSE/networkmanager: update
16168
16169 2005-08-17  Dan Williams  <dcbw@redhat.com>
16170
16171         * Tag NM_0_4_1_RELEASE
16172
16173 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16174
16175         * gnome/applet/applet.c: More translatable string cleanup
16176
16177
16178 2005-08-17  Dan Williams  <dcbw@redhat.com>
16179
16180         * gnome/applet/applet-dbus-info.c
16181                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16182                         from the dbus message, which tells us to unconditionally
16183                         ask the user for a new key.  Otherwise, we pull the key from
16184                         the keyring and return it.  If we fail to get the key from the
16185                         keyring, we ask the user for a new key.
16186                 - (nmi_dbus_get_network_key): new function to grab the key for
16187                         an essid from the keyring.
16188                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16189                         Also, don't return any key in the dbus message.
16190
16191         * src/NetworkManagerDbus.[ch]
16192                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16193                         indicate that we unconditionally want a new key.  This function
16194                         is now also used to get keys from the info-daemon which are
16195                         pre-stored, not just for asking the user for a new key.  The
16196                         "new_key" parameter indicates whether or not we wish to ask the
16197                         user for a new key.
16198                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16199                         info-daemon in the return message, so use NULL instead.  The
16200                         key will be filled in at connect time by calling
16201                         nm_dbus_get_user_key_for_network()
16202
16203         * src/NetworkManagerDevice.c
16204                 - (nm_device_wireless_configure): update for "new_key" param to
16205                         nm_dbus_get_user_key_for_network().  We initially set new_key
16206                         to FALSE to see if we have a stored key in the info-daemon, but
16207                         if the connection is unsuccessful at this stage we request a
16208                         new one
16209
16210 2005-08-17  Dan Williams  <dcbw@redhat.com>
16211
16212         * gnome/applet/icons/nm-no-connection.png
16213           gnome/applet/icons/nm-device-wired.png
16214                 - Use Diana's new RJ45 connector icons
16215
16216 2005-08-17  Dan Williams  <dcbw@redhat.com>
16217
16218         * src/NetworkManagerPolicy.c
16219                 - (nm_policy_device_change_check): clarify switching rules if
16220                         both new and old devices are valid; mainly, don't switch
16221                         away from user-requested wireless connection back to a wired
16222                         one
16223
16224 2005-08-17  Dan Williams  <dcbw@redhat.com>
16225
16226         * gnome/applet/Makefile.am
16227                 - Relocate the applet to /usr/bin since it is no longer
16228                         executed by anything, but directly by the user
16229
16230 2005-08-17  Dan Williams  <dcbw@redhat.com>
16231
16232         Patch from Bill Moss <bmoss@clemson.edu>
16233
16234         * gnome/applet/applet-dbus-info.[ch]
16235                 - (nmi_save_network_info): save timestamp for network if it
16236                         was a change requested by the user
16237                 - (nmi_dbus_update_network_info): get user_requested from dbus
16238                         message and pass to nmi_save_network_info()
16239
16240         * gnome/applet/applet.c
16241                 - (nmwa_update_network_timestamp): remove
16242                 - (nmwa_menu_item_activate): don't set timestamp on networks
16243                         here, only after a successful connect in nmi_save_network_info()
16244
16245         * src/NetworkManagerDbus.[ch]
16246                 - (nm_dbus_update_network_info): pass user_requested into the 
16247                         dbus message
16248
16249         * src/NetworkManagerPolicy.c
16250                 - (nm_policy_activation_finish): pass user_requested to
16251                         nm_dbus_update_network_info()
16252
16253 2005-08-16  Robert Love  <rml@novell.com>
16254
16255         * gnome/applet/applet.c: Better "Dial Up" menu item.
16256
16257 2005-08-16  Robert Love  <rml@novell.com>
16258
16259         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16260           "Connection Information" menu item.
16261
16262 2005-08-16  Dan Williams  <dcbw@redhat.com>
16263
16264         Patch from j@bootlab.org
16265         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16266
16267         * configure.in: allow specifying the path to dhcdbd
16268
16269 2005-08-16  Robert Love  <rml@novell.com>
16270
16271         Patch from j@bootlab.org
16272         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16273           src/backends/interface_parser.h: Debian dialup support.
16274
16275 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16276
16277         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16278         * gnome/applet/applet.c: Add some mnemonics for VPNC
16279
16280         * vpn-daemons/.cvsignore: fix this up a little bit
16281
16282 2005-08-16  Robert Love  <rml@novell.com>
16283
16284         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16285           support.
16286
16287 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16288
16289         * gnome/applet/applet.c: Split markup out of translatable strings
16290         and clean up logic a little bit.  (fixes #309012)
16291
16292 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16293
16294         * gnome/vpn-properties/nm-vpn-properties.c:
16295         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16296         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16297         Makeshift fix to remove newlines from translatable strings.
16298         Note that we now return an allocated string, so callers of
16299         get_confirmation_details () must now call g_free () on the
16300         result. (fixes #309033).
16301
16302 2005-08-12  Robert Love  <rml@novell.com>
16303
16304         * gnome/applet/applet-dbus.c: remove newlines from translatable
16305           strings--not needed here anyway. (fix b.g.o #309011)
16306         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16307
16308 2005-08-11  Robert Love  <rml@novell.com>
16309
16310         * gnome/applet/applet.c: mark string as translatable.
16311
16312 2005-08-11  Robert Love  <rml@novell.com>
16313
16314         * initscript/SUSE/networkmanager: update.
16315
16316 2005-08-11  Dan Williams  <dcbw@redhat.com>
16317
16318         * src/nm-dhcp-manager.c
16319                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16320                         an gateway returned from DHCP, try to use the address of the DHCP
16321                         server as the gateway instead.  Found by Ralf Ertzinger.
16322
16323 2005-08-10  Robert Love  <rml@novell.com>
16324
16325         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16326           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16327
16328 2005-08-10  Dan Williams  <dcbw@redhat.com>
16329
16330         Patch from Bill Moss <bmoss@clemson.edu>
16331         * Consolidate writes of access point information updates to the info daemon
16332                 so that we only do it when the connection to the access point was
16333                 successful.  Also consolidates updates to GConf in the Gnome applet.
16334
16335         * src/nm-netlink-monitor.c
16336                 - Silence compile warning when calling g_object_new()
16337
16338 2005-08-08  Dan Williams  <dcbw@redhat.com>
16339
16340         Patch from Steev <steev@steev.net>:
16341         * src/backends/NetworkManagerGentoo.c
16342                 - Stub new dialup backend functions
16343
16344 2005-08-08  Dan Williams  <dcbw@redhat.com>
16345
16346         Patch from Colin Slater:
16347         * src/backends/NetworkManagerGentoo.c
16348                 - (nm_system_update_dns): Fix exit status check for restarting
16349                         nscd
16350
16351 2005-08-05  Robert Love  <rml@novell.com>
16352
16353         * NetworkManager.h,
16354           gnome/applet/applet-dbus-devices.c,
16355           gnome/applet/applet-dbus-devices.h,
16356           gnome/applet/applet-dbus.c,
16357           gnome/applet/applet.c,
16358           gnome/applet/applet.h,
16359           src/NetworkManager.c,
16360           src/NetworkManagerMain.h,
16361           src/NetworkManagerSystem.h,
16362           src/backends/NetworkManagerRedHat.c,
16363           src/backends/NetworkManagerSuSE.c,
16364           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16365
16366 2005-08-05  Robert Love  <rml@novell.com>
16367
16368         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16369           machine's hostname to make adhoc creation idiot-proof.
16370
16371 2005-08-04  Robert Love  <rml@novell.com>
16372
16373         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16374           freed.
16375
16376 2005-08-04  Dan Williams  <dcbw@redhat.com>
16377
16378         * gnome/applet/applet-dbus-info.c
16379           gnome/applet/applet-dbus-info.h
16380                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16381                         to store key, key type, and auth method rather than just auth method
16382                 - (nmi_dbus_update_network_info): new function
16383                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16384
16385         * gnome/applet/passphrase-dialog.c
16386                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16387                         of saving the info ourselves
16388
16389         * gnome/libnm_glib/libnm_glib.c
16390                 - Remove the stupid version check for dbus
16391
16392         * src/NetworkManagerAP.c
16393           src/NetworkManagerAP.h
16394                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16395
16396         * src/NetworkManagerDbus.c
16397           src/NetworkManagerDbus.h
16398                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16399                         more than just the auth method
16400
16401         * src/NetworkManagerDevice.c
16402                 - Update network info at the appropriate times
16403
16404 2005-07-29  Ray Strode  <rstrode@redhat.com>
16405
16406         * src/NetworkManager.c (nm_info_handler): don't use input as format
16407         string (Spotted by Ian Jackson).
16408
16409 2005-07-27  Dan Williams  <dcbw@redhat.com>
16410
16411         * src/nm-dbus-nm.c
16412           src/nm-dbus-net.c
16413                 - Random cleanups of spacing
16414
16415         * gnome/applet/applet.h
16416           gnome/applet/other-network-dialog.c
16417           gnome/applet/passphrase-dialog.c
16418                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16419
16420         Patch from Bill Moss:
16421                 - Make Other Wireless Networks work again with encryption keys
16422
16423 2005-07-26  Dan Williams  <dcbw@redhat.com>
16424
16425         Patch from Steev <steev@steev.net>:
16426         * src/backends/NetworkManagerGentoo.c
16427           src/backends/Makefile.am
16428                 - Fix up Gentoo backend
16429
16430 2005-07-26  Robert Love  <rml@novell.com>
16431
16432         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16433
16434 2005-07-25  Robert Love  <rml@novell.com>
16435
16436         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16437           in the same group as the wireless networks, since they are all
16438           mutually exclusive.
16439
16440 2005-07-24  Ray Strode  <rstrode@redhat.com>
16441
16442         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16443         remove unneeded NULL arg from g_object_new().  Any
16444         warnings caused by not having the extra NULL are just a
16445         result of a bug in glib 2.7.0 - 2.7.2.
16446
16447 2005-07-22  Robert Love  <rml@novell.com>
16448
16449         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16450
16451 2005-07-22  Robert Love  <rml@novell.com>
16452
16453         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16454           parameters (gcc 4.0.2 warning fix).
16455
16456 2005-07-18  Robert Love  <rml@novell.com>
16457
16458         Suggested by Aaron Bockover (abockover@novell.com)
16459         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16460           s/Ascii/ASCII
16461         * gnome/applet/passphrase-dialog.c: ditto
16462         * gnome/applet/wireless-applet.glade: ditto
16463
16464 2005-07-13  Dan Williams  <dcbw@redhat.com>
16465
16466         Patch from Ray Strode <halfline@gmail.com>
16467         * vpn-daemons/vpnc/nm-vpnc-service.c
16468                 - Don't let vpnc daemonize, fixes some races with PID file reading
16469
16470 2005-07-13  Dan Williams  <dcbw@redhat.com>
16471
16472         Patch from Ray Strode <halfline@gmail.com>
16473         * Random cleanups for strict CFLAGS
16474
16475 2005-07-07  Dan Williams  <dcbw@redhat.com>
16476
16477         Patch from Derek Atkins <warlord@MIT.EDU>
16478         * src/nm-dbus-net.c:
16479                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16480
16481 2005-07-07  Dan Williams  <dcbw@redhat.com>
16482
16483         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16484         * src/backends/NetworkManagerGentoo.c
16485                 - Gentoo backend Static IP nameserver fixes
16486                 - General Gentoo backend goodness
16487
16488 2005-07-07  Dan Williams  <dcbw@redhat.com>
16489
16490         Patch from Bastien Nocera:
16491         * gnome/applet/applet.c
16492                 - Fix up error reporting when icons or glade files are missing
16493
16494 2005-07-07  Robert Love  <rml@novell.com>
16495
16496         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16497           are not any VPN connections above it.
16498
16499 2005-07-07  Robert Love  <rml@novell.com>
16500
16501         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16502
16503 2005-07-05  Robert Love  <rml@novell.com>
16504
16505         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16506           zero.
16507
16508 2005-07-05  Robert Love  <rml@novell.com>
16509
16510         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16511           on wired or unencrypted wireless.
16512
16513 2005-07-01  Robert Love  <rml@novell.com>
16514
16515         * src/NetworkManagerSystem.c: Print the error via strerror().
16516
16517 2005-06-30  Robert Love  <rml@novell.com>
16518
16519         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16520           then exit if the glade file is not found.  currently the application
16521           just hangs.
16522
16523 2005-06-30  Robert Love  <rml@novell.com>
16524
16525         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16526           explicitly up all interfaces on wake from sleep.
16527
16528 2005-06-30  Robert Love  <rml@novell.com>
16529
16530         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16531           with information about the currently active connection.
16532         * gnome/applet/applet.h: (ditto)
16533         * gnome/applet/wireless-applet.glade: (ditto), new file
16534
16535 2005-06-30  Robert Love  <rml@novell.com>
16536
16537         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16538         * src/nm-dbus-nm.c: print when we sleep and wake up.
16539         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16540         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16541           in /sbin unless D-BUS is, folks).
16542         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16543
16544 2005-06-27  Robert Love  <rml@novell.com>
16545
16546         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16547           case.
16548
16549 2005-06-27  Robert Love  <rml@novell.com>
16550
16551         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16552           items radios.
16553
16554 2005-06-26  Robert Love  <rml@novell.com>
16555
16556         * src/NetworkManagerDevice.c: be specific about which device in
16557           nm_info() message.
16558
16559 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16560
16561         * src/nm-netlink-monitor.c: correct spelling error.
16562
16563 2005-06-23  Robert Love  <rml@novell.com>
16564
16565         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16566         * gnome/applet/passphrase-dialog.c: more of that keyring!
16567
16568 2005-06-23  Robert Love  <rml@novell.com>
16569
16570         * configure.in: remove extraneous GNOMEKEYRING directives.
16571         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16572         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16573         * gnome/applet/passphrase-dialog.c: whitespace.
16574
16575 2005-06-23  Robert Love  <rml@novell.com>
16576
16577         * src/NetworkManagerDevice.c: division in assignment was flipped.
16578
16579 2005-06-23  David Zeuthen  <david@fubar.dk>
16580
16581         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16582         signal to the child to indicate that we got what we wanted when we
16583         see two new-lines right after each other.
16584         (nmwa_vpn_request_password): Pass a structure with several members
16585         instead of just the passwords
16586
16587 2005-06-23  Dan Williams <dcbw@redhat.com>
16588
16589         * src/NetworkManager.c
16590           src/NetworkManagerMain.h
16591                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16592                 - (nm_hal_init): new function, init libhal context then add devices
16593                 - (nm_hal_deinit): new function, clean up libhal context
16594                 - (nm_data_free): Move Hal cleanup here
16595                 - (main): check whether Hal is running, and if so, get a list of
16596                         network devices from it
16597
16598         * src/NetworkManagerDbus.c
16599                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16600                         and when it appears, get a list of network devices from it.  If
16601                         Hal goes away, clean up the libhal context
16602
16603 2005-06-22  Robert Love  <rml@novell.com>
16604
16605         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16606           permissions of scripts before executing.
16607
16608 2005-06-21  Robert Love  <rml@novell.com>
16609
16610         * initscript/SUSE/networkmanager: update.
16611         * src/backends/NetworkManagerSuSE.c: cleanup.
16612
16613 2005-06-21  Robert Love <rml@novell.com>
16614
16615         * gnome/applet/applet.c: use menu mnemonics.
16616         * gnome/applet/menu-items.c: (ditto)
16617
16618 2005-06-21  Robert Love  <rml@novell.com>
16619
16620         * applet/applet-dbus-devices.c: mark non-static functions static.
16621         * applet/applet-dbus-vpn.c: (ditto)
16622         * applet/applet.c: (ditto)
16623         * applet/nm-device.h: (ditto)
16624         * applet/other-network-dialog.c: (ditto)
16625         * applet/passphrase-dialog.c: (ditto)
16626         * NetworkManager.c: (ditto)
16627         * NetworkManagerDbus.c: (ditto)
16628         * NetworkManagerDevice.c: (ditto)
16629         * NetworkManagerPolicy.c: (ditto)
16630         * NetworkManagerUtils.c: (ditto)
16631         * NetworkManagerWireless.c: (ditto)
16632         * NetworkManagerWireless.h: (ditto)
16633         * nm-netlink-monitor.c: (ditto)
16634         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16635         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16636         * autoip.c: include autoip.h.
16637         * autoip.h: new file.  define get_autoip().
16638         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16639         * NetworkManagerDbus.h: remove duplicate definitions.
16640
16641 2005-06-20  Robert Love  <rml@novell.com>
16642
16643         * Makefile.am: Add missing intltool-foo.in generated files to
16644           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16645           with the start of stuff to cleanup on 'distclea'.
16646         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16647           stuff right and 'distcheck' works.
16648         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16649           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16650           Makefile.am for each.  And systray/Makefile needs to be redone.
16651
16652 2005-06-19  Dan Williams <dcbw@redhat.com>
16653
16654         * src/NetworkManagerDevice.c
16655         - (nm_device_wireless_process_scan_results): scan every 20s when
16656           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16657
16658 2005-06-19  Dan Williams <dcbw@redhat.com>
16659
16660         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16661
16662 2005-06-18  Ray Strode <rstrode@redhat.com>
16663
16664         * src/nm-netlink-monitor.c 
16665         (nm_netlink_monitor_event_handler): check for the presence
16666         of either error condition not both. 
16667         
16668         (nm_netlink_monitor_error_handler): emit error signal if
16669         error occurs.
16670
16671         (nm_netlink_monitor_event_handler),
16672         (nm_netlink_monitor_error_handler),
16673         (nm_netlink_monitor_disconnect_handler): if an 
16674         assertion fails disconnect the event handler to prevent 
16675         infinite loops.
16676
16677         * src/nm-netlink-monitor.h: add new error condition
16678         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16679
16680 2005-06-18  Ray Strode <rstrode@redhat.com>
16681
16682         * src/nm-netlink-monitor.c 
16683         (nm_netlink_monitor_event_handler): remove bogus < 0
16684         check on unsigned value and return early if the kernel
16685         didn't send any bytes.
16686
16687 2005-06-17  Robert Love  <rml@novell.com>
16688
16689         * initscript/SUSE/networkmanager: Change the Provides and default
16690         run levels
16691
16692 2005-06-16  Dan Williams <dcbw@redhat.com>
16693
16694         Patch from Robert Love:
16695         * gnome/applet/applet.c
16696                 - Beautify some applet menu item names
16697
16698 2005-06-17  David Zeuthen  <davidz@redhat.com>
16699
16700         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16701         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16702         Also add new methods can_export, import_file and export.
16703
16704         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16705         to the main UI
16706
16707         * gnome/vpn-properties/nm-vpn-properties.c:
16708         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16709         nm-vpn-ui-interface.h.
16710         (update_edit_del_sensitivity): Also update "Export" sensitivity
16711         (add_vpn_connection): Also add new SVC_NAME column
16712         (import_settings): New function
16713         (retrieve_data_from_selected_connection): New function
16714         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16715         this function
16716         (export_cb): New function
16717         (init_app): Also setup the "export" widget
16718         (main): Support the --import-service and --import-file commandline
16719         arguments
16720
16721         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16722         D-BUS 0.34
16723
16724 2005-06-16  Dan Williams <dcbw@redhat.com>
16725
16726         Patch from Robert Love:
16727         * gnome/applet/menu-items.c
16728                 - (network_menu_item_new): pass -1 as wireless network
16729                         menu items height size request rather than ascent / 2
16730
16731 2005-06-16  Dan Williams <dcbw@redhat.com>
16732
16733         * Clean up wording in Wireless Scan Methods menu items and constants
16734
16735 2005-06-16  Robert Love  <rml@novell.com>
16736
16737         * po/POTFILES.in
16738                 - remove gtkcell* files
16739
16740 2005-06-15  Dan Williams <dcbw@redhat.com>
16741
16742         Patch from Robert Love: make the applet stetic
16743
16744         * gnome/applet/Makefile.am
16745                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16746
16747         * gnome/applet/gtkcellview.h
16748           gnome/applet/gtkcellview.c
16749           gnome/applet/gtkcellrendererprogress.h
16750           gnome/applet/gtkcellrendererprogress.c
16751                 - Removed
16752
16753         * gnome/applet/menu-items.c
16754                 - Progress bars are 5:1 size ratio
16755                 - Use GTK progress bars rather than internal ones
16756
16757 2005-06-15  Dan Williams <dcbw@redhat.com>
16758
16759         Patch from Robert Love:
16760         * initscript/SUSE/networkmanager
16761                 - Fix typo
16762
16763 2005-06-15  Dan Williams <dcbw@redhat.com>
16764
16765         * src/backends/NetworkManagerSuSE.c
16766           src/backends/NetworkManagerRedHat.c
16767           src/backends/NetworkManagerDebian.c
16768                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16769
16770 2005-06-15  Dan Williams <dcbw@redhat.com>
16771
16772         * src/backends/NetworkManagerDebian.c
16773                 - Add nm_system_device_get_use_dhcp() to debian backend
16774
16775         Patch from Kay Sievers:
16776         * src/backends/NetworkManagerSuSE.c
16777                 - Update debian backend for static IP nameservers
16778
16779         * src/NetworkManagerDevice.c
16780                 - Actually set the device to use static IP or DHCP rather
16781                         than always DHCP
16782
16783 2005-06-15  Dan Williams <dcbw@redhat.com>
16784
16785         Patch from Thom May:
16786         * src/backends/NetworkManagerDebian.c
16787                 - Update debian backend for static IP nameservers
16788
16789 2005-06-15  Dan Williams <dcbw@redhat.com>
16790
16791         Patches from Robert Love:
16792         * gnome/applet/wireless-applet.glade
16793                 - Tighten up wording
16794
16795         * src/NetworkManagerDevice.c
16796                 - Remove misplaced ';'
16797
16798         * configure.in
16799           initscript/Makefile.am
16800           initscript/SUSE/Makefile.am
16801           initscript/SUSE/networkmanager
16802                 - Add SUSE initscript
16803
16804 2005-06-12  David Zeuthen  <davidz@redhat.com>
16805
16806         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16807
16808         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16809
16810         * gnome/vpn-properties/nm-vpn-properties.c: New file
16811
16812         * gnome/vpn-properties/Makefile.am: New file
16813
16814         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16815         array of passwords
16816
16817         * src/vpn-manager/nm-vpn-manager.c
16818         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16819         instead of just a single one
16820
16821         * src/vpn-manager/nm-dbus-vpn.c:
16822         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16823         here
16824         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16825
16826         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16827         Change the interface here to give a list of passwords. Also, don't
16828         require username, but do require service
16829
16830         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16831         the binary for the auth-dialog and use that instead of putting up a
16832         dialog asking for a single password
16833
16834         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16835         however do remember the service
16836
16837         * gnome/applet/main.c (main): Setup i18n
16838
16839         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16840         connection to '%s'" to the tooltip if we are connected using VPN
16841         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16842         key to determine whether we the auth-dialog needs to
16843         reprompt. Also cope with the fact that the auth-dialog now returns
16844         an array of passwords.
16845         (nmwa_menu_configure_vpn_item_activate): New handler for
16846         "Configure VPN..." menu item
16847         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16848         (is_vpn_available): New function to determine if we got any
16849         NM-compatible VPN software installed
16850         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16851         items only if we have NM-compatible VPN software installed
16852         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16853         logic for detecting when VPN connections are removed
16854
16855         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16856         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16857         since these are defined elsewhere
16858
16859         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16860         function used to keep track of whether the last attempt succeded
16861         (nmwa_dbus_filter): Update last_attempt according to whether the
16862         VPN connection could be established or not
16863
16864         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16865         Change prototype to take an array of passwords, not just a single
16866         password
16867
16868         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16869         update service, not user
16870         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16871         dbus_active_vpn_name is not NULL before using it
16872         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16873         string array instead of assuming a single password
16874
16875         * gnome/applet/applet-dbus-info.c:
16876         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16877         user name; don't read from gconf
16878
16879         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16880         VPN_NAME_FILES_DIR
16881
16882         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16883
16884         * configure.in: Add checks for gmodule-2.0.
16885         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16886         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16887         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16888         for details
16889
16890         * vpn-daemons/Makefile.am: Removed
16891
16892         * vpn-daemons/README: New file to describe extensions points for VPN
16893         software
16894
16895 2005-06-10  Dan Williams <dcbw@redhat.com>
16896
16897         * src/backends/NetworkManagerRedHat.c
16898                 - (get_current_profile_name): new function, grab current network profile name from
16899                         /etc/sysconfig/network
16900                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16901                         update an IP4 Config structure's settings from it
16902                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16903                         get DNS info from current network profile
16904
16905 2005-06-09  Dan Williams <dcbw@redhat.com>
16906
16907         Patch from Robert Love:
16908         * src/NetworkManagerDevice.c
16909           src/NetworkManagerUtils.c
16910                 - 64-bit build fixes
16911
16912 2005-06-09  Dan Williams <dcbw@redhat.com>
16913
16914         Patch from Kay Sievers and Robert Love:
16915         * configure.in
16916           src/backends/Makefile.am
16917           src/backends/NetworkManagerSuSE.c
16918                 - Add SuSE support
16919
16920 2005-06-09  Dan Williams <dcbw@redhat.com>
16921
16922         * NetworkManager.h
16923                 - Add NMWirelessScanMethod enum for scan methods
16924
16925         * gnome/applet/applet-dbus-devices.c
16926                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16927                 - (nmwa_dbus_update_scanning_enabled): remove
16928                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16929                         since it got removed
16930                 - (nmwa_dbus_enable_scanning): remove
16931
16932         * gnome/applet/applet-dbus-info.c
16933                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16934                         update the wireless scanning method from NMI
16935                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16936                         method value to NetworkManager
16937                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16938
16939         * gnome/applet/applet-dbus-info.h
16940                 - Add prototype for nmi_dbus_signal_update_scan_method
16941
16942         * gnome/applet/applet.c
16943                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16944                         Wireless Scanning menu based on current wireless scan method
16945                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16946                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16947                         and update our menu items to make sure the right one is checked
16948                 - (nmwa_set_scanning_enabled_cb): remove
16949                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16950                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16951                         Scanning menu item
16952                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16953                         from GConf
16954                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16955                         so we get notified of preference values too
16956                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16957
16958         * gnome/applet/applet.h
16959                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16960                 - Add wireless scan method member to applet data
16961                 - Remove pause_scanning_item, add Wireless Scanning submenu
16962
16963         * src/NetworkManager.c
16964                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16965                 - (main): grab scanning method from NMI if we can
16966
16967         * src/NetworkManagerDbus.c
16968                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16969                         nm_dbus_update_wireless_scan_method()
16970                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16971                         from NMI
16972                 - (nm_dbus_nmi_is_running): redundant function, removed
16973                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16974                         when NMI comes back
16975
16976         * src/NetworkManagerDevice.c
16977                 - (nm_device_is_activated): return TRUE if the device is activated
16978                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16979                         and we are activated
16980
16981         * src/nm-dbus-nm.c
16982                 - (nm_dbus_nm_set_scanning_enabled): removed
16983                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16984                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16985
16986 2005-06-09  Dan Williams <dcbw@redhat.com>
16987
16988         * NetworkManager.h
16989           src/vpn-manager/nm-vpn-service.c
16990                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16991
16992 2005-05-27  Dan Williams <dcbw@redhat.com>
16993
16994         * vpn-daemons/vpnc/nm-vpnc-service.c
16995                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16996                         Should fix the bug where the VPN connection terminates the first time.
16997
16998 2005-05-20  Dan Williams <dcbw@redhat.com>
16999
17000         * NetworkManager.h
17001                 - Differentiate VPN config signals between bad VPN config options
17002                         and bad IP config
17003
17004         * gnome/applet/applet-dbus-info.h
17005                 - Add prototypes for wireless network and vpn connection update functions
17006
17007         * gnome/applet/applet-dbus.c
17008                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17009
17010         * gnome/applet/applet.c
17011                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17012                         error signals
17013                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17014                         propogation to NetworkManager
17015                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17016                         notify propogation to NetworkManager
17017
17018         * src/NetworkManagerDbus.c
17019                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17020                         are updating so a network can be removed from it if necessary
17021
17022         * src/vpn-manager/nm-vpn-manager.c
17023                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17024
17025         * vpn-daemons/vpnc/nm-vpnc-service.c
17026                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17027                 - (nm_vpnc_dbus_signal_launch_failed): remove
17028                 - (nm_vpnc_dbus_signal_connect_failed): remove
17029                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17030                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17031                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17032                         for new generalized error signal function, remove config file stuff
17033                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17034                         we can write configuration options to it
17035                 - (nm_vpnc_config_file_generate): removed
17036                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17037                 - (nm_vpnc_config_options_validate): validate the config options we receive
17038                         from NetworkManager to block potential exploits
17039                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17040                         starting vpnc
17041                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17042                         to NetworkManager
17043
17044 2005-05-16  Dan Williams  <dcbw@redhat.com>
17045
17046         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17047                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17048                         is not "connect"
17049
17050 2005-05-16  Dan Williams  <dcbw@redhat.com>
17051
17052         Patch from Tomislav Vujec <tvujec@redhat.com>
17053         * gnome/applet/applet-dbus-info.c
17054                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17055                         GConf and pass them to NetworkManager.  New key is 'routes' under
17056                         the VPN connection, and should be a string list
17057
17058         * src/NetworkManagerSystem.c
17059                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17060                         set them on the device when we set the rest of the VPN config.  Ensure
17061                         they are in the correct format since they are passed directly to the
17062                         command line.
17063
17064         * src/backends/NetworkManagerRedHat.c
17065           src/backends/NetworkManagerDebian.c
17066                 - (nm_system_device_add_route_via_device_with_iface): new function
17067
17068         * src/vpn-manager/nm-dbus-vpn.c
17069                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17070
17071         * src/vpn-manager/nm-vpn-manager.c
17072                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17073                         them into the IP4 config functions
17074
17075 2005-05-15  Dan Williams  <dcbw@redhat.com>
17076
17077         From Filip Miletic:
17078         * po/sr.po
17079           po/sr@Latn.po
17080           configure.in
17081                 - Serbian translation added
17082
17083 2005-05-15  Dan Williams  <dcbw@redhat.com>
17084
17085         * dispatcher-daemon/NetworkManagerDispatcher.c
17086                 - (main): sync arguments with NetworkManager and the applet, now use
17087                         "--no-daemon" rather than "daemon=no"
17088                 - (nmd_print_usage): Fix script path in usage message
17089
17090 2005-05-15  Dan Williams  <dcbw@redhat.com>
17091
17092         * src/NetworkManagerDevice.[ch]
17093           src/NetworkManagerPolicy.c
17094           src/NetworkManager.c
17095           src/nm-dbus-nm.c
17096                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17097                         longer send the DeviceNoLongerActive signal unconditionally, but only
17098                         when the device is actually active.
17099
17100         * dispatcher-daemon/NetworkManagerDispatcher.c
17101                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17102                         and simplify the logic
17103                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17104                         we free it later on
17105
17106         * initscript/RedHat/Makefile.am
17107           initscript/RedHat/NetworkManagerDispatcher
17108                 - Add initscript for NetworkManagerDispatcher
17109
17110
17111         Patch from Bill Moss:
17112         * dispatcher-daemon/NetworkManagerDispatcher.c
17113                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17114
17115         * src/NetworkManagerDbus.c
17116                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17117                         and DeviceNowActive gets signaled, then the device has a new IP address
17118                         anyway.  There's no need for a separate signal.
17119
17120         * src/NetworkManagerDevice.c
17121                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17122
17123         * src/NetworkManagerPolicy.c
17124                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17125                         activates successfully.  This kind of went missing when I reworked the
17126                         activation code.
17127
17128 2005-05-15  Dan Williams  <dcbw@redhat.com>
17129
17130         * configure.in
17131                 - Check for dhcdbd and error if its not found
17132
17133         * src/dhcp-manager/Makefile.am
17134           src/dhcp-manager/nm-dhcp-manager.c
17135                 - Use path to dhcdbd that configure found
17136
17137 2005-05-14  Dan Williams  <dcbw@redhat.com>
17138
17139         * gnome/applet/nm-device.c
17140                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17141                         sort wireless networks alphabetically
17142
17143         * gnome/applet/applet-dbus-devices.c
17144                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17145                         before copying them over to the GUI
17146
17147 2005-05-14  Dan Williams  <dcbw@redhat.com>
17148
17149         * src/NetworkManager.c
17150                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17151                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17152                         the device list, as does nm_get_active_device() which is called from
17153                         nm_vpn_manager_deactivate_vpn_connection().
17154
17155 2005-05-14  Dan Williams  <dcbw@redhat.com>
17156
17157         * NetworkManager.h
17158                 - Add signals for VPN Launch and Connect failures
17159
17160         * gnome/applet/applet-dbus.c
17161                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17162
17163         * gnome/applet/applet.c
17164                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17165                         function to handle all VPN failure messages
17166                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17167                         function to hanlde all VPN failure  messages
17168                 - (show_warning_dialog): work around focus-stealing prevention
17169
17170         * gnome/applet/other-network-dialog.c
17171           gnome/applet/passphrase-dialog.c
17172                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17173                         problem where it never enabled for ASCII Key and Hex Key types
17174
17175         * gnome/applet/wireless-applet.glade
17176                 - Add window title to Other Wireless Network Dialog
17177
17178         * src/vpn-manager/nm-dbus-vpn.c
17179                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17180                         function to handle all VPN failure messages
17181
17182         * src/vpn-manager/nm-vpn-manager.c
17183                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17184
17185         * vpn-daemons/vpnc/nm-vpnc-service.c
17186                 - (nm_vpnc_dbus_signal_launch_failed): new function
17187                 - (nm_vpnc_dbus_signal_connect_failed): new function
17188                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17189                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17190                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17191                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17192
17193 2005-05-11  Dan Williams  <dcbw@redhat.com>
17194
17195         * vpn-daemons/vpnc/nm-vpnc-service.c
17196                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17197                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17198                         file exists before trying to write it out.
17199
17200 2005-05-10  Dan Williams  <dcbw@redhat.com>
17201
17202     * gnome/applet/applet-dbus-device.c
17203         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17204             prevented just entering ESSID and leaving key and key type up to
17205             NetworkManager (which should have them already cached)
17206
17207 2005-05-08  Dan Williams  <dcbw@redhat.com>
17208
17209         * src/NetworkManagerPolicy.c
17210                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17211                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17212                         fix a situation where NM is told to terminate and the device stops activation,
17213                         but the main thread isn't aware of that because it would never have run
17214                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17215                         had already quit.
17216
17217         * src/NetworkManagerDevice.c
17218                 - (nm_device_probe_wired_link_state): cosmetic fixes
17219                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17220                         we've failed to activate or been canceled.
17221                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17222
17223 2005-05-08  Dan Williams  <dcbw@redhat.com>
17224
17225         * src/NetworkManagerWireless.c
17226                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17227                         value of WEXT quality structures, and add a debug message when we cannot
17228                         determine any quality % at all
17229
17230 2005-05-08  Dan Williams  <dcbw@redhat.com>
17231
17232         * src/dhcp-manager/nm-dhcp-manager.c
17233                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17234                         it goes down.
17235
17236 2005-05-06  Dan Williams  <dcbw@redhat.com>
17237
17238         * gnome/applet/applet-dbus-device.c
17239           gnome/applet/applet-dbus-info.c
17240           gnome/applet/applet-dbus.c
17241           gnome/applet/applet.c
17242           gnome/applet/applet.h
17243                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17244
17245         * gnome/applet/applet-dbus.c
17246                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17247                         so we notice when wired device's carriers come back on.  Should
17248                         fix issue with wired devices being grayed out even if the cable
17249                         is in, for devices that support carrier detection.
17250
17251         * gnome/applet/applet.c
17252                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17253                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17254                         tooltip message
17255                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17256                         Fix situation where applet wouldn't respond to menu selections
17257
17258         * src/NetworkManager.c
17259           src/NetworkManagerDevice.c
17260           src/NetworkManagerDbus.c
17261           src/NetworkManagerDbus.h
17262                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17263
17264         * src/NetworkManagerDbus.c
17265                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17266                         Remove, no longer used or relevant
17267                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17268                 - (nm_dbus_schedule_device_status_change_signal): add
17269
17270         * src/NetworkManagerDevice.c
17271                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17272                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17273                         ie don't deactivate them unless explicitly told to by the user.  Also send
17274                         CARRIER_OFF / CARRIER_ON signals when link changes
17275                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17276                         Don't print error message when device is no longer around
17277                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17278                         not just during activation
17279
17280         * src/NetworkManagerPolicy.c
17281                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17282                         auto-device-selection.
17283                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17284
17285         * src/NetworkManagerSystem.c
17286                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17287                         is no longer present (Bill Moss)
17288
17289         * src/backends/shvar.c
17290                 - (svOpenFile): Open read-only to make SELinux happy
17291
17292         * src/backends/NetworkManagerRedHat.c
17293                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17294                         the path to the ifcfg-* files
17295
17296 2005-05-05  Dan Williams  <dcbw@redhat.com>
17297
17298         * Expose activation stages to NetworkManager clients, like the applet
17299         * Add Diana's progress icons to the applet, cued off NM activation stage
17300         * Use more descriptive tooltips, cued off NM activation stage
17301
17302 2005-05-05  Ray Strode  <rstrode@redhat.com>
17303
17304         * src/nm-netlink-monitor.c:
17305                 - Use clear_event_source instead of g_nullify_pointer() again.
17306
17307 2005-05-05  Dan Williams  <dcbw@redhat.com>
17308
17309         * gnome/applet/main.c
17310                 - Fix session management so the applet is actually managed now
17311
17312         * gnome/applet/passphrase-dialog.c
17313                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17314
17315 2005-05-05  Dan Williams  <dcbw@redhat.com>
17316
17317         Patch from Bill Moss:
17318         * gnome/libnm_glib/libnm_glib.c
17319                 - Fix for dbus-0.33
17320
17321 2005-05-05  Dan Williams  <dcbw@redhat.com>
17322
17323         Suggestion from Bill Moss:
17324         * src/NetworkManagerSystem.c
17325                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17326
17327
17328         * src/NetworkManager.c
17329                 - (nm_data_free): move destruction of the various managers after
17330                         release of device list, because deactivating and freeing a device
17331                         requires at least the named manager
17332                 - (nm_poll_and_update_wireless_link_state):
17333                   (nm_device_link_activated):
17334                   (nm_device_link_deactivated):
17335                         don't grab the device list lock when actually updating device
17336                         link status or strength, since nm_device_set_link_active()
17337                         needs to call nm_get_active_device(), which also locks the device list.
17338
17339         * src/NetworkManagerDevice.c
17340                 - (nm_device_set_link_active): if a device's link switches from off->on,
17341                         and it's wired, and the active device is wireless (or there is no
17342                         active device), activate the new device whose link just came on
17343                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17344                         my only calling the link to the current ap "failed" when more than 2
17345                         consecutive link checks have failed
17346
17347 2005-05-04  Dan Williams  <dcbw@redhat.com>
17348
17349         * src/NetworkManagerDevice.c
17350                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17351                         but let link_to_specific_ap() do the locking where it needs
17352
17353         Patch from Bill Moss:
17354         * src/NetworkManagerSystem.c
17355                 - Set MTU of VPN devices to 1412
17356
17357 2005-05-04  Dan Williams  <dcbw@redhat.com>
17358
17359         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17360
17361         * Fix some holes in device activation and retaining the currently connected
17362                 access point
17363
17364 2005-05-03  Dan Williams  <dcbw@redhat.com>
17365
17366         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17367           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17368           means you need dhcdbd, which you can get here (get the latest one):
17369
17370                 http://people.redhat.com/jvdias/dhcdbd/
17371
17372           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17373           interface as dhcdbd.
17374
17375         * Rewrite device activation to facilitate the new DHCP infrastructure and
17376           future improvements.  Its now "activation request" based, ie there is a single
17377           activation request composed of the device, access point, and other info which
17378           follows the entire activation process.  There are 5 stages of the activation
17379           process which correspond to:
17380
17381                 1) Device preparation
17382                 2) Device configuration (bring it up, set ESSID/Key/etc)
17383                 3) IP Config Start (fire off DHCP if we're using it)
17384                 4) IP Config Get (grab config from DHCP or static config files)
17385                 5) IP Config Commit (set device's IP address, DNS, etc)
17386
17387           Note that there is no longer a "scanning" step, since the access point must
17388           be known _before_ activation starts.  If the access point drops out or does
17389           not exist for some reason, the entire activation process fails and must be
17390           restarted for a different access point or device.
17391
17392         Patch from Bill Moss:
17393         * gnome/applet/applet.c
17394                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17395
17396 2005-04-27  Dan Williams  <dcbw@redhat.com>
17397
17398         * gnome/applet/applet-dbus-vpn.c
17399           gnome/applet/applet.c
17400           gnome/applet/applet.h
17401                 - Fix up active VPN handling so that we reliably know when a VPN
17402                         connection has been deactivated
17403
17404         * src/vpn-manager/nm-vpn-manager.c
17405                 - Remove duplicate VPNConnectionChange signal
17406
17407 2005-04-27  Dan Williams  <dcbw@redhat.com>
17408
17409         Patch from Peter Jones:
17410         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17411
17412         Patch from Bill Moss:
17413         * src/NetworkManagerSystem.c
17414                 - Fix checking of return value from ioctl()
17415
17416 2005-04-27  Dan Williams  <dcbw@redhat.com>
17417
17418         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17419         * Warn and exit if icons cannot be found
17420
17421 2005-04-27  Dan Williams  <dcbw@redhat.com>
17422
17423         Patch from Tom Parker:
17424         * Update debian backend
17425
17426 2005-04-27  Dan Williams  <dcbw@redhat.com>
17427
17428         * Merge the applet and the info-daemon, and move the converged
17429                 applet under gnome/applet
17430         * Move libnm_glib to gnome/libnm_glib
17431         * Convert most dbus calls between the applet, info-daemon, and NM
17432                 into async calls
17433         * Fix a few things valgrind noticed
17434         * Make NM broadcast state more reliably
17435
17436 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17437
17438         * configure.in: Added ne in ALL_LINGUAS
17439
17440 2005-04-15  Dan Williams  <dcbw@redhat.com>
17441
17442         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17443                 code for dbus 0.2x versions
17444
17445 2005-04-15  Dan Williams  <dcbw@redhat.com>
17446
17447         Patches from Tom Parker:
17448         - Fix memleaks
17449         - Join with worker thread rather than polling for its exit
17450
17451         Patch from Bill Moss:
17452         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17453
17454 2005-04-15  Dan Williams  <dcbw@redhat.com>
17455
17456         - Fixes to pass 'make distcheck'
17457
17458 2005-04-15  Dan Williams  <dcbw@redhat.com>
17459
17460         Initial VPN Support
17461                 - supports 'vpnc'
17462                 - reworks device IP configuration, backend files have changed and will need
17463                         to be updated for all distributions.  I will try to do what I can for
17464                         them, but I cannot test them.
17465
17466         - Move named directory to src/named-manager
17467         - Make backends directory self-contained
17468
17469 2005-04-06  Dan Williams  <dcbw@redhat.com>
17470
17471         Add debug code for socket/file descriptor leaks.  We register every socket
17472         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17473         list of sockets that we forgot to close on shutdown.  This also consolidates
17474         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17475
17476 2005-04-06  Dan Williams  <dcbw@redhat.com>
17477
17478         * dhcpcd/dhcpcd.c
17479                 - (dhcp_interface_free): fix a file descriptor leak that may have
17480                         caused network drivers to not unload due to refcounts > 0
17481
17482 2005-04-04  Dan Williams  <dcbw@redhat.com>
17483
17484         * panel-applet/NMWirelessAppletDbus.c
17485                 - (nmwa_dbus_call_nm_method): remove some commented code
17486
17487         * src/NetworkManagerAPList.[ch]
17488                 - (nm_ap_list_remove_ap_by_essid): new function
17489
17490         * src/NetworkManagerDevice.c
17491                 - (nm_device_wireless_force_use): remove access points from the ignore list
17492                         when the user forces them
17493
17494         * src/nm-dbus-device.c
17495                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17496
17497 2005-04-04  Dan Williams  <dcbw@redhat.com>
17498
17499         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17500
17501 2005-04-04  Dan Williams  <dcbw@redhat.com>
17502
17503         * src/NetworkManagerDevice.c:
17504                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17505                         of only erroring after the second consecutive scan times out.  Also
17506                         don't exit when the card requires more time than we can give it, just
17507                         log the event and continue.
17508
17509 2005-04-01  Steve Murphy  <murf@e-tools.com>
17510
17511         * configure.in: Added "rw" to ALL_LINGUAS.
17512
17513 2005-04-01  Dan Williams <dcbw@redhat.com>
17514
17515         Perform scans during device activation, if needed.  Both activation 
17516         and scans run in the same GMainContext.  Therefore, if an access point
17517         is not found by the time the device starts activation, it will not
17518         be available until after activation.  We now try to scan during
17519         activation (in nm_wa_test) every 15s so that all available access
17520         points are more likely to be found and available for the activation
17521         procedure.
17522
17523         Also change nm_wireless_link_state_handle() to only update the "best"
17524         AP if we are not forcing a device and if we are not about to change
17525         state.  This attempts to work around a race when forcing a device,
17526         where the forced AP would get cleared out too soon by the link state
17527         checking timeout in the main thread, and the activation attempt with
17528         that AP would fail.
17529
17530 2005-04-01  Dan Williams <dcbw@redhat.com>
17531
17532         * po/POTFILES.in
17533                 - Update with new translatables
17534
17535 2005-03-31  Dan Williams <dcbw@redhat.com>
17536
17537         * panel-applet/NMWirelessAppletDbus.c
17538                 - Fix device names now that hal has changed device parenting for
17539                         network devices.
17540
17541 2005-03-31  Dan Williams <dcbw@redhat.com>
17542
17543         Tighten up handling of wireless devices that don't support wireless
17544         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17545         hadn't been doing pseudo-scanning for a while either and would just
17546         spin waiting for an access point.  They are now manual devices where
17547         the user must choose the access point from the menu every time.  All
17548         "allowed" access points are listed in the applet's menu regardless
17549         of whether or not they can be seen by the card, since it can't scan
17550         anyway.
17551
17552         * src/NetworkManager.c
17553                 - (nm_wireless_link_state_handle): new function, but only update
17554                         the "best" ap for non-scanning devices when its not activating,
17555                         and when no device is being forced on the card
17556                 - (nm_link_state_monitor): split wireless link state handling out
17557                         into separate function
17558
17559         * src/NetworkManagerDevice.c
17560                 - (nm_device_copy_allowed_to_dev_list): new function
17561                 - (nm_device_new): populate non-scanning cards' AP lists with
17562                         access points from the "allowed" list
17563                 - (nm_device_new): don't start a scanning timeout for devices that
17564                         can't scan
17565                 - (nm_device_activation_schedule_finish): new parameter, should be
17566                         the AP that failed to be connected to, pass it on to the
17567                         activation finish function in NetworkManagerPolicy.c
17568                 - (nm_device_activate_wireless): don't ever try to get a new AP
17569                         for non-scanning devices, just fail.  The user must choose
17570                         a new access point manually.
17571                 - (nm_device_activate): grab the AP that failed connection and
17572                         pass it on
17573                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17574                         a link to it, user must manually choose a new one
17575                 - (nm_device_do_pseudo_scan): remove function
17576                 - (nm_device_wireless_process_scan_results): remove bits for non-
17577                         scanning cards since they never get here
17578                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17579                         and fake the scan list for test devices a bit earlier
17580
17581         * src/NetworkManagerPolicy.c
17582                 - (nm_policy_activation_finish): use the failed_ap that we get
17583                         passed rather than getting the best_ap from the card, which
17584                         may have changed since we were scheduled
17585                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17586                         update their scan list directly from the allowed list when
17587                         we get updates to the allowed list from NetworkManagerInfo
17588
17589         * src/NetworkManagerPolicy.h
17590                 - New member for failed access point in NMActivationResult
17591
17592   -------------------------------------
17593
17594         Driver Notification patch: notifies the user when their driver
17595                 sucks.  Gives them the option to ignore further insertions
17596                 of the card that has the sucky driver.
17597
17598         * NetworkManager.h
17599                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17600                         enum and replace it with NO_CARRIER_DETECT and
17601                         NO_WIRELESS_SCAN
17602
17603         * panel-applet/NMWirelessApplet.[ch]
17604                 - Merge essid.glade -> wireless-applet.glade
17605                 - Implement the "Your driver sucks" notification dialog
17606
17607         * panel-applet/NMWirelessAppletDbus.c
17608                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17609                 - Grab hardware address for each device from NM too
17610                 - Check whether the driver for each device sucks or not whenever
17611                         a new device is noticed
17612
17613         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17614                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17615
17616         * src/NetworkManager.c
17617                 - Fix a double-unref on device removal
17618
17619         * src/NetworkManagerUtils.c
17620                 - Set appropriate driver support level on a device that doesn't
17621                         support scanning or carrier detection
17622
17623         * src/nm-dbus-device.c
17624                 - New "getHWAddress" dbus method on devices
17625                 - getSupportsCarrierDetect -> getDriverSupportLevel
17626
17627 2005-03-31  Dan Williams <dcbw@redhat.com>
17628
17629         * src/NetworkManagerDevice.c
17630                 - (nm_device_wireless_scan): Fix leak of scan results in some
17631                         instances
17632
17633 2005-03-29  Dan Williams <dcbw@redhat.com>
17634
17635         * src/NetworkManager.c
17636                 - (nm_poll_and_update_wireless_link_state): make code less indented
17637
17638         Patch from Bill Moss:
17639         * src/NetworkManager.c
17640                 - (nm_device_update_link_state): Update signal strength on wireless
17641                         devices every time we update link state too.
17642
17643 2005-03-29  Dan Williams <dcbw@redhat.com>
17644
17645         * src/NetworkManagerDevice.c
17646                 - (nm_device_set_essid): Work around Orinoco cards which need
17647                         extra time after setting the ESSID
17648
17649 2005-03-29  Dan Williams <dcbw@redhat.com>
17650
17651         * src/NetworkManagerDevice.c
17652                 - Merge one more bit of Peter Jones' completion patch
17653
17654 2005-03-29  Dan Williams <dcbw@redhat.com>
17655
17656         * src/NetworkManagerDevice.c
17657                 - (nm_device_force_use): Fix possible segfault
17658
17659 2005-03-29  Dan Williams <dcbw@redhat.com>
17660
17661         * src/NetworkManagerDevice.c
17662                 - Use iw_get_ext() where we should rather than iw_set_ext()
17663
17664 2005-03-29  Dan Williams <dcbw@redhat.com>
17665
17666         * src/NetworkManagerDevice.c
17667                 - (nm_device_set_up_down): remove check for unsupported devices
17668                         that caused NM to not bring devices up when they were
17669                         added to the device list.
17670
17671 2005-03-28  Dan Williams <dcbw@redhat.com>
17672
17673         * src/NetworkManagerDevice.c
17674                 - (mdio_read): Fix two bugs that caused all devices to fail
17675                         the MII carrier detection support checks
17676
17677 2005-03-26  Dan Williams <dcbw@redhat.com>
17678
17679         * src/NetworkManagerDevice.c
17680                 - (nm_device_wireless_scan): Remove duplicated scanning code
17681
17682 2005-03-25  Dan Williams <dcbw@redhat.com>
17683
17684         * panel-applet/NMWirelessApplet.c
17685                 - (nmwa_about_cb): Add some more contributors
17686                 - (nmwa_update_state): show the applet when there's no connection
17687                 - Enable the "Stop/Resume all wireless devices" option in the
17688                         context menu
17689                 - New "no connection" icon
17690
17691         * src/NetworkManager.c
17692                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17693                         wireless is disabled or we're asleep
17694
17695         * src/NetworkManagerDHCP.c
17696                 - Remove trailing "\n" on debug messages
17697
17698         * src/NetworkManagerDbus.c
17699                 - (nm_dbus_network_status_from_data): new state "asleep"
17700
17701         * src/NetworkManagerDevice.c
17702                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17703                         latency and wait times for most operations
17704                 - (nm_device_wireless_scan): Don't scan when asleep
17705
17706         * src/NetworkManagerPolicy.c
17707                 - (nm_policy_get_best_device): return no device when asleep
17708                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17709                         for all wireless devices on update, not just active device
17710
17711         * src/NetworkManagerUtils.c
17712                 - Merge Peter Jones' "completion" patch
17713
17714         * src/nm-dbus-nm.c
17715                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17716                         we're told to disable them
17717                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17718
17719         * utils/nm-utils.h
17720                 - New variants of the warn/info/error/debug print functions that can take
17721                         variables rather than static strings
17722
17723 2005-03-24  Dan Williams <dcbw@redhat.com>
17724
17725         * src/NetworkManagerUtils.c
17726                 - (nm_get_device_driver_name): driver names are now on the parents of
17727                         "Network Interface" objects, so look for them there
17728
17729 2005-03-24  Dan Williams <dcbw@redhat.com>
17730
17731         * test/nmtest.c
17732                 - Escape some forgotten object paths before we shove them through dbus
17733
17734 2005-03-24  Dan Williams <dcbw@redhat.com>
17735
17736         * dhcpcd/dhcpcd.[ch]
17737           src/NetworkManagerDHCP.c
17738                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17739                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17740
17741         * src/NetworkManagerDbus.c
17742                 - spacing cleanups
17743
17744         * src/nm-dbus-dhcp.c
17745                 - Make the API suck less.  There is now only 1 type of each function,
17746                         ie only "getInteger" and no longer also "getIntegerv".  All types
17747                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17748                         that will never have more than 1 element.  This should simplify
17749                         things greatly.
17750
17751         * test/nm-dhcp-opt-test.c
17752                 - Make the tool not segfault
17753                 - adapt to new DHCP Options API
17754
17755 2005-03-22  Dan Williams <dcbw@redhat.com>
17756
17757         * src/NetworkManager.c
17758                 - (nm_wired_link_deactivated): actually ignore netlink events from
17759                         wireless devices.
17760
17761 2005-03-22  Dan Williams <dcbw@redhat.com>
17762
17763         * src/NetworkManager.c
17764                 - (nm_wired_link_activated): actually ignore netlink events from
17765                         wireless devices.
17766
17767 2005-03-17  Dan Williams <dcbw@redhat.com>
17768
17769         Patch from Tom Parker:
17770         * src/nm-netlink-monitor.c
17771                 - Include unistd.h
17772         * info-daemon/NetworkManagerInfoDbus.c
17773                 - (nmi_dbus_update_network_auth_method): free GConf values
17774
17775         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17776         * src/NetworkManagerDevice.c
17777                 - (nm_device_set_wireless_config): wait for successful
17778                         association longer for some cards (Atheros a/b/g)
17779
17780 2005-03-15  Ray Strode  <rstrode@redhat.com>
17781
17782         * src/NetworkManager.c:
17783         (sigterm_pipe_handler):
17784         remove bogus FIXME
17785
17786 2005-03-15  Ray Strode  <rstrode@redhat.com>
17787
17788         * src/NetworkManagerDbus.c:
17789         Fix some sign weirdness that gcc4 doesn't like,
17790         and add a header file so PPC can hopefully find
17791         SIGTRAP
17792
17793 2005-03-14  Ray Strode  <rstrode@redhat.com>
17794         
17795         Fourth (probably working) cut at porting to
17796         dbus 0.30 api and new hal. This cut adds
17797         some new logging macros to make debugging
17798         easier.
17799
17800         * dispatcher-daemon/NetworkManagerDispatcher.c:
17801         * info-daemon/NetworkmanagerInfo.c:
17802         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17803         * info-daemon/NetworkManagerInfoVPN.c:
17804         * src/NetworkManager.c:
17805         * src/NetworkManagerAP.c:
17806         * src/NetworkManagerAPList.c:
17807         * src/NetworkManagerDHCP.c:
17808         * src/NetworkManagerDbus.c:
17809         * src/NetworkManagerDevice.c:
17810         * src/NetworkManagerPolicy.c:
17811         * src/NetworkManagerSystem.c:
17812         * src/NetworkManagerUtils.c:
17813         * src/NetworkManagerWireless.c:
17814         * src/autoip.c:
17815         * src/nm-dbus-nm.c:
17816         * src/backends/NetworkManagerDebian.c:
17817         * src/backends/NetworkManagerGentoo.c:
17818         * src/backends/NetworkManagerRedHat.c:
17819         * src/backends/NetworkManagerSlackware.c:
17820         use new logging macros.
17821
17822         * dispatcher-daemon/NetworkManagerDispatcher.c:
17823         (nmd_dbus_filter): s/dbus_free/g_free/
17824
17825         * info-daemon/Makefile.am: link in utils library.
17826         * info-daemon/NetworkmanagerInfo.c: use new logging 
17827         macros.
17828         (nmi_dbus_get_network): don't assume enumerations
17829         are 32-bit.
17830         (nmi_dbus_nmi_message_handler): don't free what 
17831         doesn't belong to us.
17832
17833         * libnm_glib/libnm_glib.c:
17834         (libnm_glib_get_nm_status): 
17835         (libnm_glib_init): don't free what doesn't
17836         belong to us.
17837         (libnm_glib_dbus): strdup result, so it doesn't get
17838         lost when message is unref'd.
17839
17840         * panel-applet/NMWirelessAppletDbus.c:
17841         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17842
17843         * src/NetworkManager.c:
17844         (nm_monitor_wired_link_state): request initial status 
17845         dump of all cards when we start up, instead of relying
17846         on /sys/.../carrier.
17847         (nm_info_handler), (nm_set_up_log_handlers): 
17848         log handlers to specify what syslog priorites 
17849         the logging macros default to.
17850
17851         * src/NetworkManagerAPList.c: 
17852         (nm_ap_list_populate_from_nmi):
17853         s/dbus_free_string_array/g_strfreev/
17854
17855         * src/NetworkManagerDbus.c:
17856         (nm_dbus_get_network_object):
17857         validate d-bus message argument types.
17858         Advance message iterator after reading argument,
17859         prepend instead of append to GSList.
17860
17861         * src/NetworkManagerDevice.c:
17862         (nm_device_probe_wired_link_status):
17863         remove redundant /sys in /sys path. remove wrong
17864         contents == NULL means has carrier assumption.
17865
17866         * src/nm-netlink-monitor.c 
17867         (nm_netlink_monitor_request_status): implement
17868         function to ask kernel to dump interface link
17869         status over netlink socket.
17870
17871         * test/*.c: s/dbus_free/g_free/
17872
17873         * utils/nm-utils.h:
17874         (nm_print_backtrace): new macro to print backtrace.
17875         (nm_get_timestamp): new macro to get sub-second precise
17876         unix timestamp.
17877         (nm_info), (nm_debug), (nm_warning), (nm_error):
17878         new logging functions. nm_info just prints,
17879         nm_debug includes timestamp and function,
17880         nm_warning includes function, nm_error includes
17881         backtrace and sigtrap.
17882
17883 2005-03-11  Ray Strode  <rstrode@redhat.com>
17884
17885         Third (unfinished, partially working) cut at porting to 
17886         dbus 0.30 api and new hal.
17887
17888         * info-daemon/NetworkManagerInfoDbus.c:
17889                 don't free null arrays.
17890
17891         * panel-applet/NMWirelessAppletDbus.c: 
17892         * src/nm-dbus-device.c:
17893         * src/nm-dbus-net.c: 
17894         * src/NetworkManagerDbus.c: more 
17895         STRING -> OBJECT_PATH fun
17896         * src/NetworkManagerDevice.c:
17897         * src/NetworkManagerDevice.h:
17898         (rename nm_device_get_link_active): rename to 
17899         nm_device_has_active_link
17900         (nm_device_wireless_link_active): rename to
17901         nm_device_probe_wireless_link_state
17902         (nm_device_wired_link_active): rename to
17903         nm_device_probe_wired_link_state.  Rewrite to
17904         use carrier file since hal doesn't maintain
17905         link state anymore.
17906         (nm_device_update_link_active): rename to
17907         nm_device_update_link_state
17908         * src/NetworkManagerPolicy.c 
17909           (nm_policy_activation_finish): check for NULL
17910           MAC address.
17911
17912         * src/Makefile.am:
17913         * src/NetworkManagerMain.h: 
17914         * src/NetworkManager.c:
17915         * src/nm-netlink-monitor.c:
17916         * src/nm-netlink-monitor.h: New class to support
17917         monitoring wired ethernet link status, since HAL
17918         doesn't export that information anymore.
17919
17920 2005-03-09  Ray Strode  <rstrode@redhat.com>
17921
17922         Second (unfinished, unworking) cut at porting to 
17923         dbus 0.30 api.
17924
17925         * dispatcher-daemon/NetworkManagerDispatcher.c:
17926         * info-daemon/NetworkManagerInfoDbus.c:
17927         * panel-applet/NMWirelessAppletDbus.c:
17928         * src/NetworkManagerDbusUtils.c:
17929         * src/NetworkManagerDbusUtils.h:
17930         * src/nm-dbus-device.c:
17931         * src/nm-dbus-nm.c:
17932         * test/nmtest.c: support dbus "object path" type
17933
17934         * configure.in: 
17935         * Makefile.am:
17936         * info-daemon/Makefile.am:
17937         * libnm_glib/Makefile.am:
17938         * panel-applet/Makefile.am:
17939         * dispatcher-daemon/Makefile.am
17940         * src/Makefile.am:
17941         * test/Makefile.am:
17942         * utils/Makefile.am: 
17943         * utils/nm-utils.c: 
17944         * utils/nm-utils.h: new utils static lib
17945
17946 2005-03-07  Ray Strode  <rstrode@redhat.com>
17947
17948         * info-daemon/NetworkManagerInfoDbus.c:
17949         * libnm_glib/libnm_glib.c:
17950         * panel-applet/NMWirelessAppletDbus.c:
17951         * src/NetworkManager.c:
17952         * src/NetworkManagerDbus.c:
17953         * src/NetworkManagerDevice.c:
17954         * src/NetworkManagerUtils.c:
17955         * src/nm-dbus-device.c:
17956         * src/nm-dbus-dhcp.c:
17957         * src/nm-dbus-net.c:
17958         * src/nm-dbus-nm.c:
17959         * test/nminfotest.c:
17960         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17961
17962 2005-03-04  Dan Williams  <dcbw@redhat.com>
17963
17964         * configure.in
17965                 - Mark HEAD as 0.4
17966
17967 2005-03-04  Dan Williams  <dcbw@redhat.com>
17968
17969         Patch from Peter Jones:
17970         - Make stuff work with gcc 4.0
17971
17972 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17973
17974         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17975
17976 2005-02-27  Jim Huang  <jserv@kaffe.org>
17977
17978         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17979
17980 2005-02-27  Dan Williams  <dcbw@redhat.com>
17981
17982         Patch from Bill Moss:
17983         * panel-applet/NMWirelessAppletDbus.c
17984                 - Make sure strength for current access point is up-to-date when we
17985                         update the gui data model
17986
17987 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17988
17989         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17990
17991 2005-02-27  Dan Williams  <dcbw@redhat.com>
17992
17993         * src/backends/NetworkManagerRedHat.c
17994                 - (nm_system_init): Kill any dhclient processes lying around as well
17995                         as stopping 'nifd' if its already been started.  NetworkManager
17996                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17997
17998 2005-02-27  Dan Williams  <dcbw@redhat.com>
17999
18000         * panel-applet/NMWirelessApplet.c
18001                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18002                         dbus data model, not the GUI data model twice.
18003
18004 2005-02-27  Dan Williams  <dcbw@redhat.com>
18005
18006         * panel-applet/NMWirelessApplet.[ch]
18007           panel-applet/NMWirelessAppletDbus.[ch]
18008                 - Move to incremental network updates.  Instead of blowing away our list
18009                         of devices every time we get a signal from NetworkManager, we now
18010                         incrementally add/remove networks when NetworkManager notifies us that
18011                         a new network has appeared or disappered.  Strength updates now happen
18012                         on-the-fly for each access point as well.  There are now two copies of
18013                         data from NetworkManager: one for the dbus side, and one for the gui side.
18014                         When the dbus side data is modified, it is copied over to the gui side
18015                         so we don't have to hold the data_mutex for long periods of time (and
18016                         therefore block animation of the applet's icon).
18017                 - Clean up some memleaks too
18018
18019         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18020                 - Minor code beautification
18021
18022         * src/NetworkManagerAPList.c
18023                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18024                         completely new and whether or not an existing one's strength was updated.
18025                         Try to fix multiple access points and signal strength by using the highest
18026                         signal strength in each scan for any given ESSID.
18027
18028         * src/NetworkManagerDbus.[ch]
18029                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18030                         wireless networks; now we have only WirelessNetworkUpdate which includes
18031                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18032                 - Kill usage of DbusMessageIter
18033
18034         * src/NetworkManagerDevice.c
18035                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18036                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18037                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18038                         currently associated with from the network list.
18039                 - Update for new signals during scan, send out Appeared, Disappeared, or
18040                         StrengthChanged when necessary.
18041
18042 2005-02-25  Dan Williams  <dcbw@redhat.com>
18043
18044         * README
18045                 - Line break the README
18046
18047 2005-02-25  Dan Williams  <dcbw@redhat.com>
18048
18049         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18050                 - Remove usage of gtk_window_set_default_size()
18051
18052         * panel-applet/essid.glade
18053                 - Stick default size here
18054                 - Add in random crap that current glade wants to add in now
18055
18056 2005-02-25  Dan Williams  <dcbw@redhat.com>
18057
18058         * src/backends/NetworkManagerRedHat.c
18059                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18060                         and that we actually tell nscd to reload the hosts cache when it changes
18061
18062 2005-02-25  Dan Williams  <dcbw@redhat.com>
18063
18064         * info-daemon/NetworkManagerInfoDbus.c
18065                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18066
18067         * test/nminfotest.c
18068                 - Whack usage of DbusMessageIter
18069                 - Clean up DbusError and DbusMessage handling and freeing
18070                 - Remove unused unregister handler
18071
18072         * test/nmtest.c
18073                 - Whack usage of DbusMessageIter
18074
18075         * test/nmtestdevices.c
18076                 - Whack usage of DbusMessageIter
18077
18078 2005-02-25  Dan Williams  <dcbw@redhat.com>
18079
18080         * NetworkManager.h
18081                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18082                         signal
18083
18084 2005-02-25  Dan Williams  <dcbw@redhat.com>
18085
18086         * named/nm-named-manager.c
18087                 - Ensure that pid and watch variables for child named process get cleared out
18088                         when the child goes away.
18089
18090 2005-02-22  Dan Williams  <dcbw@redhat.com>
18091
18092         * src/NetworkManagerPolicy.c
18093                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18094                         and NULL out data->active_device so that we have to choose another one.
18095                         This may make NetworkManager keep attempting to connect to a wired network
18096                         if it fails, but if it keeps failing the wired network has more problems than
18097                         just NetworkManager.
18098
18099         * src/backends/NetworkManagerRedHat.c
18100                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18101                         is already running
18102
18103         * named/nm-named-manager.c
18104                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18105                         named so that the distro can flush whatever name service caching
18106                         daemon it uses
18107
18108 2005-02-21  Dan Williams  <dcbw@redhat.com>
18109
18110         * src/NetworkManagerDHCP.[ch]
18111                 - (nm_device_dhcp_remove_timeouts): new function
18112
18113         * src/NetworkManagerDevice.c
18114                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18115                         remove the DHCP timeouts.
18116
18117 2005-02-21  Dan Williams  <dcbw@redhat.com>
18118
18119         * panel-applet/NMWirelessApplet.[ch]
18120           panel-applet/menu-info.[ch]
18121                 - Give the panel applet some major love: menu items are no longer
18122                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18123                         This allows the applet to actually reflect theme changes correctly,
18124                         since themeing of subclassed items in GTK _sucks_.
18125
18126 2005-02-18  Dan Williams  <dcbw@redhat.com>
18127
18128         * libnm_glib/libnm_glib.[ch]
18129           test/libnm_glib_test.c
18130                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18131                         and its data, and doesn't have to free the callback data anymore
18132
18133 2005-02-18  Dan Williams  <dcbw@redhat.com>
18134
18135         * panel-applet/NMWirelessApplet.c
18136                 - Revert 2005-02-18 William Jon McCann fix for standard
18137                         copyright string until it passes 'make distcheck'.
18138                         With standard copyright string, xgettext complains
18139                         about "Non-ASCII string at ...".
18140
18141 2005-02-18  Dan Williams  <dcbw@redhat.com>
18142
18143         * panel-applet/essid.glade
18144           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18145                 - Correct spelling of "adaptor"->"adapter"
18146
18147 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18148
18149         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18150         (nmwa_about_cb): Use standard copyright string.  Update comment
18151         text to reflect that it is a notification area applet.  Remove
18152         leading newline in authors list.
18153         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18154         instead of on parent menu item activation.  Fixes #167550.
18155
18156 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18157
18158         * panel-applet/essid.glade: Capitalize items as per HIG.
18159           Fixes #167632
18160
18161 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18162
18163         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18164         files for GTK 2.4 or lower, since now public in GTK 2.6.
18165
18166         * panel-applet/essid.glade: Don't specify window size.
18167         
18168 2005-02-17  Dan Williams  <dcbw@redhat.com>
18169
18170         Caught by Bill Moss:
18171         * dhcpcd/client.c
18172                 - Time remaining for DHCP transaction calculation was incorrectly
18173                         inside a #ifdef DEBUG
18174
18175 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18176
18177         * configure.in: Added fr (French) to ALL_LINGUAS.
18178
18179 2005-02-14  Dan Williams  <dcbw@redhat.com>
18180
18181         * src/NetworkManagerDHCP.c
18182                 - (set_domain_searches): Fix free of invalid pointer
18183
18184 2005-02-14  Dan Williams  <dcbw@redhat.com>
18185
18186         Patch from Peter Jones:
18187         * dhcpcd/client.c
18188                 - Ensure we return RET_DHCP_CEASED everywhere we should
18189         * dhcpcd/udpipgen.c
18190                 - Use faster TOS for IP packets
18191                 - Don't set ip_id since we're UDP
18192
18193         Patch from Tomislav Vujec:
18194         * src/nm-dbus-dhcp.c
18195           test/nm-dhcp-opt-test.c
18196                 - Clean up warnings to enable cvs tree compilation.
18197
18198 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18199
18200         * configure.in
18201           po/hr.po
18202                 - Add the Croatian locale.
18203
18204 2005-02-14  Colin Walters  <walters@verbum.org>
18205
18206         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18207         list of domains to search.
18208         
18209         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18210
18211 2005-02-13  Dan Williams  <dcbw@redhat.com>
18212
18213         * dhcpcd/client.c
18214                 - Debug output cleanups of DHCP option printing and parsing.
18215
18216 2005-02-13  Dan Williams  <dcbw@redhat.com>
18217
18218         Patch from Dan Reed:  DHCP options D-BUS API
18219                 Exposes the DHCP options that a device receives to clients over D-BUS.
18220
18221         * configure.in
18222                 - A few cleanups
18223
18224         * dhcpcd/client.h
18225                 - Correct names, option length, and types for DHCP options
18226
18227         * dhcpcd/dhcpcd.[ch]
18228                 - Clarify function names that access DHCP options & data
18229
18230         * src/NetworkManagerDHCP.c
18231                 - Use new DHCP data access functions
18232
18233         * src/NetworkManagerDbus.c
18234                 - Message handler for DHCP functions
18235
18236         * src/nm-dbus-dhcp.[ch] (new)
18237                 - DHCP dbus methods
18238
18239         * test/nm-dhcp-opt-test.c
18240                 - Test DHCP D-BUS API and return all present DHCP options
18241
18242 2005-02-12  Dan Williams  <dcbw@redhat.com>
18243
18244         * test/Makefile.am
18245           test/nmclienttest.c
18246           test/nmtest.c
18247                 - Move nmclienttest.c -> nmtest.c
18248
18249 2005-02-12  Dan Williams  <dcbw@redhat.com>
18250
18251         * dhcpcd/buildmsg.c
18252                 - Pad DHCP packets until they are at least 300 bytes in size.
18253
18254 2005-02-11  Dan Williams  <dcbw@redhat.com>
18255
18256         * dhcpcd/client.c
18257                 - (dhcp_init): only print out client ID and class ID if they are specified
18258
18259         * src/NetworkManagerDbus.[ch]
18260           src/nm-dbus-nm.[ch]
18261           src/nm-dbus-device.[ch]
18262           src/nm-dbus-net.[ch]
18263                 - Move NM, Device, and Net functions to separate files and use the
18264                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18265                         method dispatching
18266
18267         * src/NetworkManagerDbusUtils.c
18268                 - Add new validate_method called before each dispatch (if present)
18269                         that can validate the method call
18270
18271         * src/NetworkManagerWireless.c
18272                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18273                         levels never to be evaluated
18274
18275         Patch from j@bootlab.org
18276         * src/NetworkManagerDevice.c
18277                 - Add typedef for "u64"
18278
18279         * src/backends/NetworkManagerDebian.c
18280                 - Copy in Dave Woodhouse's fixes for IPv6
18281
18282 2005-02-11  Dan Williams  <dcbw@redhat.com>
18283
18284         Patch from Dave Woodhouse for IPv6:
18285         * src/NetworkManagerUtils.c
18286                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18287                         and multicast addresses
18288
18289         * src/NetworkManagerDevice.c
18290                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18291                         after bringing up a card.
18292
18293 2005-02-10  Dan Williams  <dcbw@redhat.com>
18294
18295         Patch from Dave Woodhouse:
18296         * src/NetworkManagerSystem.h
18297           src/backends/NetworkManagerDebian.c
18298           src/backends/NetworkManagerGentoo.c
18299           src/backends/NetworkManagerSlackware.c
18300                 - New nm_system_device_add_ip6_link_address() function to add link-local
18301                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18302
18303         * src/backends/NetworkManagerRedHat.c
18304                 - (nm_system_device_add_ip6_link_address): implement
18305                 - (nm_system_device_flush_addresses): revert to previous behavior of
18306                         flushing all addresses
18307
18308 2005-02-10  Dan Williams  <dcbw@redhat.com>
18309
18310         Patch from Tom Parker:
18311         * src/NetworkManagerDevice.c
18312                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18313                         mii.h headers are broken, and instead use our own typedefs
18314
18315 2005-02-10  Dan Williams  <dcbw@redhat.com>
18316
18317         * dhcpcd/buildmsg.c
18318                 - (fill_host_and_class_id): only fill in client and class IDs if
18319                         they are set by callers.
18320
18321         * dhcpcd/client.c
18322                 - (class_id_setup): don't autogenerate a class ID, only use one
18323                         we're given, if any.
18324                 - (client_id_setup): don't autogenerate a client ID, only use one
18325                         we're given, if any.
18326
18327         * dhcpcd/dhcpcd.c
18328                 - (dhcp_interface_init): ensure that client options are correctly
18329                         NULL terminated
18330
18331         * src/NetworkManagerDHCP.c
18332                 - (nm_device_dhcp_request): pass hostname to dhcp library
18333
18334 2005-02-10  Dan Williams  <dcbw@redhat.com>
18335
18336         * dhcpcd/client.c
18337                 - #rh147661# Don't send kernel version in DHCP requests
18338
18339         * src/NetworkManagerSystem.h
18340           src/backends/NetworkManagerDebian.c
18341           src/backends/NetworkManagerGentoo.c
18342           src/backends/NetworkManagerRedHat.c
18343           src/backends/NetworkManagerSlackware.c
18344                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18345                         functions, they are no longer used anyway
18346
18347         * src/backends/NetworkManagerRedHat.c
18348                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18349                         addresses in an attempt to keep IPv6 local-scope addresses around
18350
18351 2005-02-10  Dan Williams  <dcbw@redhat.com>
18352
18353         * src/NetworkManager.c
18354                 - (nm_create_device_and_add_to_list): change the add message slightly
18355
18356         * src/NetworkManagerUtils.c
18357                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18358                         Return driver name to calling function
18359                 - (nm_get_driver_support_level): print out the driver a device is using
18360                         during the support check
18361
18362         Patch from Dave Woodhouse:
18363         * dhcpcd/udpipgen.c
18364                 - (in_cksum): copy last byte of odd-sized packets into a
18365                         'u_short' rather than a 'u_char', should fix wrong checksums
18366                         on big-endian platforms
18367
18368 2005-02-09  Dan Williams  <dcbw@redhat.com>
18369
18370         * Clean up usage of GSList objects and looping through their members
18371         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18372                 now.
18373         * Fix problem where even if scanning was turned off, card would still
18374                 cycle through frequencies.
18375
18376 2005-02-08  Dan Williams  <dcbw@redhat.com>
18377
18378         * panel-applet/NMWirelessApplet.c
18379                 - Fix for gtk 2.4
18380
18381 2005-02-08  Dan Williams  <dcbw@redhat.com>
18382
18383         Patch from Bill Moss
18384         * panel-applet/NMWirelessApplet.c
18385                 - Restore correct ESSID in tooltips
18386
18387 2005-02-07  Dan Williams  <dcbw@redhat.com>
18388
18389         * panel-applet/NMWirelessApplet.[ch]
18390                 - Add a context menu that contains:
18391                         Pause/Resume Wireless Scanning
18392                         Stop/Start All Wireless Devices
18393                         About...
18394                 - Grab active device strength off active device,
18395                         not its network
18396
18397         * panel-applet/NMWirelessAppletDbus.[ch]
18398                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18399                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18400                 - Update active device strength every 2 seconds, not every 1 second
18401
18402         * panel-applet/menu-info.c
18403                 - Only disable wired devices in the menu when they support carrier detection,
18404                         and don't currently have a link.  Non-carrier-detect devices will always
18405                         remain choosable
18406
18407         * src/Makefile.am
18408           src/NetworkManagerDbusUtils.[ch]
18409                 - Add new new dbus utils sources
18410
18411         * src/NetworkManager.c
18412                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18413                         with the boolean parameter
18414                 - Set scanning_enabled & wireless_enabled to TRUE
18415
18416         * src/NetworkManagerDbus.c
18417                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18418                 - Implement scanning & wireless enable/disable calls
18419                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18420
18421         * src/NetworkManagerDevice.c
18422                 - New link detection stuff again...
18423                         o  Create device's mainloop earlier (but don't run it earlier)
18424                         o  Hook up new carrier-detect support stuff
18425                         o  Add in the ethtool & mii support detection code
18426                 - Don't scan if scanning is disabled
18427
18428         * src/NetworkManagerPolicy.c
18429                 - Never automatically choose a device that doesn't support carrier detection
18430                 - Don't automatically choose a wireless device if wireless is disabled
18431
18432 2005-02-07  Dan Williams  <dcbw@redhat.com>
18433
18434         * libnm_glib/libnm_glib.c
18435                 - Small cleanup in element list iteration
18436
18437 2005-02-07  Dan Williams  <dcbw@redhat.com>
18438
18439         * src/NetworkManagerWireless.c
18440                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18441                         to be in line with the WEXT quality specification
18442
18443 2005-02-02  Dan Williams  <dcbw@redhat.com>
18444
18445         Patch from Nathan Fredrickson <nathan@silverorange.com>
18446         * Fix up compile for deprecation of libgnomeui
18447                 - Switch to <glib/gi18n.h> from <libintl.h>
18448                 - Remove <libgnomeui/libgnomeui.h> includes
18449                 - Use gtk_window_set_default_icon_from_file() rather than
18450                         gnome_window_set_default_icon_from_file()
18451
18452         * named/nm-named-manager.c
18453                 - (generate_named_conf): Fix return-nothing in non-void
18454                         function
18455
18456 2005-02-02  Dan Williams  <dcbw@redhat.com>
18457
18458         * Clean up unused variables and the like
18459
18460 2005-02-02  Dan Williams  <dcbw@redhat.com>
18461
18462         * src/NetworkManagerAPList.c
18463                 - (nm_ap_list_merge_scanned_ap): merge strength too
18464
18465         * src/NetworkManagerUtils.c
18466                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18467                         of locking issues by printing out prettier information than g_mutex_lock
18468                 - Print out names of mutexes registered with nm_register_mutex_desc()
18469                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18470                         us to seemingly block here for too long
18471
18472         * src/NetworkManager.c
18473           src/NetworkManagerAPList.c
18474           src/NetworkManagerDevice.c
18475                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18476                         so we get better debug information printed
18477
18478         * src/NetworkManagerDbus.c
18479                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18480                         since it sometimes has locking side effects
18481                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18482                         from 10s
18483                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18484                         we don't need a switch.  This gets called often enough that we can't block
18485                         until the scan mutex is acquired, because we'll block on device activation
18486                         and a few other things, which hangs main thread for too long.
18487
18488         * src/NetworkManagerPolicy.c
18489                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18490                         nm_device_need_ap_switch() will be called               
18491
18492 2005-02-02  Dan Williams  <dcbw@redhat.com>
18493
18494         * panel-applet/NMWirelessApplet.c
18495                 - Display name of wireless network we are connecting to or connected to
18496                         in the tooltip of the applet
18497
18498 2005-02-02  Dan Williams  <dcbw@redhat.com>
18499
18500         * src/NetworkManagerDHCP.c
18501                 - Hopefully fix double-default-route problem by cleaning up the default
18502                         route added by DHCP code right before the DHCP transaction begins
18503
18504 2005-02-02  Dan Williams  <dcbw@redhat.com>
18505
18506         * named/nm-named-manager.c
18507                 - Write out valid resolv.conf when we exit
18508
18509 2005-02-01  Dan Williams  <dcbw@redhat.com>
18510
18511         Patch from Colin Walters:
18512         * named/nm-named-manager.c
18513                 - Make multi-domain search options work
18514
18515 2005-01-31  Dan Williams  <dcbw@redhat.com>
18516
18517         * info-daemon/NetworkManagerInfoDbus.c
18518                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18519
18520         * src/NetworkManagerDevice.c
18521                 - (nm_device_new): Don't store the entire range struct, use only what we need
18522                         (which is currently avg_quality, max_quality, and frequencies).  Also
18523                         zero device structure when we've free'd it to maybe expose errors down
18524                         the line.
18525                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18526                         quality data from the card since quality will be useless during a scan.
18527                         Call updated wireless qual-to-percent function with values stored in
18528                         nm_device_new() earlier.
18529                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18530                         nm_device_get_bad_crypt_packets())
18531                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18532                         nm_device_new()
18533                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18534                         list if available.  Problem was this: when the WEP key is wrong, NM will
18535                         try OS then SK modes, and then get stuck in SK mode after that.  This
18536                         should reset it.
18537                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18538                         function
18539
18540         * src/NetworkManagerWireless.c
18541                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18542                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18543                         if that's all present, otherwise fall back to signal-to-noise ratios.
18544
18545 2005-01-29  Dan Williams  <dcbw@redhat.com>
18546
18547         * initscript/RedHat/NetworkManager
18548                 - Don't spit out sysctl stuff to console
18549
18550         * libnm_glib/libnm_glib.c
18551                 - (libnm_glib_init): call dbus_g_thread_init()
18552
18553         * panel-applet/NMWirelessAppletDbus.c
18554                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18555
18556         * src/NetworkManager.c
18557                 - (main): call dbus_g_thread_init()
18558
18559         * src/NetworkManagerAPList.c
18560                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18561                         so we can actually see what's there in a normal syslog
18562
18563         * src/NetworkManagerDevice.c
18564                 - (nm_device_activate_wireless): print out the "waiting for access point"
18565                         message only once, then say what access point we actually got after
18566                         the wait.
18567                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18568                         function, wait until the scan is done.  Scans may change the ESSID of
18569                         the card, making this function think we need to switch access points
18570                 - (nm_device_wireless_process_scan_results): for artificial access points
18571                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18572                         prevents collisions with the scanning code, which may change the card's
18573                         ESSID and cause the access point to get dropped from the device's AP
18574                         list.  Also increase the keep-around time to 2m from 60s since the max
18575                         scan interval could be 60s in some cases.
18576
18577         * src/NetworkManagerPolicy.c
18578                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18579                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18580                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18581                         between NM and NMI.
18582
18583 2005-01-27  Dan Williams  <dcbw@redhat.com>
18584
18585         * info-daemon/NetworkManagerInfoDbus.c
18586                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18587                         GConf, make a minimal entry for it (essid & timestamp)
18588
18589         * src/NetworkManagerAPList.c
18590                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18591                         NetworkManagerInfo isn't running
18592
18593         * src/NetworkManagerDbus.[ch]
18594                 - (nm_dbus_nmi_is_running): new function
18595
18596         * src/NetworkManagerDevice.c
18597                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18598                         address to garbage.
18599
18600         * src/NetworkManagerPolicy.c
18601                 - (nm_policy_activation_finish): On successful activation, make sure
18602                         the "best" AP has a MAC address, and don't tell NMI to add the
18603                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18604                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18605                         access point after refreshing our allowed list if it doesn't already
18606                         have a "best" access point.
18607
18608 2005-01-25  Dan Williams  <dcbw@redhat.com>
18609
18610         * panel-applet/NMWirelessAppletDbus.c
18611                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18612                         so we check for NM_DBUS_SERVICE rather than not for it
18613
18614         * libnm_glib/libnm_glib.c
18615                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18616                         ServiceOwnerChanged signal
18617
18618 2005-01-25  Dan Williams  <dcbw@redhat.com>
18619
18620         * configure.in
18621                 - Check DBUS version in configure, and set the C macros
18622                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18623
18624         * info-daemon/NetworkManagerInfoDbus.c
18625                 - Remove #if 0-d section of code that quit NMI if NM went away.
18626
18627         * panel-applet/NMWirelessAppletDbus.c
18628                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18629
18630         * src/NetworkManager.c
18631           src/NetworkManagerMain.h
18632           src/NetworkManagerDbus.c
18633                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18634                 - Make updating of our Allowed Wireless Network lists from NMI
18635                         an idle function in the main thread now, with a high priority.
18636
18637 2005-01-24  Dan Williams  <dcbw@redhat.com>
18638
18639         * panel-applet/gtkcellview.[ch]
18640           panel-applet/menu-info.c
18641                 - Fix GTK version checks to be <= rather than <
18642
18643         * test/Makefile.am
18644                 - Include the libtool archive of libnm_glib rather than
18645                         trying to pull in the .so
18646
18647 2005-01-24  Dan Williams  <dcbw@redhat.com>
18648
18649         * src/NetworkManagerDevice.c
18650           src/NetworkManagerDevicePrivate.h
18651                 - Block nm_device_new() until our device's worker thread has had a
18652                         chance to start up.  Fixes a race between main thread and worker
18653                         thread starting that caused activation requests to get lost.
18654
18655 2005-01-24  Dan Williams  <dcbw@redhat.com>
18656
18657         * initscript/RedHat/NetworkManager
18658                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18659                         to add the NM startup script at priority 50, which was
18660                         way too early
18661
18662 2005-01-24  Colin Walters  <walters@redhat.com>
18663
18664         * named/named.conf: Use any port for query source instead of
18665         restricting to port 53.
18666
18667 2005-01-24  Dan Williams  <dcbw@redhat.com>
18668
18669         * initscript/RedHat/NetworkManager
18670                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18671                         to add the NM startup script at priority 50, which was
18672                         way too early
18673
18674 2005-01-24  Dan Williams  <dcbw@redhat.com>
18675
18676         Patch from Tom Parker <palfrey@tevp.net>
18677         * Fix up compile warnings & errors in the wireless applet
18678
18679 2005-01-24  Dan Williams  <dcbw@redhat.com>
18680
18681         * panel-applet/NMWirelessApplet.c
18682                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18683
18684 2005-01-24  Dan Williams  <dcbw@redhat.com>
18685
18686         * panel-applet/gtkcellview.[ch]
18687                 - Only compile these files for GTK 2.4 or lower, since 
18688                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18689                         when choosing "Other Wireless Networks" from the panel
18690                         applet menu
18691
18692 2005-01-21  Dan Williams  <dcbw@redhat.com>
18693
18694         * src/NetworkManager.c
18695                 - Daemonize earlier so that glib doesn't get confused (?)
18696
18697 2005-01-21  Dan Williams  <dcbw@redhat.com>
18698
18699         * panel-applet/NMWirelessApplet.[ch]
18700           panel-applet/NMWirelessAppletDbus.c
18701           panel-applet/menu-info.c
18702           src/NetworkManagerDevice.c
18703                 - Disable wired devices in the menu when they have no link.
18704
18705 2005-01-21  Dan Williams  <dcbw@redhat.com>
18706
18707         * Cache last-known-good wireless authentication method in
18708                 NetworkManagerInfo, and use that method first during
18709                 wireless device activation.  Should speed up devices that
18710                 need Shared Key authentication method since Open System is
18711                 now the default.
18712
18713         * Remove the hack to not do full activation on wired connections
18714                 that are active when we launch, it causes too many problems
18715                 with name resolution and was a hack in the first place.
18716
18717         * Re-work wireless device activation again somewhat to have a
18718                 clearer chain of events and to use last-known-good
18719                 authentication method of the access point.  Also provide
18720                 better status throughout activation to ensure the applet
18721                 can tell the user exactly what's going on.
18722
18723         * Remove the "find wireless network" code and now simply attempt
18724                 to activate with that access point.  This reduces the delay
18725                 between selecting "Other wireless Network" and actually
18726                 connecting to that network.
18727
18728         * Correctly stop the device's worker thread when its removed.
18729
18730 2005-01-21  Dan Williams  <dcbw@redhat.com>
18731
18732         * dhcpcd/client.c
18733                 - Clean up some of the debug messages
18734
18735 2005-01-21  Dan Williams  <dcbw@redhat.com>
18736
18737         * Add new icons, more frames of animation
18738         * Remove some hacks to get the panel applet to display correct
18739                 status, an NM update will soon follow that will fix the
18740                 real issue.
18741
18742 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18743
18744         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18745         the first include for working i18n. Also, don't include it in .h files
18746         * panel-applet/NMWirelessApplet.h: Same
18747         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18748         * panel-applet/menu-info.c: Same
18749
18750 2005-01-18  Dan Williams <dcbw@redhat.com>
18751
18752         * dhcpcd/client.c
18753                 - Remove some debug messages
18754                 - Wrap others in #ifdef DEBUG/#endif
18755
18756         * src/NetworkManager.c
18757                 - Remove some debug messages
18758                 - Clarify some debug messages
18759                 - Remove code related to old single-thread wireless scanning
18760
18761         * src/NetworkManagerAP.[ch]
18762                 - New AP property "last_seen" to track how recently an AP was
18763                         found in a scan
18764                 - Start using 'const' more in function arguments
18765
18766         * src/NetworkManagerAPList.[ch]
18767                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18768                         of an AP found in an AP list from a source AP, or if not found
18769                         in the list add the source AP
18770                 - (nm_ap_list_combine): remove, no longer needed
18771
18772         * src/NetworkManagerDevice.c
18773                 - Each device now has a "worker" thread from start to end of its life.
18774                         Scanning for wireless devices now happens in that thread,
18775                         not in a single "wireless scanning thread" for all devices as
18776                         previously.  Activation consists of adding an idle handler to the
18777                         thread's main loop/context, which gets run at the next available
18778                         opportunity.
18779                 - Wireless scanning is also simplified, there is now only one list of
18780                         access points per wireless device, and APs older than 60s are
18781                         removed from the list.  Previously, we kept results for the last
18782                         3 scans and merged whole lists, which was complicated.
18783                 - Cleaned up activation debug messages.
18784                 - Wireless activation and access-point search routines now use Open System
18785                         authentication before trying Shared Key.
18786                 - Removed some code in nm_device_update_best_ap() that could cause cards
18787                         to loose their link to the access point.
18788                 - Scanning now uses a backoff algorithm, where the inverval becomes
18789                         progressively longer between scans when the list of scanned access
18790                         points doesn't change.  A change will revert to the shortest scan
18791                         interval (20s).
18792
18793         * src/NetworkManagerWireless.[ch]
18794                 - Remove code related to old single-thread wireless scanning
18795
18796 2005-01-18  Colin Walters  <walters@redhat.com>
18797
18798         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18799         of older nameservers.
18800
18801 2005-01-18  Colin Walters  <walters@redhat.com>
18802
18803         * named/nm-named-manager.c (generate_named_conf): Many fixes
18804         to config file generation.
18805         (safer_kill): Remove, was too much trouble for little gain.
18806         (nm_named_manager_start): Run named as NM_NAMED_USER.
18807
18808         * configure.in: Add option --with-named-user.
18809
18810 2005-01-14  Colin Walters  <walters@redhat.com>
18811
18812         Patch from ed@catmur.co.uk (Ed Catmur)
18813
18814         * named/nm-named-manager.c: Add "context" property.
18815         Use it to add child watch source in specific GMainContext.
18816
18817         * src/NetworkManager.c (nm_data_new): Initialize
18818         named with correct main context.  Start named only
18819         after forking.
18820
18821 2005-01-14  Colin Walters  <walters@redhat.com>
18822
18823         * named/nm-named-manager.c (generate_named_conf): Write config
18824         and pid files into NM_NAMED_DATA_DIR; this allows things to
18825         work better with FC3 named SELinux policy.  Also fix up silly
18826         format error.
18827
18828         * configure.in: Add --with-named-dir option.
18829
18830 2005-01-14  Colin Walters  <walters@redhat.com>
18831
18832         * configure.in: Make named support require passing --with-named.
18833
18834         * named/nm-named-manager.c: Support writing resolv.conf directly
18835         without running named.
18836
18837 2005-01-13  Dan Williams <dcbw@redhat.com>
18838
18839         * named/nm-named-manager.c
18840                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18841
18842         * src/NetworkManagerDevice.c
18843                 - Rework wireless link detection code to be more reliable
18844
18845 2005-01-12  Dan Williams <dcbw@redhat.com>
18846
18847         * initscripts/RedHat/NetworkManager
18848                 - Change initial level to "-" rather than "345" so that
18849                         we don't activate ourselves by default on install
18850
18851 2005-01-12  Dan Williams <dcbw@redhat.com>
18852
18853         * libnm_glib/
18854                 - Client library for applications using glib
18855
18856         * configure.in
18857           various Makefiles
18858                 - Split NM_CFLAGS and NM_LIBS into separate variables
18859                         like DBUS_*, HAL_* and GLIB_*
18860
18861         * src/NetworkManager.c
18862           src/NetworkManagerMain.h
18863                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18864                         broadcast a status changed signal over DBUS from the main thread.
18865                         Still unused anywhere for the moment.
18866
18867         Patch from j@bootlab.org
18868         * panel_applet/NMWirelessAppletDbus.c
18869           src/NetworkManagerDbus.c
18870                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18871                         for the "getMode" method call
18872
18873 2005-01-10  Dan Williams <dcbw@redhat.com>
18874
18875         * src/NetworkManagerDevice.c
18876                 - Minor fixups & corrections to "auto" frequency mode, make it
18877                         less chatty with syslog
18878
18879 2005-01-10  Dan Williams <dcbw@redhat.com>
18880
18881         * src/NetworkManagerDevice.c
18882                 - Implement "auto" frequency/channel support, since cards like Atheros
18883                         can't use other frequencies at all when you've told it to use a
18884                         specific one, even for scanning.
18885                 - Grab the scan mutex around places where we can't tolerate wireless
18886                         settings changing underneath us, like nm_device_wireless_network_exists()
18887                         and nm_device_activate_wireless()
18888
18889         * src/NetworkManagerWireless.c
18890                 - Back scan interval off to 20s instead of 14s
18891
18892 2005-01-09  Dan Williams <dcbw@redhat.com>
18893
18894         * src/NetworkManagerDevice.c
18895                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18896                         already set.  Stops some drivers like Atmel from continually
18897                         reloading the firmware, which they do upon every configuration
18898                         change.
18899
18900 2005-01-09  Dan Williams <dcbw@redhat.com>
18901
18902         * dhcpcd/client.c
18903                 - Use correct timeout value
18904
18905         * info-daemon/NetworkManagerInfoDbus.c
18906           src/NetworkManagerDbus.c
18907                 - Consolidate communication between NM and NMI by doing only 1 dbus
18908                         method call to get Wireless Network info from NMI instead of 6
18909
18910         * src/NetworkManager.c
18911                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18912                         when we didn't have an AP to use, we'd wait for one forever without
18913                         quitting
18914
18915         * src/NetworkManagerDevice.c
18916                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18917                         activation, dhcp might not have started yet but we don't quit activation
18918                         before starting it, so the quit signal gets lost
18919
18920 2005-01-07  Dan Williams <dcbw@redhat.com>
18921
18922         * dhcpcd/client.c
18923                 - Rework the DHCP client code to be much less chatty when
18924                         it receives non-DHCP UDP packets during the DHCP run
18925                         (reported by and preliminary patches from Bill Moss)
18926
18927         * Move wireless scanning to a separate thread.  This thread forwards the
18928                 results to the main thread when done where they are integrated into
18929                 the device's access point lists.  This keeps the main thread (which
18930                 does all the DBUS communication) from being blocked for long periods
18931                 of time by wireless scanning.
18932
18933         * Make state modification an idle routine in the main loop, and trigger
18934                 state changes rather than polling for them.
18935
18936         * src/backends/NetworkManagerGentoo.c
18937                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18938
18939         * src/NetworkManagerDevice.c
18940                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18941                         router advertisements, causing problems and infinite loop
18942                         during "best" device determination due to link going up/down
18943                         (reported by Bill Moss)
18944
18945         Apply patch from Peter Jones
18946         * src/NetworkManagerDevice.c
18947                 - Shortcut for link-checking for ipw2x00 cards
18948                 - Split out association check into separate routine
18949
18950 2004-01-05  Colin Walters  <walters@redhat.com>
18951
18952         * named/named.conf: Add PID_FILE.
18953
18954         * named/nm-named-manager.c: Always generate a pid
18955         file, since older BIND versions don't support
18956         "pid-file none".
18957
18958 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18959
18960         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18961
18962 2004-12-22  Dan Williams <dcbw@redhat.com>
18963
18964         * src/NetworkManagerDevice.c
18965                 - Silently fail when setting bitrate doesn't work
18966
18967
18968         Patches from j@bootlab.org:
18969         * src/backends/NetworkManagerDebian
18970                 - Update backend to match functionality in RedHat backend
18971         * src/NetworkManagerDevice.c
18972                 - Take down then bring up wired devices after connection so
18973                 they send out ipv6 router advertisements
18974
18975 2004-12-21  Colin Walters  <walters@verbum.org>
18976
18977         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18978         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18979
18980 2004-12-21  Colin Walters  <walters@redhat.com>
18981
18982         * configure.in: Correct named detection.
18983
18984 2004-12-21  Colin Walters  <walters@redhat.com>
18985
18986         * src/NetworkManager.c (nm_data_new): Initialize named.
18987         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18988         the mainloop when these signals are received.
18989         (nm_data_free): Unref named.
18990         (sigterm_handler, sigterm_pipe_handler): New functions for
18991         exiting mainloop.
18992         
18993         * src/NetworkManagerMain.h (NMData): Add signal handling and
18994         nameserver bits.
18995
18996         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18997         unref.
18998
18999         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19000         set nameservers from DHCP response data.
19001         (set_domain_search): Set domain search from DHCP response.
19002         (nm_device_dhcp_configure): Invoke them.
19003
19004         * src/NetworkManagerSystem.c
19005         (nm_system_device_update_resolv_conf): Delete.  Deleting
19006         code is totally sweet.
19007
19008         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19009
19010         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19011         implements an object which controls a nameserver.  Currently
19012         uses bind 9.
19013
19014         * configure.in: Check for named.
19015
19016         * Makefile.am (SUBDIRS): Add named dir.
19017
19018         * named/named.conf: New template config file.
19019
19020 2004-12-20  Colin Walters  <walters@redhat.com>
19021
19022         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19023         instead of '='.
19024
19025 2004-12-17  Dan Williams  <dcbw@redhat.com>
19026
19027         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19028                 link-local addresses instead of doing DHCP.
19029
19030         * In the panel applet, there's a new "Create new Wireless Network..." item
19031
19032         * The panel applet also sticks around now even if NetworkManager dies, but
19033                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19034                 a bug, I'll fix that later.
19035
19036         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19037                 lookups after a switch rather than actually doing them.
19038
19039         * Clean up some of those warnings in nm_ap_list_* functions
19040
19041         * Delay between scans changed to 15s instead of 10s
19042
19043 2004-12-15  Dan Williams  <dcbw@redhat.com>
19044
19045         Patch from Tom Parker
19046         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19047                 address
19048
19049         * Longer pause after setting ESSID on cards that support a larger number
19050                 of channels to give the card time to find the right channel
19051
19052         * Add system hook to restart mDNSResponder (or whatever the local implementation
19053                 of Multicast DNS is) when we activate interfaces
19054
19055 2004-12-15  Dan Williams  <dcbw@redhat.com>
19056
19057         * Rework the DHCP code again to revert to sending full ethernet frames
19058                 rather then relying on the kernel to do the right thing with our
19059                 packets.
19060
19061 2004-12-06  Dan Williams  <dcbw@redhat.com>
19062
19063         * dhcpcd/client.c
19064                 - Fix some minor errors in dhcp_handle_transaction() that caused
19065                         unexpected early timeouts of DHCP transactions
19066
19067         * dhcpcd/client.h
19068                 - DHCP retransmit time from 4s -> 5s
19069
19070 2004-12-05  Dan Williams  <dcbw@redhat.com>
19071
19072         * Major rework of the DHCP code, taking some cues from pump.  We don't
19073                 write raw Ethernet packets anymore, which simplifies the code quite
19074                 a bit.  The new code should be more robust, not hang in recvfrom()
19075                 as much, and generally work better.  This also means that we need
19076                 to force HAL/dbus to use a created GMainContext rather than the
19077                 default context, since having the DHCP renew/rebind thread using
19078                 its own GMainContext seemed to give dbus a fit.  There is also more
19079                 debugging information printed from the DHCP loop to help with future
19080                 problems.
19081
19082         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19083                 assume that the default gateway should be the DHCP server.
19084
19085         Patch from Matthew Schick <matt oss-institute org>
19086         * src/backends/NetworkManagerGentoo.c
19087                 - Fix compilation error due to missing "ip4_broadcast"
19088
19089 2004-12-03  Dan Williams  <dcbw@redhat.com>
19090
19091         * initscript/Makefile.am
19092         * initscript/Debian/NetworkManager
19093         * initscript/Gentoo/NetworkManager
19094         * initscript/RedHat/NetworkManager
19095         * initscript/NMLaunchHelper.c
19096                 - Remove NMLaunchHelper, if you need to wait until the network
19097                         comes up, use the dead code from CVS.
19098
19099 2004-12-01  Colin Walters  <walters@redhat.com>
19100         
19101         * configure.in: Suck in gcc warnings code from Rhythmbox,
19102         but use fewer default flags, and in particular add -Wno-unused,
19103         since the codebase has a lot of unused variables.
19104
19105         * test/nmtestdevices.c (create_device): 
19106         * test/nminfotest.c (get_network_string_property) 
19107         (get_networks_of_type): 
19108         * test/nmclienttest.c (main): 
19109         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19110         * initscript/NMLaunchHelper.c (get_nm_status): 
19111         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19112         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19113         Fix declarations after statements.
19114
19115 2004-12-01  Colin Walters  <walters@redhat.com>
19116
19117         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19118         (nmi_dbus_get_vpn_userpass): New method.
19119         (nmi_dbus_nmi_message_handler): Invoke it.
19120
19121         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19122
19123         * info-daemon/NetworkManagerInfoVPN.h,
19124         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19125         to requests for VPN passwords.
19126
19127         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19128
19129 2004-12-01  Colin Walters  <walters@redhat.com>
19130
19131         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19132         includes.
19133
19134 2004-12-01  Colin Walters  <walters@redhat.com>
19135
19136         * panel-applet/NMWirelessAppletDbus.c
19137         (nmwa_dbus_update_active_device_strength): Fix missing
19138         return value.
19139
19140 2004-12-01  Colin Walters  <walters@redhat.com>
19141
19142         * panel-applet/NMWirelessApplet.c: Add missing include.
19143
19144 2004-12-01  Colin Walters  <walters@redhat.com>
19145
19146         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19147         Remove useless CLAMP (); the value is unsigned, and the case tests
19148         qual->qual < 100, so the value must always be between 0 and 100.
19149
19150 2004-12-01  Colin Walters  <walters@redhat.com>
19151
19152         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19153
19154 2004-11-22  Colin Walters  <walters@verbum.org>
19155
19156         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19157         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19158         which is essentially a noop since nscd caches hosts on disk too.
19159         
19160 2004-11-22  Colin Walters  <walters@redhat.com>
19161
19162         * src/Makefile.am (NetworkManager_SOURCES): Add
19163         NetworkManagerDevicePrivate.h.
19164
19165 2004-11-22  Dan Williams <dcbw@redhat.com>
19166
19167         * src/NetworkManagerDevicePrivate.h
19168                 - Split out the NMDevice struct to a different file so that stuff like
19169                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19170
19171         * dhcpcd/client.c
19172                 - fprintf->syslog
19173                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19174                         need to cancel the dhcp request during the send and recv
19175
19176         * dhcpcd/client.h
19177                 - Move the DHCP option enum to dhcpcd.h
19178
19179         * src/NetworkManagerDHCP.c
19180                 - Split out the actual IP/netmask/etc setting code
19181                 - New Renew/Rebind functions
19182                 - New timer setup function for renew/rebind operations
19183
19184         * src/NetworkManagerDevice.c
19185                 - For device activation, if we are using DHCP then keep the activation thread
19186                         alive until device deactivation.  We need to renew/rebind the DHCP address
19187                         after the T1 (renew) and T2 (rebind) times have expired.
19188                 - Increase some timeouts after bringing wireless cards up/down
19189
19190 2004-11-17  Dan Williams <dcbw@redhat.com>
19191
19192         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19193                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19194                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19195                 show known access points that don't broadcast their ESSID in the menus without
19196                 any user intervention whatsoever.
19197
19198         * info-daemon/NetworkManagerInfoDbus.c
19199                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19200                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19201
19202         * src/NetworkManagerAP.[ch]
19203                 - Add a "user_addresses" data member to the NMAccessPoint structure
19204                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19205                         the user_addresses data member
19206
19207         * src/NetworkManagerAPList.c
19208                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19209                         the AP's reported address
19210                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19211
19212         * src/NetworkManagerDHCP.c
19213                 - Increase DHCP timeout from 25s -> 30s
19214
19215         * src/NetworkManagerDbus.[ch]
19216                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19217                         user addresses
19218
19219         * src/NetworkManagerDevice.c
19220                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19221                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19222                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19223                         So, we take the card down to clear it out.
19224                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19225                         too, since that's where the user_addresses are
19226
19227         * src/NetworkManagerPolicy.c
19228                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19229                         that wireless networks' user_addresses list upon successful activation
19230
19231 2004-11-16  Dan Williams <dcbw@redhat.com>
19232
19233         * src/NetworkManagerDevice.[ch]
19234                 - (nm_device_clear_activation_fail): new function
19235
19236         * src/NetworkManagerPolicy.c
19237                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19238                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19239
19240 2004-11-16  Dan Williams <dcbw@redhat.com>
19241
19242         * src/NetworkManagerDevice.c
19243                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19244                         leak the structure, better updating of now_scanning status
19245                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19246
19247 2004-11-15  Dan Williams <dcbw@redhat.com>
19248
19249         Major rework of link detection code.  We now use DHCP
19250         as part of the link detection which proves to be much more robust,
19251         and also supports Open System authentication for wireless networks.
19252
19253         We no longer use external DHCP client programs.  Instead, we use 
19254         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19255         which was written by:
19256                 Yoichi Hariguchi <yoichi@fore.com>
19257                 Sergei Viznyuk <sv@phystech.com>
19258                 http://www.phystech.com/download/
19259         It resides in the "dhcpcd" directory and was refactored into a general
19260         purpose DHCP client library by me.
19261
19262         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19263         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19264
19265 2004-11-15  Dan Williams <dcbw@redhat.com>
19266
19267         Patch from Tom Parker <palfrey@tevp.net>:
19268
19269         * src/NetworkManagerDevice.c
19270                 - Less output to console when no access
19271                         points are found during a scan
19272
19273 2004-11-15  Dan Williams <dcbw@redhat.com>
19274
19275         Patch from Tom Parker <palfrey@tevp.net>:
19276
19277         * src/backends/interface_parser.c
19278                 - Use g_strdup ()
19279                 - Check for inp == NULL
19280                 - use syslog ()
19281
19282 2004-11-13  Colin Walters  <walters@redhat.com>
19283
19284         Patch from Tom Parker <palfrey@tevp.net>:
19285
19286         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19287         
19288         * src/backends/NetworkManagerRedHat.c: Switch to
19289         including shvar.h instead of shvar.c.
19290
19291         * src/backends/NetworkManagerDebian.c: Don't include
19292         interface_parser.c in source file.
19293
19294         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19295         and interface_parser.[ch].
19296         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19297         Include shvar.c and shvar.h here.
19298         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19299         interface_parser.c and interface_parser.h here.
19300
19301 2004-11-12  Colin Walters  <walters@redhat.com>
19302
19303         * configure.in: Strip out TARGET_DISTRO and
19304         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19305         conditionals.
19306
19307         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19308         (libnmbackend_la_SOURCES): Use Automake conditionals
19309         to add distro-specific files.
19310
19311         * initscript/Makefile.am (SUBDIRS): Update to
19312         use conditionals.
19313
19314 2004-11-12  Colin Walters  <walters@redhat.com>
19315
19316         Patches from j bootlab org
19317
19318         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19319         Add interface_parser.[ch].
19320
19321         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19322         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19323
19324 2004-11-12  Colin Walters  <walters@redhat.com>
19325
19326         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19327         call to nmi_dbus_is_running too, not necessary anymore.
19328         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19329         pick up exit().
19330
19331 2004-11-11  Colin Walters  <walters@verbum.org>
19332
19333         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19334         Delete.
19335         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19336         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19337         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19338         This avoids a race condition that made it pretty easily
19339         possible to get two NetworkManagerInfo daemons running.
19340
19341 2004-11-11  Colin Walters  <walters@verbum.org>
19342         
19343         * src/NetworkManager.c (main): Use daemon(3).
19344
19345         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19346
19347         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19348
19349 2004-11-10 Dan Williams <dcbw@redhat.com>
19350
19351         Patches from j bootlab org
19352         * src/NetworkManagerDevice.c
19353                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19354                         whether the card has a link or not, some cards are slow
19355                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19356
19357         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19358                 - Disable the "Login" button on the passphrase dialog until the user
19359                         enters a valid passphrase or key
19360
19361         Patches from Tom Parker <palfrey tevp net>
19362         * src/backends/NetworkManagerDebian.c
19363                 - Add static IP support to the debian backend
19364
19365         * src/backends/interface_parser.[ch]
19366                 - Parse debian interface config files
19367
19368 2004-11-08 Dan Williams <dcbw@redhat.com>
19369
19370         * src/NetworkManagerDevice.c
19371                 - Some random fprintf->syslog conversions
19372                 - (nm_device_wireless_network_exists): double-check for network
19373                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19374
19375         * src/NetworkManagerWireless.[ch]
19376                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19377                         so that the binary->ascii conversion works (if unsigned, the bitshift
19378                         will fill with zeros, which is what's required).  Also mask bitshift
19379                         result with 0xF for futher assurance.
19380
19381 2004-11-06 Dan Williams <dcbw@redhat.com>
19382
19383         * src/NetworkManagerUtils.c
19384                 - (nm_get_wireless_driver_support_level): default to
19385                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19386                         flip this when changing from whitelist->blacklist of
19387                         wireless drivers
19388
19389 2004-11-05 Dan Williams <dcbw@redhat.com>
19390
19391         Patch from Robert Paskowitz:
19392         * src/backends/NetworkManagerGentoo.c
19393                 - Update static IP config code
19394
19395 2004-11-05 Dan Williams <dcbw@redhat.com>
19396
19397         * info-daemon/NetworkManagerInfoDbus.c
19398           src/NetworkManagerDbus.[ch]
19399           src/NetworkManagerDevice.c
19400                 - Keep track of the # of attempts to get the WEP key
19401                         from the user and pass that along to the info daemon
19402
19403 2004-11-05 Dan Williams <dcbw@redhat.com>
19404
19405         * src/NetworkManagerUtils.c
19406                 - Blacklist wireless cards rather than whitelisting them.
19407                 - Grab driver name from HAL rather than trying to find it
19408                         ourselves.
19409
19410 2004-11-03 Dan Williams <dcbw@redhat.com>
19411
19412         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19413                 - Disable OK button until valid data is entered
19414                         for encryption stuff too
19415
19416         * panel-applet/NMWirelessApplet.c
19417                 - Report card strength for current AP if the card
19418                         doesn't report strength data for scanned access
19419                         points
19420
19421         * src/NetworkManagerDevice.c
19422                 - Smooth out cards reported quality, Atmel card was
19423                         intermittently reporting no quality data but soon
19424                         recovers
19425
19426         * src/NetworkManagerWireless.c
19427                 - Better quality data percentage calculation.  Atmel
19428                         cards (mine at least) seem to report the quality
19429                         in percentage format already, so honor that
19430
19431         Patch from <j@bootlab.org>
19432         * NetworkManager.h
19433           info-daemon/NetworkManagerInfoPassphraseDialog.c
19434           info-daemon/passphrase.glade
19435           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19436           panel-applet/essid.glade
19437           src/NetworkManagerAP.c
19438           src/NetworkManagerDevice.c
19439           src/NetworkManagerWireless.[ch]
19440                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19441
19442 2004-11-03 Dan Williams <dcbw@redhat.com>
19443
19444         * src/NetworkManagerDevice.[ch]
19445                 - (nm_device_set_enc_key): Add parameter to set Authentication
19446                         Mode (Open System, Shared Key, or None).  We're still using
19447                         Shared Key for now though.
19448
19449 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19450
19451         * panel-applet/menu-info.c: change from bold text to light
19452         colored, may cause problems with some themes, i've tested a lot
19453         and they seem fine. 
19454
19455         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19456
19457 2004-11-01  Colin Walters  <walters@verbum.org>
19458
19459         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19460         (nm_wireless_128bit_key_from_passphrase): Add const.
19461
19462         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19463         (nm_ap_set_enc_key_source): Add const.
19464         
19465 2004-11-01  Colin Walters  <walters@verbum.org>
19466
19467         * .cvsignore: Update.
19468
19469 2004-10-29 Dan Williams <dcbw@redhat.com>
19470
19471         * src/NetworkManagerDevice.c
19472                 - (nm_device_wireless_network_exists): Actually use the encryption
19473                         key we got from the applet when attempting to find a wireless network
19474                 - Don't bring devices down so much since on some cards it triggers
19475                         firmware hotplugs each time
19476
19477         * src/NetworkManagerDbus.c
19478                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19479                         from the caller
19480
19481 2004-10-29 Dan Williams <dcbw@redhat.com>
19482
19483         * src/NetworkManager.c
19484                 - (nm_hal_device_property_modified): unlock a locked active
19485                         wireless device when a wired connection gets a link.
19486                         (Means you'll switch to wired whenever you plug in no
19487                         matter what).
19488
19489 2004-10-29 Dan Williams <dcbw@redhat.com>
19490
19491         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19492                 - New files, implement the "Other wireless network" dialog
19493
19494         * panel-applet/NMWirelessApplet.c
19495                 - Move "other wireless network" dialog to separate file
19496
19497         * panel-applet/NMWirelessAppletDbus.[ch]
19498                 - Take key and key_type paramaters for the set_device function
19499
19500         * panel-applet/essid.glade
19501                 - Add UI bits for encryption settings
19502
19503         * src/NetworkManagerDbus.c
19504                 - Retrieve key and key_type params for "setActiveDevice" method call
19505                         and pass them on
19506                 - unref AP returned from nm_device_get_best_ap() when needed
19507
19508         * src/NetworkManagerDevice.c
19509                 - (nm_device_get_best_ap): ref the ap before returning it
19510                 - unref AP returned from nm_device_get_best_ap() when needed
19511                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19512                         need to call nm_device_get_best_ap() here, it was pretty much
19513                         redundant anyway
19514                 - (AP_NEED_KEY): break second link check condition out into separate
19515                         function, and fix segfault when ap->enc_key_source was NULL
19516                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19517                         pass them along to nm_device_wireless_network_exists().  If the
19518                         network does exist, set the passed-in key+key_type on the AP
19519
19520         * src/NetworkManagerPolicy.c
19521                 - unref AP returned from nm_device_get_best_ap() when needed
19522
19523 2004-10-28 Dan Williams <dcbw@redhat.com>
19524
19525         * src/NetworkManagerUtils.c
19526                 - (nm_spawn_process): Fix a potential dereference of NULL
19527
19528         Patches from Peter Jones:
19529
19530         * src/NetworkManagerDevice.c
19531                 - (nm_device_test_wireless_extensions): Better check for
19532                         wireless devices
19533
19534         * src/NetworkManagerUtils.c
19535                 - (nm_spawn_process): Pass in valid stdout and stderr so
19536                         executed programs don't randomly SIGPIPE and fail
19537                 - (nm_get_wired_driver_support_level): quash hal warning
19538                         when checking for USB ethernet device
19539
19540 2004-10-27 Dan Williams <dcbw@redhat.com>
19541
19542         * info-daemon/NetworkManagerInfo.c
19543           info-daemon/NetworkManagerInfoDbus.c
19544           info-daemon/NetworkManagerInfoPassphraseDialog.c
19545           panel-applet/NMWirelessApplet.c
19546                 - Properly escape gconf keys
19547
19548         * src/NetworkManager.c
19549                 - remove unused variables
19550
19551         * src/NetworkManagerAP.c
19552                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19553                         refcount since it got set in nm_ap_new()
19554
19555         * src/NetworkManagerAPList.c
19556                 - (nm_ap_list_combine): Give up ownership of newly created
19557                         access points to the ap list, fixes memleak
19558
19559         * src/NetworkManagerDevice.c
19560                 - Remove cached_ap_list4 member since its not really needed
19561                 - (nm_device_wireless_network_exists): Try to get correct
19562                         encryption status of a found AP if its already in our
19563                         device list
19564                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19565                         memory allocs/deallocs a bit clearer and shorter-lived
19566
19567 2004-10-26 Ray Strode <rstrode@redhat.com>
19568
19569         * panel-applet/NMWirelessApplet.c:
19570           (custom_essid_item_selected):  kill some compiler
19571         warnings 
19572
19573 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19574
19575         * info-daemon/NetworkManagerInfoDbus.c
19576                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19577                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19578
19579 2004-10-23 Dan Williams <dcbw@redhat.com>
19580
19581         * info-daemon/NetworkManagerInfoDbus.c
19582                 - Trap the "DeviceActivationFailed" signal
19583
19584         * docs/NetworkManager DBUS API.txt
19585                 - Add "DeviceActivationFailed" signal
19586
19587         * panel-applet/NMWirelessAppletDbus.c
19588                 - Quash the "NetworkManager service not available" message
19589
19590         * src/NetworkManagerDbus.[ch]
19591                 - Add the "DeviceActivationFailed" signal
19592
19593         * src/NetworkManagerDevice.c
19594                 - Add support for activation_failed flag
19595                 - Fix deadlock where activation thread didn't clean itself up, making
19596                         main thread still believe it was alive forever (didn't reset activation
19597                         flags like activating, just_activated, etc when IP configuration
19598                         failed)
19599
19600         * src/NetworkManagerPolicy.c
19601                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19602                         for wireless networks, try to fall back to some other access point
19603
19604 2004-10-23 Dan Williams <dcbw@redhat.com>
19605
19606         * panel-applet/NMWirelessApplet.[ch]
19607                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19608                         to the applet object, so we can get tooltips
19609                 - Add tooltips (RH #136866)
19610
19611         * src/NetworkManagerDevice.c
19612                 - When trying to find a wireless network, try to connect with encryption
19613                         turned on first, so that we can more accurately detect whether or not
19614                         we need to use encryption for the actual association later on
19615
19616 2004-10-21 Dan Williams <dcbw@redhat.com>
19617
19618         * Add some support for telling NetworkManagerInfo to tell the user
19619                 that they are using a device that's not fully supported
19620
19621         * Fix some assertions in debug messages due to null access point args
19622
19623 2004-10-21 Dan Williams <dcbw@redhat.com>
19624
19625         * src/NetworkManagerDevice.c
19626                 - Don't try to activate/bring up/down unsupported
19627                         devices
19628
19629         * src/NetworkManagerUtils.c
19630                 - Fix case of PCI ID checks for driver support levels
19631
19632 2004-10-21 Dan Williams <dcbw@redhat.com>
19633
19634         * NetworkManager.h
19635                 - New file, now contains commonly used structures and bits
19636                         for the dbus API of NetworkManager
19637
19638         * Makefile.am
19639                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19640
19641         * src/NetworkManager.h
19642                 - Rename -> src/NetworkManagerMain.c
19643
19644         * Various fixups all around to use NetworkManager.h and new
19645                 src/NetworkManagerMain.h, remove redundant bits that got
19646                 moved into NetworkManager.h
19647
19648         * src/NetworkManagerDevice.[ch]
19649           src/NetworkManagerUtils.[ch]
19650           src/NetworkManagerPolicy.c
19651           src/NetworkManagerDbus.c
19652                 - Whitelist wireless drivers, and blacklist some wired
19653                         drivers.  Also blacklist cipsec and ethernet-over-usb
19654                         devices at this time (RH #135722, RH #135648)
19655                 - Don't leak unsupported devices out over dbus, or allow
19656                         them to be set as the active device.  Skip over them
19657                         during automatic device picking
19658
19659         * test/nmclienttest.c
19660                 - Clean up the dbus code a lot
19661
19662 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19663
19664         * configure.in: post release bump.
19665
19666 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19667
19668         * configure.in:
19669         * NEWS: Released NetworkManager-0.3.1
19670
19671 2004-10-18 Dan Williams <dcbw@redhat.com>
19672
19673         Patches from Thom May:
19674         * test/nmtestdevices.c
19675                 - Include <string.h>
19676         * src/backends/NetworkManagerDebian.c:
19677                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19678                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19679                         Move to using g_strdup_printf rather than arbitrary buffers
19680                 - (nm_system_device_setup_static_ip4_config) Implement function.
19681                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19682
19683 2004-10-17 Dan Williams <dcbw@redhat.com>
19684
19685         * info-daemon/NetworkManagerInfoDbus.c
19686                 - Display name of network in the "network not found" dialog
19687
19688         * panel-applet/NMWirelessAppletDbus.c
19689                 - (nmwa_dbus_call_nm_method): new function replaces all other
19690                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19691                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19692                         consolidated into nmwa_dbus_get_object_name()
19693
19694 2004-10-15 Dan Williams <dcbw@redhat.com>
19695
19696         * src/NetworkManagerDbus.c
19697           info-daemon/NetworkManagerInfoDbus.c
19698                 - Display an error dialog when the user tries to use an
19699                         "Other wireless network" that's not found.
19700
19701 2004-10-15 Dan Williams <dcbw@redhat.com>
19702
19703         * panel-applet/NMWirelessApplet.[ch]
19704                 - Fix up corner cases in applet state, making it
19705                         look more responsive.  Change state to "connecting" when
19706                         the user is forcing a device too.
19707
19708 2004-10-15 Dan Williams <dcbw@redhat.com>
19709
19710         * src/NetworkManagerAPList.c
19711                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19712
19713         * src/NetworkManagerDbus.c
19714                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19715
19716         * src/NetworkManagerDevice.c
19717                 - Disown APs after the device's AP list takes ownership
19718
19719 2004-10-15 Dan Williams <dcbw@redhat.com>
19720
19721         * panel-applet/NMWirelessApplet.c
19722                 - Update our applet state from the GUI thread
19723
19724         * panel-applet/NMWirelessAppletDbus.c
19725                 - Greatly simplify the locking to make the GUI thread
19726                         smoother.  Update a private copy of the device list
19727                         and active device and only when done talking to
19728                         NetworkManager turn it over to the GUI thread.
19729
19730 2004-10-15 Dan Williams <dcbw@redhat.com>
19731
19732         * src/NetworkManagerAP.[ch]
19733                 - Add "artificial" get/set functions, set for APs that
19734                         aren't discovered as part of a scan but instead
19735                         discovered by force-setting the ESSID
19736
19737         * src/NetworkManagerDevice.[ch]
19738                 - (nm_device_wireless_network_exists): pass back whether
19739                         or not the discovered AP was encrypted.  Also, try
19740                         falling back to encrypted mode on the card if unencrypted
19741                         association doesn't work
19742                 - (nm_device_find_and_use_essid): If the network requested
19743                         did in fact exists, but it wasn't in our scan list, add
19744                         an "artificial" entry for it.  Some Cisco cards don't
19745                         see non-ESSID-broadcasting APs in their scan but can still
19746                         associate with them if you know the ESSID, this works around
19747                         that behavior
19748                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19749                         to scan if the card is currently associated with that AP
19750
19751 2004-10-15 Dan Williams <dcbw@redhat.com>
19752
19753         ---- We have a website ----
19754         http://people.redhat.com/dcbw/NetworkManager
19755
19756         Patch from Robert Paskowitz:
19757         * src/NetworkManager.c
19758                 - (main): Make sure we are run as root
19759         * src/NetworkManagerDevice.c
19760                 - Fix type in ad-hoc setting function
19761
19762         Patch from Thom May:
19763         * src/backends/NetworkManagerDebian.c
19764                 - Make Debian backend compile again
19765
19766 2004-10-14 Dan Williams <dcbw@redhat.com>
19767
19768         * Tagged NetworkManager-0_3
19769
19770 2004-10-14 Dan Williams <dcbw@redhat.com>
19771
19772         Patch from Robert Paskowitz:
19773         * NEWS
19774           src/NetworkManagerDevice.[ch]
19775           src/backends/NetworkManagerDebian.c
19776           src/backends/NetworkManagerGentoo.c
19777           src/backends/NetworkManagerRedHat.c
19778           src/backends/NetworkManagerSlackware.c
19779                 - Add support for grabbing and using a broadcast address
19780                         from system config files
19781                 - Some Gentoo backend fixes for grabbing network config
19782                 - Fix LOG_WARN->LOG_WARNING
19783
19784 2004-10-14 Dan Williams <dcbw@redhat.com>
19785
19786         * NEWS: a few small fixes in the credits
19787
19788 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19789
19790         * NEWS: prep for release.
19791
19792 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19793
19794         * panel-applet/NMWirelessAppletDbus.c
19795         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19796
19797 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19798
19799         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19800         applet->state == APPLET_STATE_NO_NM animation.
19801
19802         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19803         set the text correctly.
19804
19805 2004-10-14 Dan Williams <dcbw@redhat.com>
19806
19807         * src/NetworkManager.c
19808                 - Only accept and manager 802.3 and 802.11 devices
19809
19810         * src/NetworkManagerDbus.[ch]
19811                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19812                         logic into NetworkManagerDevice.c
19813                 - (nm_dbus_network_status_from_data): new function
19814                 - (nm_dbus_signal_network_status_change): new function, unused for now
19815                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19816
19817         * src/NetworkManagerDevice.[ch]
19818                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19819                         a random ESSID.
19820
19821 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19822
19823         * info-daemon/NetworkManagerInfo.c 
19824                 - (main): Added session management
19825
19826 2004-10-14 Dan Williams <dcbw@redhat.com>
19827
19828         * panel-applet/NMWirelessAppletDbus.[ch]
19829                 - Expose network_device_[un]ref()
19830                 - Expose wireless_network_[un]ref()
19831                 - (wireless_network_new_with_essid): new function, create and return
19832                         a wireless network with a particular essid
19833
19834         * panel-applet/NMWirelessApplet.c
19835                 - Hook up the "other network" dialog to do something
19836
19837 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19838
19839         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19840         doesn't work yet, but it looks okay.
19841
19842         * panel-applet/icons/*png: Resize to 22x22 and install in the
19843         right place.
19844
19845 2004-10-13 Dan Williams <dcbw@redhat.com>
19846
19847         * panel-applet/NMWirelessApplet.c
19848                 - Add function to print out applet_state in a readable
19849                         manner
19850
19851         * src/NetworkManager.c
19852                 - (main): Don't segfault when nm_dbus_init() fails, we had
19853                         a left-over call to hal_shutdown() into which we passed NULL
19854
19855         * src/NetworkManagerAP.c
19856                 - (nm_ap_set_essid): Allow NULL essids
19857
19858         * src/NetworkManagerAPList.[ch]
19859                 - More use of nm_ap_list_[un]lock ()
19860                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19861                         network/essid, just return nothing.  Also skip over NULL
19862                         essid access points in the list when searching
19863                 - (nm_ap_list_get_ap_by_address): new function
19864                 - (nm_ap_list_update_network): set the access point's key source to
19865                         NULL when the key returned from NetworkManagerInfo is NULL or
19866                         of 0 length
19867                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19868                         copy timestamp over too
19869                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19870                         find the correct ESSID for a blank-essid access point by searching
19871                         through another list and matching access point MAC addresses
19872                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19873
19874         * src/NetworkManagerDbus.c
19875                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19876                         may specify.  This is mainly for access points that don't
19877                         broadcast their essid.  So if the user tells us to associate with
19878                         some random ESSID that's not in our access point list, we find
19879                         out if the access point does in fact exist (by attempting association
19880                         and then matching that access point's MAC address with the essid the
19881                         user gave us) and then we switch to it.
19882                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19883                         to the returned list of networks for the "getNetworks" method
19884
19885         * src/NetworkManagerDevice.[ch]
19886                 - Extra debugging info for link detection
19887                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19888                         based on MAC address
19889                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19890                 - (nm_device_wireless_network_exists): new function, find out whether
19891                         a random ESSID exists by attempting to associate with it
19892                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19893                         device list as long as they have an AP MAC address we can use.
19894                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19895                         devices too.  Lets the applet update more frequently.
19896
19897         * src/backends/NetworkManagerGentoo.c
19898                 - Patch from: Robert Paskowitz
19899                         - Update backend code for Gentoo
19900                         - Implement nm_system_device_update_config_info ()
19901
19902         * test/nmclienttest.c
19903                 - (set_network_device): new function, takes a command-line argument
19904                         and tells NetworkManager to use that wireless network
19905
19906 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19907
19908         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19909         if the notification icon crashes 5 times within 5 seconds of each respawn 
19910
19911 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19912
19913         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19914         g_print.
19915
19916 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19917
19918         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19919
19920         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19921         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19922         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19923         Change the name of the icons.
19924
19925         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19926         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19927         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19928         (nm_menu_wireless_expose_event): Really bad hack to get the style
19929         to draw in the right color.
19930
19931 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19932
19933         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19934         Notification if it crashes
19935
19936 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19937
19938         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19939         (nmwa_dbus_get_string): remove unused functions
19940
19941         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19942         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19943         remove unused functions
19944
19945         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19946
19947 2004-10-12 Dan Williams <dcbw@redhat.com>
19948
19949         * panel-applet/NMWirelessAppletDbus.c
19950                 - New functions:
19951                         wireless_network_new
19952                         wireless_network_copy
19953                         network_device_new
19954                         network_device_copy
19955
19956         * src/NetworkManagerDevice.[ch]
19957                 - New functions:
19958                         nm_device_set_mode_managed
19959                         nm_device_set_mode_adhoc
19960                 - Use these functions where appropriate
19961                 - When creating a new wireless device, force the card
19962                         to managed/Infrastructure mode as soon as possible
19963
19964 2004-10-12 Dan Williams <dcbw@redhat.com>
19965
19966         * src/NetworkManagerDevice.c
19967                 - Force wireless cards into Infrastructure mode before we use them
19968
19969 2004-10-12 Dan Williams <dcbw@redhat.com>
19970
19971         * TODO
19972                 - Remove bit about static IP address support
19973
19974         * src/NetworkManagerUtils.c
19975                 - (nm_spawn_process): Add some error reporting
19976
19977         * src/NetworkManagerDevice.c
19978                 - (nm_device_activation_configure_ip): hook up to the static config
19979                         routines in the backends
19980
19981         * src/backends/NetworkManagerRedHat.c
19982                 - (nm_system_device_update_config_info): use shvar.c routines to
19983                         parse the config file iformation, not our own
19984                 - (nm_system_device_setup_static_ip4_config): new function, based
19985                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19986                         with a static IP address and gateway
19987
19988         * src/backends/shvar.[ch]
19989                 - Parser (filched from initscripts package) for ifcfg-* files
19990
19991         * src/backends/NetworkManagerSystem.h
19992           src/backends/NetworkManagerGentoo.c
19993           src/backends/NetworkManagerDebian.c
19994           src/backends/NetworkManagerSlackware.c
19995                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19996
19997 2004-10-11 Dan Williams <dcbw@redhat.com>
19998
19999         * TODO
20000                 - Remove bit about more robust AP diffing since I just implemented it
20001
20002 2004-10-11 Dan Williams <dcbw@redhat.com>
20003
20004         * src/NetworkManagerAP.c
20005                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20006                         enough RAM to allocate new AP structures, but return NULL instead
20007
20008         * src/NetworkManagerAPList.[ch]
20009                 - (nm_ap_list_is_empty): new function
20010                 - (nm_ap_list_combine): new function, combine two access point lists
20011                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20012                         into another
20013
20014         * src/NetworkManagerDevice.[ch]
20015                 - Rename some functions to be clearer:
20016                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20017                         nm_device_just_activated     -> nm_device_is_just_activated
20018                         nm_device_activating         -> nm_device_is_activating
20019                         nm_device_now_scanning       -> nm_device_is_scanning
20020                 - Cache the last 4 scans so that the access point list is more stable.
20021                         We combine the lastest two scans and use that as the AP list,
20022                         and diff that combined list against the combination of the earliest
20023                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20024
20025 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20026
20027         * info-daemon/NWManagerInfo.h
20028                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20029
20030         * info-daemon/NWManagerInfoDbus.c
20031                 - (shutdown_callback): new function
20032                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20033                         if NetworkManager goes away.  Kill the timeout
20034                         if NetworkManager restarts before the 30 seconds
20035                         are up.
20036                 - (nmi_dbus_service_init): 
20037                         - call gtk_main_quit if NetworkManager is not running
20038                         - add filters to monitor dbus service creations and
20039                                 deletions
20040         
20041 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20042
20043         * panel-applet/NMWirelessApplet.c
20044                 - (nmwa_update_state): Hide notification icon if we are only
20045                         showing one wired card and no wireless interfaces 
20046                         (Red Hat Bug #134895)
20047
20048         * panel-applet/NMWirelessAppletDbus.c
20049                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20050
20051         * info-daemon/NWManagerInfo.c
20052                 - (main): Terminated the notification_icon_cmd array with a NULL
20053
20054 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20055
20056         * configure.in (ALL_LINGUAS): Added de (German).
20057
20058 2004-10-08 Dan Williams <dcbw@redaht.com>
20059
20060         * src/NetworkManagerDevice.c
20061                 - Be a bit more robust about link checking, ie make sure that
20062                         the WEP key we were given actually has some data in it
20063
20064 2004-10-08 Dan Williams <dcbw@redhat.com>
20065
20066         * info-daemon/NetworkManagerInfo.c (main):
20067                 - Initialize GError object to NULL
20068
20069 2004-10-08 Dan Williams <dcbw@redhat.com>
20070
20071         * panel-applet/NMWirelessAppletDbus.c
20072                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20073
20074 2004-10-08 Dan Williams <dcbw@redhat.com>
20075
20076         * info-daemon/NetworkManagerInfo.[ch]
20077           info-dameon/NetworkManagerInfoDbus.[ch]
20078           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20079                 - Preserve original label text in the passphrase dialog so that
20080                         it actually gets updated with the new network name the next
20081                         time around.  Previously, we were overwriting it so you'd get
20082                         the wrong network name to enter a key for
20083                 - Add a "Key Type" combo to the passphrase dialog, user selects
20084                         encryption key type now, type is stored in GConf too
20085                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20086
20087         * src/NetworkManagerAP.[ch]
20088                 - Remove all the encyption method magic.  It's now set by the user
20089                         and NetworkManager retrieves the type of encryption key from
20090                         NetworkManagerInfo
20091
20092         * src/NetworkManagerAPList.[ch]
20093           src/NetworkManagerDbus.[ch]
20094                 - Adjust to new way of setting encryption key and method
20095                 - Pull encryption method down from NMI along with key
20096
20097         * src/NetworkManagerDevice.[ch]
20098                 - Removed encryption method fallback magic as the method is now
20099                         determined by the user.  This greatly simplifies the connection
20100                         logic.
20101                 - More robust connection/link logic.  Besides removing the encryption
20102                         method fallback magic, check whether or not the card is receiving
20103                         invalidly encrypted packets, which usually indicates that we have
20104                         a bad WEP key set.
20105                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20106
20107         * test/nminfotest.c
20108                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20109
20110 2004-10-07 Dan Williams <dcbw@redhat.com>
20111
20112         * info-daemon/NetworkManagerInfo.conf
20113                 - Allow root user to run NMI too
20114
20115 2004-10-06 Dan Williams <dcbw@redhat.com>
20116
20117         * src/NetworkManagerDevice.[ch]
20118           src/NetworkManagerDbus.c
20119           doc/NetworkManager DBUS API.txt
20120                 - Add a new status tag "scanning", which is set when there
20121                         is no active network connection, but NetworkManager is
20122                         looking for an access point to associate with
20123
20124         * panel-applet/main.c
20125                 - Cast the applet appropriately for gtk_widget_show_all ()
20126
20127 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20128
20129         * panel-applet/eggtrayicon.[ch]:
20130         * panel-applet/main.c: Add missing file
20131
20132 2004-10-04 Dan Williams <dcbw@redhat.com>
20133
20134         * src/NetworkManagerDevice.[ch]
20135                 - Add a slightly more robust method of determining if the WEP key
20136                         is correct or not, by checking the WEP-discarded packet count
20137                         on the card
20138
20139         * info-daemon/NetworkManagerInfo.c
20140                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20141                         un-escape values we pull out rather than escaping them
20142
20143 2004-10-03  Marcel Telka  <marcel@telka.sk>
20144
20145         * configure.in (ALL_LINGUAS): Added sk.
20146
20147 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20148
20149         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20150         and feel.  We should be back to working, and have a good, clean
20151         look.
20152
20153 2004-09-30 Dan Williams <dcbw@redhat.com>
20154
20155         * info-daemon/NetworkManagerInfo.c
20156           info-daemon/NetworkManagerInfoDbus.c
20157           test/nminfotest.c
20158                 - Escape ESSIDs in gconf
20159
20160         * src/NetworkManagerDevice.c
20161                 - Fix pseudo-scanning to use netowrk list from info daemon
20162
20163 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20164
20165         * configure.in: Add a temporary --enable-notification-icon.  This
20166         will prolly go away.
20167
20168         * info-daemon/Makefile.am:
20169         * info-daemon/NetworkManagerInfo.c:
20170         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20171
20172         * panel-applet/Makefile.am:
20173         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20174         * panel-applet/NMWirelessApplet.h:
20175
20176 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20177
20178         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20179         before 'select custom ESSID'.
20180
20181         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20182         fully complete, but syncing in prep for merge.
20183
20184         * panel-applet/icons/*png: New images
20185
20186 2004-09-28 Dan Williams <dcbw@redhat.com>
20187
20188         * src/NetworkManager.c
20189           src/NetworkManagerDevice.c
20190           src/NetworkManagerPolicy.c
20191                 - Don't blow away an active wired connection on startup
20192
20193 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20194
20195         Changes from J5
20196         
20197         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20198
20199         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20200         syslog output
20201
20202 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20203
20204         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20205         have a wireless card.
20206
20207 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20208
20209         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20210         Also, get the right device strings.
20211
20212 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20213
20214         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20215         the logic to make this right.
20216
20217         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20218         devices so that wired networks are always first.
20219
20220 2004-09-22    <clarkbw@cvs.gnome.org>
20221
20222         * initscript/Debian/.cvsignore:
20223         * initscript/Slackware/.cvsignore:
20224         Added new cvsignores for Makefile, Makefile.in
20225         
20226         * test/.cvsignore:
20227         Added nmtestdevices
20228         
20229         * src/NetworkManagerDevice.c: 
20230         * src/NetworkManager.c: 
20231         Updated the wireless/wired HAL device strings from net.ethernet to
20232         net.80203 or net.80211 depending on wired or wireless respectively
20233         
20234         * examples/python/NetworkManager.py: 
20235         s/Quality/Strength/
20236
20237         * examples/python/systray/network_tray.py:
20238         Lots of little changes and fixes.  been rotting for a while so I
20239         figured I'd finally sync them all with CVS
20240
20241 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20242
20243         * configure.in: Add graphics
20244
20245         * panel-applet/Makefile.am: Add graphics
20246
20247         * panel-applet/icons/*: Add graphics
20248
20249         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20250         the icons fully lined up.
20251
20252         * panel-applet/menu-info.c: 
20253         * panel-applet/menu-info.h: Add another menu type.
20254
20255 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20256
20257         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20258
20259         * panel-applet/menu-item.[ch]: Wireless menu item.
20260
20261 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20262
20263         * info-daemon/NetworkManagerInfo.conf
20264                 - Created a more robust security policy for the DBus service
20265                         - everything is denied by default
20266                         - root can own and send to the service
20267                         - users logged in at the console can send to the service
20268
20269 2004-09-13  Dan Williams <dcbw@redhat.com>
20270
20271         * src/NetworkManagerDevice.c
20272                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20273                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20274                         the latter
20275
20276 2004-09-13  Dan Williams <dcbw@redhat.com>
20277
20278         * TODO: fix typo
20279
20280         * docs/NetworkManager DBUS API.txt
20281                 - Update for new signal strength changes
20282
20283         * panel-applet/NMWirelessApplet.c
20284                 - Make panel icon show strength of the current connection
20285                 - Cleanups and memleak fixes
20286
20287         * panel-applet/NMWirelessApplet.h
20288                 - Add data members for signal strength on devices and networks
20289
20290         * panel-applet/NMWirelessAppletDbus.c
20291                 - Free more DBusErrors
20292                 - Update for new signal strength changes
20293                 - Make devices and networks more like real objects, use ref/unref methods
20294                 - Actually unlock the mutex when updating the active device
20295
20296         * src/NetworkManagerAP.c
20297                 - Change AP functions and data members from "quality"->"strength"
20298
20299         * src/NetworkManagerDbus.c
20300                 - Kill "getMaxQuality" and "getQuality" methods
20301                 - Add "getStrength" methods for Networks and Devices
20302
20303         * src/NetworkManagerDevice.[ch]
20304                 - Add accessors for device strength
20305                 - Add functions to update strength for a device.  Note that not all drivers
20306                         actually support signal strength for scanned access points (Atmel drivers
20307                         being one)
20308                 - Calculate signal strength for each AP during scan
20309
20310         * src/NetworkManagerWireless.[ch]
20311                 - Add function to return signal strength % from a device and a raw quality struct
20312
20313         * test/nmclienttest.c
20314                 - Update for new signal strength changes
20315
20316 2004-09-11  Dan Williams <dcbw@redhat.com>
20317
20318         * src/NetworkManager.c
20319                 - Fix race condition between initscripts and NM on card insertion
20320                         which could cause a card to keep an IP address and routes around
20321                         even when it was not the active device
20322
20323         * src/NetworkManagerDbus.c
20324                 - Fix compile errors, free more DBusErrors
20325
20326 2004-09-11  Dan Williams <dcbw@redhat.com>
20327
20328         * docs/NetworkManager DBUS API.txt
20329                 - Add an explanation of NM's API
20330
20331         * src/NetworkManagerDbus.c
20332                 - Free some more DBusErrors if needed
20333
20334 2004-09-11  Dan Williams <dcbw@redhat.com>
20335
20336         * panel-applet/NMWirelessApplet.c
20337           panel-applet/NMWirelessAppletDbus.c
20338                 - Start using NetworkDevice/WirelessNetwork structures in more places
20339                 - Update for unified device/network forcing in NetworkManager
20340
20341         * src/NetworkManager.c
20342                 - some code consolidation
20343
20344         * src/NetworkManagerDbus.c
20345                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20346                         or two arguments:  the first is the NM ID of the device to switch to,
20347                         and the second (optional) argument is the ESSID of a wireless network
20348                         to use as well.
20349                 - Get rid of "setNetwork" method due to above change
20350
20351         * src/NetworkManagerDevice.c
20352                 - (nm_device_new): perform scan and update best AP on device creation
20353                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20354                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20355                         spin waiting for cancellation to finish before returning
20356
20357         * src/NetworkManagerPolicy.c
20358                 - Changes here clarify the situations in which a device switch occurs, and 
20359                         make sure to keep using a forced device and network if the user gives
20360                         us one
20361                 - Remove old unused code
20362
20363 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20364
20365         * configure.in: Added Danish (da) to ALL_LINGUAS.
20366
20367 2004-09-09  Dan Williams <dcbw@redhat.com>
20368
20369         * panel-applet/NMWirelessAppletDbus.c
20370                 - Pull fresh devices and networks from NM when wireless networks
20371                         change.  Provides faster feedback of a forced wireless network
20372
20373         * src/NetworkManagerDbus.c
20374                 - Return error when "getMaxQuality" is called on a wired device
20375                 - Make best_ap freezing actually work again, and signal cancellation
20376                         of activation if there's already a device activation when the user
20377                         freezes the best_ap
20378
20379         * src/NetworkManagerDevice.c
20380                 - Don't clear out the best_ap for wireless devices when the link goes
20381                         down, that's done elsewhere
20382                 - Kill any dhcp daemons when cancelling device activation since they
20383                         may be stuck waiting for a DHCP address, and since we're cancelling
20384                         activation we don't care about that anymore
20385
20386         * src/NetworkManagerPolicy.c
20387                 - Make sure to unref the device we ref earlier (we refed it to make sure
20388                         it stuck around during device activation and such)
20389                 - If we were going to change the best device, but its activating currently
20390                         (and therefore the change didn't occur due to the check earlier)
20391                         we mark the state changed to we come back to it later when device
20392                         activation has canceled and its no longer activating
20393
20394         * src/backends/NetworkManagerRedHat.c
20395                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20396
20397 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20398
20399         * info-daemon/passphrase.glade: 
20400         set passphrase input to activates_default : True
20401
20402         * examples/python/systray/network_tray.py
20403         (network_tray.sort_networks):
20404
20405         Added support for having wireless always scanning
20406
20407 2004-09-09  Dan Williams <dcbw@redhat.com>
20408
20409         NOTE: this commit changes the behavior of wireless devices in
20410         NetworkManager.  They are now up all the time, scanning all
20411         the time.  Only the active device has an IP address and routing
20412         information set up however.  Also, NetworkManager will no longer
20413         opportunistically switch wireless networks when a better one
20414         comes in range, it will remain associated with one wireless network
20415         until that one drops out.
20416
20417         * panel-applet/NMWirelessApplet.c
20418           panel-applet/NMWirelessAppletDbus.c
20419                 - List all wireless cards and their respective networks
20420
20421         * src/NMLoadModules
20422                 - Use full path to /sbin/ip
20423
20424         * src/NetworkManager.c
20425                 - Keep wireless devices up all the time so they can scan
20426
20427         * src/NetworkManagerDbus.c
20428                 - On a WirelessNetworkUpdate signal from NMI, don't update
20429                         the "best" AP
20430
20431         * src/NetworkManagerDevice.c
20432                 - (nm_device_set_link_active): clear out the best ap for
20433                         wireless devices when the link is set to FALSE
20434                 - Scan on all wireless cards, all the time
20435                 - (nm_device_activation_worker): split out the wireless card
20436                         link-waiting code to a separate function
20437                 - Keep wireless cards up even if device activation fails
20438                 - Don't update the "best" ap as much
20439
20440         * src/NetworkManagerPolicy.c
20441                 - Don't update the best ap when checking if its frozen,
20442                         let link checking clear out a frozen best ap for us
20443
20444         * src/NetworkManagerWireless.c
20445                 - Scan on all wireless cards, all the time
20446
20447 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20448
20449         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20450
20451 2004-09-09  Ankit Patel <ankit@redhat.com>
20452
20453         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20454
20455 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20456
20457         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20458
20459 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20460
20461         * examples/python/NetworkManager.py: 
20462         added CONNECTED, CONNECTING, and DISCONNECTED states
20463         added methods to return number of devices of a single type
20464
20465         * examples/python/systray/network_tray.py: 
20466         did some tweaks to get the menu looking near what it is supposed
20467         to look like.  Also did a Airo card hack to make it show the
20468         correct AP quality
20469
20470 2004-09-08  Dan Williams <dcbw@redhat.com>
20471
20472         * panel-applet/no-networkmanager.png
20473           panel-applet/Makefile.am
20474           panel-applet/NMWirelessApplet.c
20475                 - Add a "NetworkManager not running" icon and use it
20476                 - Use new consolidated GConf keys rather than Preferred/Trusted
20477
20478         * TODO: update
20479
20480         * info-daemon/NetworkManagerInfo.c
20481           info-daemon/NetworkManagerInfoDbus.[ch]
20482           info-daemon/NetworkManagerInfoPassphraseDialog.c
20483                 - There are now no longer two separate lists of wireless networks,
20484                         but one list where each network is "trusted" or not trusted
20485                 - Add a "getNetworkTrusted" dbus method
20486                 - "WirelessNetworkUpdate" signal now sent rather than
20487                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20488                 - Start freeing some dbus errors (not completed yet)
20489
20490         * info-daemon/passphrase.glade
20491                 - Remove the "don't show" hints for pager and taskbar
20492                 - Add a title since its going to be in the taskbar
20493
20494         * src/NetworkManager.[ch]
20495           src/NetworkManagerAPList.[ch]
20496                 - There are now no longer two separate lists of wireless networks,
20497                         but one list where each network is "trusted" or not trusted
20498
20499         * src/NetworkManagerAP.[ch]
20500                 - Add get/set "trusted" accessors and data bit
20501
20502         * src/NetworkManagerDbus.[ch]
20503                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20504                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20505
20506         * src/NetworkManagerDevice.[ch]
20507                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20508                 - (nm_device_new): Get device config from backend when initializing devices
20509                 - (nm_device_activation_worker): Split out device configuration on
20510                         activation to deal with static/dynamic IP differences, and try encryption
20511                         fallbacks on a device if the encryption method for the best AP is not good
20512                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20513                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20514
20515         * src/NetworkManagerWireless.c
20516                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20517
20518         * src/backends/NetworkManagerRedHat.c
20519           src/backends/NetworkManagerSystem.h
20520                 - (nm_system_device_update_config_info): Add function to get device configuration
20521                         from system data in ifcfg-* files
20522
20523         * src/backends/NetworkManagerDebian.c
20524           src/backends/NetworkManagerGentoo.c
20525           src/backends/NetworkManagerSlackware.c
20526                 - Add stub functions for getting device configuration
20527
20528 2004-09-07  Dan Williams <dcbw@redhat.com>
20529
20530         * src/backends/NetworkManagerRedhat.c
20531           src/backends/NetworkManagerSlackware.c
20532                 - Use full path to /sbin/ip everywhere
20533
20534 2004-09-07  Dan Williams <dcbw@redhat.com>
20535
20536         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20537
20538         * configure.in
20539           initscript/Makefile.am
20540           initscript/Slackware/Makfile.am
20541           initscript/Slackware/rc.networkmanager
20542           src/Makefile.am
20543           src/backends/NetworkManagerSlackware.c
20544                 - Add Slackware support
20545
20546 2004-09-07  Dan Williams <dcbw@redhat.com>
20547
20548         Patches below from:
20549                 <j@bootlab.org>
20550                 Mark Roach <mrroach@okmaybe.com>
20551                 Thom May <thom@debian.org>
20552
20553         * configure.in
20554           initscript/Debian/NetworkManager
20555           initscript/Debian/Makefile.am
20556                 - Initscript for Debian
20557
20558         * src/backends/NetworkManagerDebian.c
20559                 - Add missing system init function to allow compilation
20560                         on Debian
20561
20562 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20563
20564         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20565
20566 2004-09-03  Akagic Amila <bono@linux.org.ba>
20567
20568         * configure.in: Added 'bs' to ALL_LINGUAS.
20569
20570 2004-09-02  Colin Walters  <walters@verbum.org>
20571
20572         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20573         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20574         g_strdup_printf instead of arbitrarily sized buffers.
20575
20576 2004-09-01  Colin Walters  <walters@verbum.org>
20577
20578         * NetworkManager.pc.in: New file.
20579
20580         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20581
20582 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20583         
20584         * configure.in: Punjabi(pa) is added to po/.
20585
20586 2004-08-31  Dan Williams <dcbw@redhat.com>
20587
20588         * Remove 'debug' extern global from all files since we now
20589                 use syslog()
20590
20591         * src/NetworkManager.[ch]
20592                 - Break out routine that get the net.interface property from HAL,
20593                         removing that logic from nm_create_device_and_add_to_list()
20594                 - (nm_create_device_and_add_to_list): make this a bit more general so
20595                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20596                         the create of test devices.
20597                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20598                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20599                         which makes NetworkManager listen for dbus commands to create test
20600                         devices, which have no backing hardware.  Use when you're on a plane
20601                         for example, and/or forgot your wireless card at home.  Test devices
20602                         _cannot_ be created unless NM is started with --enable-test-devices.
20603
20604         * src/NetworkManagerDbus.[ch]
20605                 - New "getLinkActive" method for devices
20606                 - New "setLinkActive" method for devices (only works on test devices)
20607                 - New "createTestDevice" method on NetworkManager object to create a test
20608                         device of a specified type (ie wired, wireless).  UDI is created from
20609                         scratch, as is the interface name.  Only works when NM is started with
20610                         --enable-test-devices switch.
20611                 - New "removeTestDevice" method on NetworkManager object which removes a
20612                         test device.  Only works when NM is started with --enable-test-devices
20613
20614         * src/NetworkManagerDevice.[ch]
20615                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20616                         whether a device is a test device or not, and what its link status is.
20617                 - Deal with test devices in most functions.  For those that work directly on hardware
20618                         special-case test devices.
20619                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20620                         command-line.
20621                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20622                         checking to separate functions to facilitate test device link checking.
20623                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20624                         don't make a distinction between System Authentication and Encryption
20625                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20626                         on the card.  We don't deal with Shared Key auth yet.
20627                 - (nm_device_activation_worker): split the activation cancel check logic out into
20628                         a separate routine nm_device_activation_cancel_if_needed()
20629                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20630                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20631                         a list of fake access points that they can "see"
20632                 - (nm_device_is_test_device): return whether or not a device is a test device
20633
20634         * src/NetworkManagerPolicy.c
20635                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20636                         previously if you "locked"/forced NM to use a wireless device but then
20637                         selected a wireless network for NM to use, it would switch to a wired device.
20638                         So, if the active device is wireless and it has a "forced" best AP, use it
20639                         if the "forced" best AP is still valid
20640                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20641                         there were no usable network devices, or the last one was removed
20642
20643         * src/backends/NetworkManager*.c
20644                 - Deal with test devices, mostly just return success for operations like getting
20645                         a DHCP address
20646
20647         * test/nmtestdevices.c
20648                 - Test tool to create/remove/link-switch test devices
20649
20650 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20651
20652         * examples/python/NetworkManager.py: 
20653         added convience functions has_wired_device and has_wireless_device
20654
20655         * examples/python/systray/network_tray.py: 
20656         cleaned up a bunch of cruft, added support for listing wireless
20657         networks just like the real applet.  This is probably all I'm
20658         going to work on this applet from now on.
20659         TODO: add support for actually changing networks and devices
20660
20661         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20662         changed "nm.networks" into a dict from a list so I can store all
20663         the cool information about networks in there
20664
20665         * examples/python/systray/network_tray.py: 
20666         Added nice message when you try to run without running make first
20667
20668         * examples/python/NetworkManager.py: 
20669         Bug fixes to the code so we get all the device information
20670         that we need in get_device()
20671         
20672         * examples/python/NMTester.py: 
20673         Fixed _print_device_list to print_device_list
20674
20675 2004-08-29  Seth Nickell  <seth@gnome.org>
20676
20677         * configure.in:
20678
20679         Actually properly setup the Debian backend in configure.
20680         
20681 2004-08-29  Colin Walters  <walters@verbum.org>
20682
20683         * test/nminfotest.c: Include string.h and stdlib.h.
20684         (get_network_string_property, get_networks_of_type): Return NULL.
20685
20686         * test/nmclienttest.c (get_device_name, get_active_device): Return
20687         NULL.
20688
20689         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20690         use strlen, fgets always NULL-terminates the string.
20691
20692         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20693         dbus_message_get_member): Remove /* in comment.
20694
20695         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20696
20697         * src/NetworkManager.c (quit): Unused, delete.
20698         (nm_data_free): Cast arg to GFunc.
20699
20700         * panel-applet/NMWirelessAppletDbus.c: Need to include
20701         string.h, and dbus-glib-lowlevel.h (the latter is needed
20702         for dbus_connection_setup_with_g_main at present).
20703         (nmwa_dbus_update_wireless_network_list): Parenthesize
20704         assignment in conditional.
20705         (nmwa_dbus_worker): Return NULL.
20706
20707         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20708         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20709         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20710         (nmwa_populate_menu): Return NULL on failure, instead of just
20711         return;
20712
20713         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20714
20715         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20716         variables.
20717
20718         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20719         delete.
20720         
20721 2004-08-29  Colin Walters  <walters@verbum.org>
20722
20723         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20724         a GTimeVal instead of time_t.  This is easier to work with,
20725         since time_t may be a long or double, we don't know.
20726
20727         * src/NetworkManagerDbus.h: Update prototype.
20728         
20729         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20730         instead of time_t.
20731         (nm_ap_get_timestamp): Update to return GTimeVal.
20732         (nm_ap_set_timestamp): Update to take GTimeVal.
20733         
20734         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20735         to handle GTimeVal.
20736
20737         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20738         GTimeVal change.
20739         (nm_ap_list_print_members): Fix warnings in printf format.
20740
20741 2004-08-29  Colin Walters  <walters@verbum.org>
20742         
20743         * panel-applet/NMWirelessApplet.c: Include config.h.
20744
20745 2004-08-29  Colin Walters  <walters@verbum.org>
20746
20747         * configure.in: Generate config.h.
20748
20749         * configure.in: Dump dependency on OpenSSL; we can't
20750         use it since this package is GPL:
20751         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20752         Instead, check for libgcrypt, use it if available,
20753         otherwise use included MD5 code.
20754
20755         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20756         Suck in from gnome-keyring, munge a bit.
20757         
20758         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20759         gnome-keyring-md5.h gnome-keyring-md5.c.
20760         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20761
20762         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20763         libgcrypt or included gnome-keyring md5 bits.
20764         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20765
20766 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20767
20768         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20769
20770 2004-08-27  Bryan Clark  <bclark@redhat.com>
20771
20772         * examples/python/systray/Makefile: 
20773
20774         Updated the clean section
20775         
20776         * examples/python/systray/trayiconmodule.c: 
20777         * examples/python/systray/trayicon.override: 
20778         * examples/python/systray/network_tray.py: 
20779         * examples/python/systray/eggtrayicon.h: 
20780         * examples/python/systray/eggtrayicon.c: 
20781         * examples/python/systray/Makefile: 
20782         * examples/python/README: 
20783         * examples/python/NetworkManager.py: 
20784         * examples/python/NMTester.py: 
20785
20786         Initial commit of these python example files
20787
20788 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20789
20790         * panel-applet/NMWirelessApplet.c
20791                 - Make current device bold
20792                 - Show more user-friendly device name if we got one from hal
20793
20794         * panel-applet/NMWirelessAppletDbus.c
20795                 - Grab "info.product" key from hal for network devices
20796                 - Cache the current active device
20797
20798 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20799
20800         * configure.in: Added en_CA to ALL_LINGUAS.
20801
20802 2004-08-27  Christian Rose  <menthos@menthos.com>
20803
20804         * configure.in: Added "sv" to ALL_LINGUAS.
20805
20806 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20807
20808         * Tag NetworkManager-0.2
20809
20810 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20811
20812         * initscripts/Makefile.am
20813         * configure.in: Make pass distcheck
20814
20815         * po/ChangeLog: added
20816
20817 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20818
20819         * panel-applet/NMWirelessApplet.c
20820                 - Remove debugging code
20821                 - Enable device switching from menus
20822
20823         * panel-applet/NMWirelessAppletDbus.[ch]
20824                 - Method for asking NM to switch devices
20825
20826         * src/NetworkManagerDevice.c
20827                 - Set dev->activating earlier, avoids race between
20828                         the dbus signal of "DeviceActivating" and setting
20829                         dev->activating (which is what NM's "status" method call
20830                         looks at)
20831
20832 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20833
20834         * panel-applet/NMWirelessApplet.[ch]
20835                 - Rework menu code to add devices to menu, and to show
20836                         signal strength for each access point.  Code cleanups
20837                         too.
20838
20839         * panel-applet/NMWirelessAppletDbus.c
20840                 - Grab network devices from NetworkManager too
20841                 - Grab quality information from NM for wireless networks
20842
20843         * src/NetworkManagerDbus.[ch]
20844                 - Add dbus methods for getting the HAL UDI from a device and
20845                         for getting its base quality, if its wireless
20846                 - Consolidate some functions (wireless network notifications,
20847                         device notifications)
20848                 - Add method for requesting NM to use a particular device
20849
20850         * src/NetworkManager.c
20851                 - Change for function consolidations from NetworkManagerDbus.c
20852                 - Implement active device locking and user-requested devices
20853                         (ie, tell NM to use a particular device instead of the one
20854                         it autochose)
20855
20856         * src/NetworkManagerDevice.c
20857                 - Add method for getting the base quality of a device, if its
20858                         wireless
20859                 - Grab device base quailty info from iwlib during scans
20860
20861         * src/NetworkManagerPolicy.c
20862                 - Use a user-requested device rather than the auto-chosen device
20863                         if we are told to
20864
20865 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20866
20867         * Makefile.am: add po as a supdir
20868
20869         * autogen.sh: use gnome-autogen.sh
20870
20871         * initscript/Gentoo/.cvsignore:
20872         * initscript/RedHat/.cvsignore: Shut up cvs
20873
20874         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20875
20876         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20877         (nmwa_fill): Use gettext.
20878
20879         * configure.in: add gettext support
20880         * po/.cvsignore:
20881         * po/NetworkManager.pot:
20882         * po/POTFILES.in:
20883
20884 2004-08-26  Seth Nickell  <seth@gnome.org>
20885
20886         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20887         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20888         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20889         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20890         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20891         * panel-applet/NMWirelessApplet.h:
20892
20893         Use a menu bar instead of a button for the main clickable
20894         thingy.
20895         
20896 2004-08-25  Dan Williams <dcbw@redhat.com>
20897
20898         * src/NetworkManagerDevice.c
20899                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20900                         turning encryption off, because the Cisco driver doesn't associate
20901                         with WEP-enabled access points unless we are in "open"
20902
20903 2004-08-25  Dan Williams <dcbw@redhat.com>
20904
20905         * src/NetworkManagerWireless.c
20906                 - Don't try to defererence blank passphrases
20907
20908 2004-08-25  Dan Williams <dcbw@redhat.com>
20909
20910         * panel-applet/NMWirelessApplet.c
20911                 - Rebuild the menu whenever a user clicks
20912
20913 2004-08-25  Dan Williams <dcbw@redhat.com>
20914
20915         * panel-applet/NMWirelessApplet.c
20916                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20917                         when NM isn't around or when its not connected
20918
20919         * src/NetworkManagerDevice.c
20920                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20921                         canceled.
20922
20923 2004-08-25  Dan Williams <dcbw@redhat.com>
20924
20925         * panel-applet/NMWirelessAppletDbus.c
20926                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20927                         for getting encryption, and don't stop on "val" once we've gotten it
20928                         from NetworkManager.  Short form:  encryption should now show up.
20929
20930 2004-08-25  Dan Williams <dcbw@redhat.com>
20931
20932         * panel-applet/NMWirelessApplet.c
20933                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20934                         network to associate with
20935
20936 2004-08-25  Dan Williams <dcbw@redhat.com>
20937
20938         * panel-applet/*
20939                 - Rework the panel applet to do all DBUS communication in a separate
20940                         thread
20941
20942 2004-08-25  Dan Williams <dcbw@redhat.com>
20943
20944         * info-daemon/NetworkManagerInfo.[ch]
20945                 - Remove "get_next_priority" function
20946
20947         * info-daemon/NetworkManagerInfoDbus.[ch]
20948                 - Convert "priority" functions to "timestamp"
20949
20950 2004-08-25  Dan Williams <dcbw@redhat.com>
20951
20952         * src/NetworkManagerAP.[ch]
20953                 - Add a "enc_method_good" member and accessors to an Access Point
20954                         to signal when we've found the correct encryption method
20955                         for an access point
20956                 - Add a "timestamp" member and accessors, remove "priority" member
20957                         and accessors (use timestamps instead)
20958                 - Rename "wep_key"->"enc_key"
20959                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20960                         for a specified encryption method using the access points
20961                         source encryption key/passphrase
20962
20963         * src/NetworkManagerAPList.c
20964                 - When updating a network with dbus, grab timestamp now instead of
20965                         priority
20966
20967         * src/NetworkManagerDBus.[ch]
20968                 - Add signal for "DeviceActivating"
20969                 - Switch priority->timestamp
20970
20971         * src/NetworkManagerDevice.c
20972                 - Change references of "wep_key" -> "enc_key" or "key"
20973                 - Signal DeviceActivating when starting activation
20974                 - When activating a wireless device, if the access point we are connecting
20975                         to is encrypted, and we have a source key, try to generate a mangled
20976                         key and use that (ie, generate real WEP key from a passphrase)
20977                 - Rework device activation to fallback to other encryption methods if
20978                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20979                         first, then if that doesn't work fall back to direct hex key).
20980                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20981                         priority.  We now prefer the latest access point used, rather than using
20982                         a priority scheme
20983                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20984                         points we've just discovered, and merge in correct info from the global
20985                         access point lists
20986
20987 2004-08-25  Seth Nickell  <seth@gnome.org>
20988
20989         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20990         Debian support.
20991         
20992         * src/Makefile.am:
20993         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20994         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20995         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20996         (nm_system_delete_default_route),
20997         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20998         (nm_system_load_device_modules):
20999
21000 2004-08-24  Dan Willemsen <dan@willemsen.us>
21001
21002         * src/NetworkManager.c
21003           src/backends/NetworkManagerGentoo.c
21004           src/backends/NetworkManagerRedHat.c
21005           src/backends/NetworkManagerSystem.h
21006                 - Implement preliminary Gentoo support, adding a
21007                         nm_system_init function to the backend specification
21008
21009         * configure.in
21010                 - Distribution auto-detection, lowercase any user-fed
21011                         distribution names
21012
21013         * initscript/.cvsignore
21014           initscript/Makefile.am
21015           initscript/RedHat/Makefile.am
21016           initscript/RedHat/NetworkManager
21017           initscript/Gentoo/Makefile.am
21018           initscript/Gentoo/NetworkManager
21019                 - Refactored initscript code separately for each
21020                         distribution
21021
21022 2004-08-23  Dan Williams <dcbw@redhat.com>
21023
21024         * configure.in
21025           src/Makefile.am
21026           src/NetworkManagerDevice.c
21027           src/NetworkManager.c
21028           src/NetworkManagerUtils.[ch]
21029           src/backends/NetworkManagerSystem.h
21030           src/backends/NetworkManagerRedHat.c
21031           src/backends/NetworkManagerGentoo.c
21032                 - Refactor system-specific code into separate backends for
21033                         each distribution
21034
21035 2004-08-23  Dan Willemsen <dan@willemsen.us>
21036
21037         * dispatcher-daemon/NetworkManagerDispatcher.c
21038           info-daemon/NetworkManagerInfo.[ch]
21039           info-daemon/NetworkManagerInfoDbus.c
21040           info-daemon/NetworkManagerInfoPassphraseDialog.c
21041           src/NetworkManager.c
21042           src/NetworkManagerAP.c
21043           src/NetworkManagerAPList.c
21044           src/NetworkManagerDbus.c
21045           src/NetworkManagerDevice.c
21046           src/NetworkManagerPolicy.c
21047           src/NetworkManagerUtils.[ch]
21048           src/NetworkManagerWireless.c
21049                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21050
21051         * src/NetworkManager.c
21052                 - Fixed usage wording for --no-daemon
21053
21054 2004-08-23  Dan Williams <dcbw@redhat.com>
21055
21056         * panel-applet/NMWirelessApplet.c
21057                 - Update our state every second to get more responsive panel icon
21058                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21059                         was causing our marching ants status blips to never move when
21060                         looking for a wireless network
21061
21062         * src/NetworkManagerDevice.c
21063                 - (nm_device_activation_begin): return if activation has already begun
21064                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21065                         trusted/preferred network into the device's access point when the
21066                         scan list is processed
21067
21068 2004-08-23  Dan Williams <dcbw@redhat.com>
21069
21070         * initscript/NetworkManager
21071                 - Use NMLaunchHelper rather than sleeping
21072
21073         * initscript/NMLaunchHelper.c
21074           Makefile.am
21075                 - Add helper program that exits only when NM activates a device,
21076                         or 10 seconds have passed, whichever happens first.  This
21077                         stops the boot processes until we have a network connection,
21078                         which NM can't do because it daemonizes and brings the connection
21079                         up in the background.  Allows stuff like NFS to not die.
21080
21081 2004-08-20  Dan Williams <dcbw@redhat.com>
21082
21083         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21084                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21085                         for a network, set the essid as well since it may not exist yet
21086                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21087                         since WEP keys/passphrases are long and prone to entry-error
21088
21089         * panel-applet/Makefile.am
21090           panel-applet/wired.png
21091                 - Add (pulled from system-config-network temporarily)
21092
21093         * panel-applet/NMWirelessApplet.[ch]
21094                 - Show wired picture when a wired connection is used
21095                 - Rename wireless icon enums, adding WIRELESS
21096
21097         * src/NetworkManagerDevice.c
21098                 - (nm_device_activate_wireless): unset encryption before bringing
21099                         down the card and setting the essid
21100                 - (nm_device_activatin_worker): request a key from the user if the
21101                         AP we are connecting to is encrypted but we don't have a key
21102                         for it yet
21103                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21104                         strcmp() that prevented a user-entered key from actually getting
21105                         used
21106
21107 2004-08-16  Dan Williams <dcbw@redhat.com>
21108
21109         * initscript/NetworkManager
21110                 - Check for /sbin/ip
21111                 - Do sysctl magic that network service does
21112                 - sleep 4s after start to allow network time to come up [hack]
21113
21114         * src/Makefile.am
21115           src/NMLoadModules
21116                 - Load all network device kernel modules (hal doesn't know devices
21117                         are ethernet until the module is loaded, and therefore we don't know)
21118
21119         * src/NetworkManager.c
21120                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21121                         network devices, and bring up the loopback device explicitly
21122
21123         * src/NetworkManagerUtils.[ch]
21124                 - (nm_enable_loopback): new function
21125
21126 2004-08-13  Dan Williams <dcbw@redhat.com>
21127
21128         * configure.in
21129           panel-applet/Makefile.am
21130                 - Fix up cleanfiles and server_DATA/server_in_files
21131
21132         * README
21133                 - Update with some comments on theory of operation
21134
21135         * CONTRIBUTING
21136           Makefile.am
21137                 - Add CONTRIBUTING
21138
21139 2004-08-12  Dan Williams <dcbw@redhat.com>
21140
21141         * info-daemon/passphrase.glade
21142                 - Set window title to " "
21143
21144         * panel-applet/Makefile.am
21145           panel-applet/keyring.png
21146                 - Deliver to correct place
21147
21148         * panel-applet/NMWirelessApplet.[ch]
21149                 - Add comments
21150                 - Remove applet->have_active_device as its no longer used
21151                 - (nmwa_load_theme): load keyring.png too
21152                 - (error_dialog): remove
21153                 - (show_warning_dialog): subsume functionality of error dialog too
21154                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21155                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21156                         the networks menu
21157                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21158                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21159                         and when we get broadcasts of changed wireless access points only, not when the
21160                         user clicks on the button to display the menu (too long of a wait)
21161                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21162                         networks that are encrypted
21163                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21164                         menu item with g_object_set_data()
21165
21166         * panel-applet/NMWirelessAppletDbus.[ch]
21167                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21168                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21169                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21170                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21171                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21172                         activation/deactivation signals and rebuild the menu when they happen
21173
21174         * src/NetworkManager.c
21175                 - (main): use new nm_spawn_process() rather than system()
21176
21177         * src/NetworkManagerDbus.c
21178                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21179                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21180                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21181                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21182                         to freeze the best_ap.
21183
21184         * src/NetworkManagerDevice.[ch]
21185                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21186                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21187                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21188                         ap list
21189
21190         * src/NetworkManagerUtils.[ch]
21191                 - (nm_spawn_process): add replacement for system() usage
21192
21193 2004-08-11  Dan Williams <dcbw@redhat.com>
21194
21195         * panel-applet/NMWirelessApplet.[ch]
21196                 - Fix up copyright and credits to include Bastien and Eskil,
21197                         who created the gnome-applets wireless applet, from whose
21198                         skeleton this one was created
21199                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21200                         pixmap to draw is computed during nmwa_update_state()
21201                 - Applet now shows itself all the time due to panel packing issues
21202                         which caused the applet to previously never come back after hiding.
21203                         When a wired device is the active device, the applet shows "not connected"
21204
21205         * panel-applet/NMWirelessAppletDbus.[ch]
21206                 - Clean up error messages and show what function they are from
21207                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21208                 - Add new device type getters, and a status getter
21209
21210         * src/NetworkManagerDbus.c
21211                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21212                         network is actually in the device's ap list
21213                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21214
21215         * src/NetworkManagerDevice.c
21216                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21217                         card
21218
21219         * test/nmclienttest.c
21220                 - Report status of NetworkManager too
21221
21222 2004-08-11  Dan Williams <dcbw@redhat.com>
21223
21224         * info-daemon/NetworkManagerInfo.c:
21225                 - (main): clean up Seth's code style
21226
21227         * info-daemon/NetworkManagerInfoDbus.c:
21228                 - Use the more aptly-named path/service/interface constants from NetworkManager
21229                 - Don't return empty strings ("") as object paths ever, instead return errors
21230
21231         * panel-applet/NMWirelessApplet.c:
21232                 - Clean up Seth's code style
21233
21234         * src/NetworkManager.[ch]
21235                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21236                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21237
21238         * src/NetworkManagerAPList.[ch]
21239                 - Move Iter struct right above the iter functions to preserve opacity
21240                 - (nm_ap_list_remove_ap): implement
21241                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21242                         remove AP if NetworkManagerInfo doesn't know anything about it
21243                 - (nm_ap_list_diff): user NMAPList iterators
21244                 - (nm_ap_list_print_members): implement debugging function
21245
21246         * src/NetworkManagerDbus.[ch]
21247                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21248                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21249                         and move the actual key setting stuff into NetworkManagerDevice.c
21250                 - (nm_dbus_get_network_priority): return -1 now on errors
21251                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21252                         get lost, and force the active device to update its "best" ap when AP lists change
21253                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21254                         method call due to pending_device member removal
21255
21256         * src/NetworkManagerDevice.[ch]
21257                 - Move NMDevice structure to the top
21258                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21259                 - Remove Pending Action stuff from everywhere
21260                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21261                         activation for us.  This thread blocks until all conditions for activation have
21262                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21263                         then setup up the interface and runs dhclient.  We have to do this because there
21264                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21265                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21266                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21267                         can tell nm_device_activation_worker() that we've got a key
21268                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21269                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21270                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21271                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21272
21273         * src/NetworkManagerPolicy.c
21274                 - Remove anything to do with pending_device
21275                 - Adjust device activation to deal with activation-in-worker-thread
21276
21277         * src/NetworkManagerUtils.c
21278                 - Clean up locking debugging a bit
21279
21280         * src/NetworkManagerWireless.[ch]
21281                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21282                         was badly named and is better as a device function
21283
21284         * panel-applet/.cvsignore: add
21285
21286 2004-08-09  Seth Nickell  <seth@gnome.org>
21287
21288         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21289         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21290         (nmwa_new):
21291         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21292
21293         Don't load the menus until clicked on (also removes a call outside
21294         normal code paths at first load).
21295
21296         Hide applet when NM is not present.
21297         
21298         Improve printf debugging stuff.
21299         
21300 2004-08-09  Dan Williams <dcbw@redhat.com>
21301
21302         * dispatcher-daemon/NetworkManagerDispatcher.c:
21303                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21304                 - Use constants for NetworkManager interface, service, and path
21305
21306 2004-08-09  Dan Williams <dcbw@redhat.com>
21307
21308         * src/NetworkManagerDbus.c:
21309                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21310                         instead return an error message
21311                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21312                         on a wired device.  Also never return an empty object path, instead return an error message
21313
21314 2004-08-06  Seth Nickell  <seth@gnome.org>
21315
21316         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21317
21318         Check the error code when getting a connection.
21319         
21320         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21321
21322         Check if the NM service exists when initializing (rather than
21323         assuming it does not).
21324         
21325         * src/NetworkManagerDbus.c: (nm_dbus_init):
21326
21327         Don't acquire the well-known service name until we have
21328         registered object/path handlers and can actually receive
21329         calls.
21330         
21331 2004-08-06  Dan Williams <dcbw@redhat.com>
21332
21333         * panel-applet/*
21334                 - Add panel applet
21335
21336         * src/NetworkManagerPolicy.c
21337           src/NetworkManager.c
21338                 - Get access point lists from NetworkManagerInfo on-demand,
21339                         and look for ServiceCreate/ServiceDeleted signals to see when
21340                         we should query NMI for lists
21341         * src/NetworkManagerAPList.c
21342                 - Make sure to init the list's mutex
21343                 - Convert traversals of the list over to the list iter functions
21344
21345         * src/NetworkManagerDbus.[ch]
21346                 - Use more aptly-named path/service/interface constants
21347                 - Treat both active and pending devices the same for "getActiveDevice"
21348                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21349
21350         * src/NetworkManagerDevice.c
21351                 - Honor "ignored" network list when picking best ap to use
21352
21353 2004-08-06  Seth Nickell  <seth@gnome.org>
21354
21355         * aclocal.m4:
21356
21357         Autogenerated, remove from CVS.
21358         
21359         * autogen.sh:
21360
21361         Don't hardcode automake version.
21362         
21363         * configure.in:
21364         * info-daemon/Makefile.am:
21365         * info-daemon/NetworkManagerInfo.c: (main):
21366
21367         Use GnomeProgram et al. for doing session management.
21368         Use popt stuff for argument parsing rather than doing
21369         it manugally.
21370         
21371 2004-08-05  Dan Williams <dcbw@redhat.com>
21372
21373         * test/nminfotest.c
21374                 - Update to new NMI dbus API, check different network types
21375
21376         * info-daemon/NetworkManagerInfoDbus.c
21377                 - Update to new NM dbus API, ie network type sent in query message
21378
21379 2004-08-05  Dan Williams <dcbw@redhat.com>
21380
21381         * An assload of changes
21382
21383 2004-08-02  Dan Williams <dcbw@redhat.com>
21384
21385         * TODO
21386                 - new task: proper logging support
21387
21388         * info-daemon/NetworkManagerInfo.c
21389                 - Correct spelling of "canceled"
21390                 - Correct casting of objects for g_signal_connect()
21391
21392         * info-daemon/NetworkManagerInfoDbus.c
21393                 - Add defines for NetworkManager namespace and object path, and use them
21394                 - Add filter function to trap new signals from NetworkManager:
21395                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21396
21397         * info-daemon/passphrase.glade
21398                 - Change name of "ok" button to "Login to Network..."
21399                 - Mark invisible
21400
21401         * src/NetworkManager.c
21402                 - Code and debug message cleanups
21403                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21404                 - (nm_add_initial_devices) Check returned string array of devices
21405                         and don't try to add devices if array is NULL
21406                 - (main) Initialize libhal a bit later, make code a bit clearer
21407
21408         * src/NetworkManagerAP.[ch]
21409                 - New accessor and data member "matched": used to speed up AP list
21410                         diffing
21411                 - New accessor and data member "enc_method": will be used during key
21412                         fallback to cache which passphrase->key conversion actually works
21413                         so we don't have to do it every time
21414
21415         * src/NetworkManagerAPList.[ch]
21416                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21417                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21418                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21419                         dbus in response to those differences
21420
21421         * src/NetworkManagerDbus.[ch]
21422                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21423                         make an object path for that access point (NOTE that we don't yet check to
21424                         make sure that access point is actually in the device's AP list yet)
21425                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21426                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21427                         New: signal appearance/disappearance of wireless networks
21428                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21429                         key entry
21430
21431         * src/NetworkManagerDevice.[ch]
21432                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21433                 - (nm_device_ap_list_get) New: return the AP list (static function)
21434                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21435                         new one resulting from the scan with the old one
21436
21437         * src/NetworkManagerWireless.c
21438                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21439
21440         * test/nminfotest.c
21441                 - #define object paths and namespaces and use the #defines rather than static strings
21442                 - Test out user-key functionality of NetworkManagerInfo too
21443
21444 2004-07-29  Dan Williams <dcbw@redhat.com>
21445
21446         * info-daemon/NetworkManagerInfoDbus.c
21447           src/NetworkManagerDbus.c
21448                 - Update to current DBus (ie don't use decomposed paths when registering
21449                         object paths/fallbacks)
21450
21451 2004-07-27  Dan Williams <dcbw@redhat.com>
21452
21453         * Remove various Makefile.in files
21454
21455         * TODO
21456                 - Add some more items
21457
21458         * configure.in
21459                 - Add checks for OpenSSL/md5 headers and libs
21460
21461         * src/Makefile.am
21462                 - Use OpenSSL CFLAGS
21463
21464         * src/NetworkManagerAP.[ch]
21465                 - Remove 'stamp' functions, replace with 'invalid' functions
21466                         to support user cancelling WEP key entry
21467
21468         * src/NetworkManagerDbus.c
21469                 - Remove 'stamp' return functions
21470                 - Treat returned user key as a passphrase and convert to a WEP key,
21471                         but don't actually use the WEP key yet.  We use the returned user
21472                         key as a hexadecimal WEP key until we can figure out a UI for
21473                         passphrase-vs-hex key
21474
21475         * src/NetworkManagerWireless.[ch]
21476                 - Add passphrase-to-128bit-key function
21477
21478 2004-07-27  Dan Williams <dcbw@redhat.com>
21479
21480         * TODO
21481                 - Add a couple of items
21482
21483 2004-07-27  Dan Williams <dcbw@redhat.com>
21484
21485         * info-daemon/NetworkManagerInfo.c
21486                 - Update allowed network's GConf key when user enters a WEP key explicitly
21487
21488         * info-daemon/NetworkManagerDbus.c
21489                 - Fix some comments
21490                 - nmi_dbus_get_allowed_networks(): kill warning
21491
21492 2004-07-27  Dan Williams <dcbw@redhat.com>
21493
21494         * initscript/Makefile.in
21495                 - Remove
21496
21497         * initscript/Makefile.am
21498                 - Add correct rules to install the init.d initscript
21499
21500         * info-daemon/NetworkManagerInfoDbus.c
21501                 - Remove debug fprintf
21502
21503         * src/NetworkManagerDbus.[ch]
21504                 - Remove debug fprintfs
21505                 - Add macros for NetworkManagerInfo object path/namespace
21506                 - Use said macros instead of constant strings
21507
21508 2004-07-27  Dan Williams <dcbw@redhat.com>
21509
21510         * initscript/.cvsignore
21511                 - Add
21512
21513         * info-daemon/Makefile.am
21514                 - Install .glade files and keyring.png
21515                 - Fix stupid omission of a \ that caused half the flags not to be
21516                         passed to gcc
21517
21518         * info-daemon/NetworkManagerInfo.c
21519                 - gtk_signal_connect->g_signal_connect
21520                 - Alert NetworkManagerInfo to new glade file location
21521
21522 2004-07-27  Dan Williams <dcbw@redhat.com>
21523
21524         * test/nmclienttest.c
21525           test/nminfotest.c
21526                 - Add missing <dbus/dbus.h> headers
21527                 - Add GPL message at top
21528
21529 2004-07-27  Dan Williams <dcbw@redhat.com>
21530
21531         * src/NetworkManagerAPList.[ch]
21532           src/Makefile.am
21533                 - Add.  Deal with allowed network list additions, deletions, and updates
21534
21535         * dispatcher-daemon/NetworkManagerDispatcher.c
21536                 - Add missing <dbus/dbus.h> header
21537
21538         * info-daemon/NetworkManagerInfo.[ch]
21539                 - Add missing <dbus/dbus.h> header
21540                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21541                         network change
21542                 - Better error checking
21543
21544         * info-daemon/NetworkManagerInfoDbus.[ch]
21545                 - Add missing <dbus/dbus.h> header
21546                 - Convert to using dbus_message_append_args/dbus_message_get_args
21547                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21548                         that an allowed network changed.  We don't want to signal on individual
21549                         keys _inside_ an allowed network really, just want NM to query the info
21550                         daemon for updated info on all keys.
21551                 - Better error checking
21552
21553         * src/NetworkManager.[ch]
21554                 - Add missing <dbus/dbus.h> header
21555                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21556                 - Zero out NMData structure on free
21557                 - No longer use a thread for allowed_ap_list updating, instead its now done
21558                         through dbus queries against NetworkManagerInfo
21559                 - Populate allowed_ap_list initially before adding existing network devices
21560                         to the device list, so wireless devices can get their "best" AP
21561
21562         * src/NetworkManagerDbus.[ch]
21563                 - Convert to using dbus_message_append_args/dbus_message_get_args
21564                 - Better error checking
21565                 - Implement Allowed Network info functions to request allowed network
21566                         info from NetworkManagerInfo
21567                 - Implement the filter function to process signals from NetworkManagerInfo
21568                         about changing allowed networks
21569
21570         * src/NetworkManagerDevice.c
21571                 - Fix file descriptor leak in nm_device_update_ip4_address()
21572
21573 2004-07-27  Dan Williams <dcbw@redhat.com>
21574
21575         * .cvsignore
21576           src/.cvsignore
21577           test/.cvsignore
21578           dispatcher-daemon/.cvsignore
21579           info-daemon/.cvsignore
21580                 - Add .cvsignore files to reduce noise when diffing
21581
21582 2004-07-24  Dan Williams <dcbw@redhat.com>
21583
21584         * src/NetworkManager.[ch]
21585           src/NetworkManagerDbus.[ch]
21586           src/NetworkManagerDevice.[ch]
21587           src/NetworkManagerPolicy.c
21588           src/NetworkManagerWireless.[ch]
21589                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21590                 - Pass the NMData application data structure through all calls
21591                         that need it so we can get rid of nm_get_global_data()
21592                 - Change deallocation of the allowed_ap_list GSList in preparation
21593                         for not completely clearing it every time we get an update,
21594                         but instead getting incremental updates via GConf/dbus
21595
21596 2004-07-22  Dan Williams <dcbw@redhat.com>
21597
21598         * configure.in
21599                 - Add checks for GConf libs & headers & flags
21600
21601         * info-daemon/Makefile.am
21602                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21603
21604         * info-daemon/NetworkManagerInfo.[ch]
21605                 - Don't use gquarks for data storage, just use normal data storage
21606                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21607
21608         * info-daemon/NetworkManagerDbus.[ch]
21609                 - Add method call for getting allowed networks
21610                 - Add method calls for getting an allowed network's essid, priority, and key
21611                 - Hook the method calls up to GConf
21612                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21613                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21614                 
21615         * src/NetworkManagerDbus.[ch]
21616                 - Switch for enumeration of networks to using essid instead
21617
21618         * test/Makefile.am
21619           test/nminfotest.c
21620                 - Add test program for NetworkManagerInfo
21621
21622 2004-07-19  Dan Williams <dcbw@redhat.com>
21623
21624         * src/NetworkManagerDbus.c
21625                 - Switch from indexed device paths to names.  Less code, more efficient.
21626                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21627
21628 2004-07-19  Dan Williams <dcbw@redhat.com>
21629
21630         * dispatcher-daemon/NetworkManagerDispatcher.c
21631                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21632
21633 2004-07-19  Dan Williams <dcbw@redhat.com>
21634
21635         * Makefile.am
21636                 - Add info-daemon directory
21637
21638         * configure.in
21639                 - Check for glade libs and headers
21640                 - Add info-daemon directory
21641
21642         * src/NetworkManagerAP.c
21643                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21644                         copied over to the new AP.
21645
21646         * src/NetworkManagerDbus.c
21647           src/NetworkManagerDbus.h
21648                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21649                 - Remove nm_dbus_signal_need_key_for_network()
21650                 - Add disabled code for asynchronous user wep key callbacks
21651                 - Add functions for getting, setting, and cancelling user key operations
21652                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21653                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21654
21655         * src/NetworkManagerDevice.c
21656           src/NetworkManagerDevice.h
21657                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21658                         logic is in device activation now
21659                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21660                         key is wrong) trigger get-user-key pending action
21661                 - Implement get-user-key pending action stuff, tie to dbus messages
21662                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21663                 - Add nm_device_ap_list_get_ap_by_essid()
21664                 - Instead of copying "best" access points, ref them instead so that the key we set
21665                         sticks around
21666
21667         * src/NetworkManagerPolicy.c
21668                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21669                 - Don't cancel pending actions on a device if its the same device as last iteration
21670                 - Only promote pending_device->active_device if activation was successfull
21671
21672         * src/Makefile.am
21673                 - Rename nmclienttest->nmtest
21674
21675         * info-daemon/Makefile.am
21676           info-daemon/NetworkManagerInfo.c
21677           info-daemon/NetworkManagerInfo.h
21678           info-daemon/NetworkManagerInfoDbus.c
21679           info-daemon/NetworkManagerInfoDbus.h
21680           info-daemon/passphrase.glade
21681           info-daemon/NetworkManagerInfo.conf
21682           info-daemon/keyring.png
21683                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21684                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21685                         lists to NetworkManager by proxying user's GConf
21686           
21687
21688 2004-07-15  Dan Williams <dcbw@redhat.com>
21689
21690         * src/Makefile.am
21691                 - Turn on warnings
21692
21693         * src/NetworkManager.c
21694                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21695                         that doing the deactivation ourselves
21696                 - Cancel an pending actions on a device if its being removed
21697                 - Break up link state checking a bit, make non-active wireless cards
21698                         deactivated to save power
21699                 - Remove unused variables
21700
21701         * src/NetworkManager.h
21702                 - Add support for "pending" device
21703
21704         * src/NetworkManagerAP.h
21705           src/NetworkManagerAP.c
21706                 - Add support for determining whether and AP has encryption enabled or not
21707                 - AP address is now "struct ether_addr" rather than a string
21708
21709         * src/NetworkManagerDbus.h
21710           src/NetworkManagerDbus.c
21711                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21712                 - Changes for AP address from struct ether_addr->string
21713
21714         * src/NetworkManagerDevice.h
21715           src/NetworkManagerDevice.c
21716                 - Remove unused variables, fix warnings
21717                 - Add support for Pending Actions (things that block a device from being "active"
21718                         until they are completed).
21719                 - First pending action:  Get a WEP key from the user
21720                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21721                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21722                 - Update wireless link checking to try to determine if the AP we are associated
21723                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21724                         trigger the GetUserKey pending action on the device
21725                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21726                         up in that case, otherwise we can't scan or link-check on it
21727                 - Add IP address change notifications at appropriate points (still needs some work)
21728                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21729
21730         * src/NetworkManagerPolicy.h
21731           src/NetworkManagerPolicy.c
21732                 - Split out "best" access point determiniation into separate function
21733                 - Make device activation 2-stage:  first the device is pending, then
21734                         in the next iteration through it becomes "active" unless it has
21735                         pending actions
21736
21737         * src/NetworkManagerUtils.h
21738           src/NetworkManagerUtils.c
21739                 - Clean up unused variables and warnings
21740                 - Wrap our debug macros in {} to prevent possible confusion
21741
21742         * src/NetworkManagerWireless.c
21743                 - Forgot to return current best priority, which lead to last available AP always
21744                         being chosen no matter what its priority was.  Corrected.
21745
21746 2004-07-15  Dan Williams <dcbw@redhat.com>
21747
21748         * dispatcher-daemon/Makefile.am
21749                 - Turn on warnings
21750
21751         * dispatcher-daemon/NetworkManagerDispatcher.c
21752                 - Remove unused variables due to warnings
21753                 - Fix some comments
21754                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21755
21756 2004-07-06  Dan Williams <dcbw@redhat.com>
21757
21758         * src/NetworkManager.c
21759                 - Add IPv4 address update for active device during link state check
21760                 - Don't allow wireless cards to be powered up when they are not the
21761                         active device
21762
21763         * src/NetworkManagerDbus.c
21764           src/NetworkManagerDbus.h
21765                 - Add DBUS IPv4 address change signal
21766                 - Add DBUS IPv4 address get method for devices
21767
21768         * src/NetworkManagerDevice.c
21769                 - Make setting the WEP key actually work
21770                 - Move IP address get/set/update stuff here, per-device
21771                 - Power down/bring down wireless device when deactivated
21772                 - For scanning wireless devices, if first scan returned ENODATA, try again
21773
21774         * src/NetworkManagerPolicy.c
21775                 - Only set the WEP key for an allowed access point if there is one.
21776                         We were setting it to be blank if one wasn't specified.
21777
21778         * src/NetworkManagerUtils.h
21779           src/NetworkManagerUtils.c
21780                 - Move the IP address stuff to NetworkManagerDevice.c
21781
21782         * dispatcher-daemon/NetworkManagerDispatcher.c
21783                 - Add device IPv4 address change notification stuff
21784
21785 2004-07-05  Dan Williams <dcbw@redhat.com>
21786
21787         * dispatcher-daemon/NetworkManagerDispatcher.c
21788                 - A bit more descriptive state message
21789                 - Don't segfault when reading directory
21790
21791         * src/NetworkManager.h
21792                 - Remove NMData desired_ap member, its now
21793                         per-device rather than global
21794
21795         * src/NetworkManager.c
21796                 - Remove references to desired_ap
21797                 - Move the allowed AP list refresh stuff into a thread
21798
21799         * src/NetworkManagerDevice.c
21800           src/NetworkManagerDevice.h
21801                 - Each wireless device now has a "best ap"
21802                 - Make device activate/deactivate functions per-device
21803                 - Make wireless scanning per-device
21804                 - Add IPv4 address discover functions, stub IPv6 ones
21805                 - Move ethernet address validation functions to NetworkManagerUtils.c
21806                 - Add wireless access point accessor function
21807                 - Get/Set functions for "best ap"
21808
21809         * src/NetworkManagerPolicy.c
21810                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21811                 - Deal with per-device "best ap" rather than data->desired_apa
21812                 - Implement allowed access point worker thread
21813                 - Add nm_policy_essid_is_allowed() function
21814
21815         * src/NetworkManagerUtils.c
21816           src/NetworkManagerUtils.h
21817                 - Add nm_ethernet_address_is_valid() function
21818                 - Add IPv4/IPv6 address get functions
21819
21820         * src/NetworkManagerWireless.c
21821           src/NetworkManagerWireless.h
21822                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21823
21824 2004-06-29  Dan Williams <dcbw@redhat.com>
21825
21826         * dispatcher-daemon/NetworkManagerDispatcher.c
21827                 - Implement script callout functionality
21828
21829 2004-06-24  Dan Williams <dcbw@redhat.com>
21830
21831         * NetworkManager.c
21832             - Spacing cleanups
21833             - Flush device routes and ip addresses when added to the device list
21834
21835         * NetworkManagerDbus.c
21836             - Spacing cleanups
21837             - Add missing returns in the two signal functions
21838         
21839         * NetworkManagerPolicy.c
21840             - Spacing and variable cleanups
21841
21842 2004-06-24  Dan Williams <dcbw@redhat.com>
21843
21844         * Makefile.am
21845           Makefile.in
21846           configure.in
21847           dispatcher-daemon/Makefile.am
21848           dispatcher-daemon/Makefile.in
21849           dispatcher-daemon/NetworkManagerDispatcher.c
21850             - Add a daemon that receives signals from NetworkManager
21851                         and will (eventually) call scripts in /etc/somewhere
21852                         when devices go up or down.
21853         
21854         * NetworkManager.c
21855             - Spacing cleanups
21856             - Flush device routes and ip addresses when added to the device list
21857
21858         * NetworkManagerDbus.c
21859             - Spacing cleanups
21860             - Add missing returns in the two signal functions
21861         
21862         * NetworkManagerPolicy.c
21863             - Spacing and variable cleanups
21864             - Rename nm_policy_switch_interface->nm_policy_switch_device
21865             - nm_policy_switch_device():
21866                                 Use kill (pid) instead of system ("kill <pid>")
21867             - nm_state_modification_monitor():
21868                                 Add wireless essid to output of debug statements
21869                                 Correct typo in device compare to switch or not (should be !=)
21870                                 Don't sleep after sending "no longer active" signal, was useless
21871
21872 2004-06-24  Dan Williams <dcbw@redhat.com>
21873
21874         * Initial import