2008-11-20 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-20  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/libnm-util.ver
4           libnm-util/nm-utils.c
5           libnm-util/nm-utils.h
6           libnm-util/nm-utils-private.h
7           libnm-util/nm-connection.c
8                 - (nm_utils_register_value_transformations): make private, called
9                         from NMConnection registration anyway
10
11 2008-11-20  Dan Williams  <dcbw@redhat.com>
12
13         * libnm-util/Makefile.am
14           libnm-util/nm-utils-private.h
15                 - New header for internal utils private functions
16
17         * libnm-util/libnm-util.ver
18           libnm-util/nm-utils.c
19           libnm-util/nm-utils.h
20                 - Document some functions
21                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
22                    nm_utils_string_slist_validate): un-export, only used within
23                         libnm-util or of limited use in general, and very easy to
24                         re-implement by apps if needed
25
26         * libnm-util/nm-setting-8021x.c
27           libnm-util/nm-setting-wired.c
28           libnm-util/nm-setting-wireless-security.c
29           libnm-util/nm-setting-wireless.c
30                 - Update for private nm_utils_string_* functions
31
32 2008-11-20  Dan Williams  <dcbw@redhat.com>
33
34         * libnm-util/libnm-util.ver
35           libnm-util/nm-setting.c
36           libnm-util/nm-setting.h
37                 - Add NMSetting errors
38                 - (nm_setting_update_secrets): return errors
39
40         * libnm-util/nm-connection.c
41           libnm-util/nm-connection.h
42                 - (nm_connection_update_secrets): return errors
43
44         * libnm-util/nm-setting-vpn.c
45           src/nm-activation-request.c
46           src/vpn-manager/nm-vpn-connection.c
47                 - Handle update secrets errors
48
49 2008-11-20  Dan Williams  <dcbw@redhat.com>
50
51         * libnm-util/nm-setting.c
52           libnm-util/nm-setting.h
53           libnm-util/libnm-util.ver
54                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
55                         consistent with nm_connection_new_from_hash()
56
57         * src/nm-activation-request.c
58           libnm-util/nm-connection.c
59                 - Handle rename
60
61 2008-11-19  Dan Williams  <dcbw@redhat.com>
62
63         * configure.in
64           Makefile.am
65           docs/libnm-util/Makefile.am
66           docs/libnm-util/libnm-util.types
67                 - Start to document libnm-util
68
69 2008-11-19  Dan Williams  <dcbw@redhat.com>
70
71         * libnm-util/nm-connection.h
72           libnm-util/nm-connection.c
73                 - Document public functions
74
75 2008-11-19  Dan Williams  <dcbw@redhat.com>
76
77         * libnm-util/nm-setting.h
78           libnm-util/nm-setting.c
79           src/nm-device.c
80           src/nm-manager.c
81           system-settings/plugins/ifcfg-fedora/plugin.c
82                 - Prefix compare flag defines with NM_SETTING_
83
84 2008-11-19  Dan Williams  <dcbw@redhat.com>
85
86         * libnm-util/nm-connection.c
87           libnm-util/nm-connection.h
88                 - (nm_connection_replace_settings): take a GError
89
90         * libnm-glib/nm-settings.c
91           libnm-glib/nm-dbus-connection.c
92           src/nm-manager.c
93           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
94           system-settings/plugins/keyfile/nm-keyfile-connection.c
95           system-settings/plugins/keyfile/plugin.c
96                 - Handle, or don't handle, errors from nm_connection_replace_settings()
97
98 2008-11-19  Dan Williams  <dcbw@redhat.com>
99
100         * libnm-util/libnm-util.ver
101           libnm-util/nm-connection.c
102                 - (nm_setting_register, nm_setting_unregister): unexport; they are
103                         private and don't have a use outside libnm-util
104
105 2008-11-17  Dan Williams  <dcbw@redhat.com>
106
107         * src/nm-hso-gsm-device.c
108                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
109                         devices
110
111 2008-11-17  Dan Williams  <dcbw@redhat.com>
112
113         * system-settings/plugins/ifcfg-fedora/reader.c
114                 - (read_mac_address): clean up
115                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
116                         expects
117
118         * system-settings/plugins/ifcfg-fedora/plugin.c
119                 - (read_one_connection): don't segfault on NULL errors
120
121 2008-11-14  Dan Williams  <dcbw@redhat.com>
122
123         * Tag 0.7.0-rc2
124
125 2008-11-14  Dan Williams  <dcbw@redhat.com>
126
127         Handle gateways on different subnets
128
129         * src/NetworkManagerSystem.c
130                 - (add_ip4_route_to_gateway): gateway route should be link scope and
131                         a host route
132                 - (replace_default_ip4_route): use a destination address too; gateway
133                         address should be /0; don't leak the gateway route object
134
135 2008-11-14  Dan Williams  <dcbw@redhat.com>
136
137         * libnm-glib/libnm_glib.ver
138           libnm-glib/nm-dbus-settings-system.c
139           libnm-glib/nm-dbus-settings-system.h
140                 - Add libnm-glib bits for CanModify
141
142 2008-11-14  Dan Williams  <dcbw@redhat.com>
143
144         * introspection/nm-settings-system.xml
145           system-settings/src/dbus-settings.c
146           system-settings/src/dbus-settings.h
147                 - Add a "CanModify" property to indicate if any plugins support
148                         connection modification
149
150 2008-11-14  Dan Williams  <dcbw@redhat.com>
151
152         Relicense libnm-glib to LGPLv2+ with agreement from contributors
153
154 2008-11-14  Dan Williams  <dcbw@redhat.com>
155
156         * vpn-manager/nm-vpn-connection.c
157                 - (plugin_state_changed): clear VPN secrets on error to ensure they
158                         are always requested from the settings service (rh #429287)
159
160 2008-11-13  Dan Williams  <dcbw@redhat.com>
161
162         * libnm-util/crypto.c
163                 - (crypto_get_private_key_data): fix bad initial arg type checking
164                         from pkcs#12 patch
165
166 2008-11-13  Dan Williams  <dcbw@redhat.com>
167
168         Add support for PKCS#12 private keys (bgo #558982)
169
170         * libnm-util/crypto.c
171           libnm-util/crypto.h
172                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
173                         take a GByteArray instead of a filename
174                 - (file_to_g_byte_array): handle private key files too
175                 - (decrypt_key): take a GByteArray rather than data + len
176                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
177                         one function that takes a filename, and one that takes raw data;
178                         detect pkcs#12 files as well
179                 - (crypto_load_and_verify_certificate): detect file type
180                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
181                         functions
182
183         * libnm-util/crypto_gnutls.c
184                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
185                         whereby tail padding was incorrectly handled, leading to erroneous
186                         successes when trying to decrypt the data
187                 - (crypto_verify_cert): rework somewhat
188                 - (crypto_verify_pkcs12): validate pkcs#12 keys
189
190         * libnm-util/crypto_nss.c
191                 - (crypto_init): enable various pkcs#12 ciphers
192                 - (crypto_decrypt): take a GByteArray rather than data + len
193                 - (crypto_verify_cert): clean up
194                 - (crypto_verify_pkcs12): validate pkcs#12 keys
195
196         * libnm-util/test-crypto.c
197                 - Handle pkcs#12 keys
198
199         * libnm-util/nm-setting-8021x.c
200           libnm-util/nm-setting-8021x.h
201           libnm-util/libnm-util.ver
202                 - Add two new properties, 'private-key-password' and
203                         'phase2-private-key-password', to be used in conjunction with
204                         pkcs#12 keys
205                 - (nm_setting_802_1x_set_ca_cert_from_file,
206                    nm_setting_802_1x_set_client_cert_from_file,
207                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
208                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
209                         type
210                 - (nm_setting_802_1x_get_private_key_password,
211                    nm_setting_802_1x_get_phase2_private_key_password): return private
212                         key passwords
213                 - (nm_setting_802_1x_set_private_key_from_file,
214                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
215                         key from a file, and update the private key password at the same time
216                 - (nm_setting_802_1x_get_private_key_type,
217                    nm_setting_802_1x_get_phase2_private_key_type): return the private
218                         key type
219
220         * src/supplicant-manager/nm-supplicant-settings-verify.c
221                 - Whitelist private key passwords
222
223         * src/supplicant-manager/nm-supplicant-config.c
224                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
225                         add the private key password to the supplicant config, but do not
226                         add the client certificate (as required by wpa_supplicant)
227
228 2008-11-12  Tambet Ingo  <tambet@gmail.com>
229
230         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
231         (add_secrets): Don't add empty secrets to the secrets hash table.
232
233 2008-11-07  Dan Williams  <dcbw@redhat.com>
234
235         * libnm-util/nm-setting-wireless.c
236                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
237                         that cased this function to return garbage, breaking hidden AP
238                         detection
239
240 2008-11-07  Dan Williams  <dcbw@redhat.com>
241
242         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
243
244         * src/NetworkManagerSystem.c
245           src/NetworkManagerSystem.h
246                 - (nm_system_device_set_ip4_route): return the route that was added
247                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
248                         public, clean up, and return the route that was added
249                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
250                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
251                         flags to allow only certain attributes of the NMIP4Config to be
252                         applied
253
254         * src/nm-device.c
255                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
256                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
257                         what's really changed between the old and new configs; don't export
258                         the new IP4 config on failure; always send the DNS info to the
259                         named manager
260
261         * src/vpn-manager/nm-vpn-connection.c
262                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
263                         parent device's IP4Config and re-add the VPN gateway route when it
264                         changes
265                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
266                         nm_system_apply_ip4_config() no longer does) and cache it for later
267                 - (connection_state_changed): move cleanup code to its own function
268                 - (vpn_cleanup): delete any previously added VPN gateway route; and
269                         re-apply the parent device's addresses and routes using
270                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
271
272 2008-11-07  Dan Williams  <dcbw@redhat.com>
273
274         * src/nm-ip4-config.c
275           src/nm-ip4-config.h
276                 - (nm_ip4_config_diff): new function; return the difference between two
277                         IP4 configs
278                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
279
280 2008-11-05  Dan Williams  <dcbw@redhat.com>
281
282         * nm-ip4-config.c
283           nm-ip4-config.h
284                 - (nm_ip4_config_compare): compare two IP4 configs
285
286 2008-11-05  Dan Williams  <dcbw@redhat.com>
287
288         * src/NetworkManagerPolicy.c
289                 - (update_etc_hosts): only add newline if not the last line of the file
290                         (Jonathan Miner)
291
292 2008-11-05  Dan Williams  <dcbw@redhat.com>
293
294         * src/dhcp-manager/nm-dhcp-dhclient.c
295                 - (get_leasefile_for_iface): move lease files back to where dhclient
296                         puts them
297
298 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
299
300         * initscripts/Debian/NetworkManager
301                 - Update to what Debian is actually using
302
303 2008-11-05  Tambet Ingo  <tambet@gmail.com>
304
305         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
306
307 2008-11-03  Dan Williams  <dcbw@redhat.com>
308
309         * system-settings/src/main.c
310                 - (add_default_dhcp_connection): make the fallback connection read-only
311
312         * libnm-glib/nm-settings.c
313           libnm-glib/nm-settings.h
314                 - Add detailed errors
315                 - (impl_exported_connection_update, impl_exported_connection_delete):
316                         return an error if the connection is read-only
317
318         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
319           system-settings/plugins/keyfile/nm-keyfile-connection.c
320           system-settings/src/main.c
321                 - Use more detailed errors
322
323         * system-settings/src/nm-system-config-error.c
324           system-settings/src/nm-system-config-error.h
325           system-settings/src/dbus-settings.c
326                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
327                         NM_SETTINGS_ERROR_INVALID_CONNECTION
328
329 2008-11-02  Dan Williams  <dcbw@redhat.com>
330
331         * Add license headers to everything in src/
332
333 2008-11-02  Dan Williams  <dcbw@redhat.com>
334
335         * Tag 0.7.0-rc1
336
337 2008-11-02  Dan Williams  <dcbw@redhat.com>
338
339         * src/NetworkManagerAP.c
340                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
341                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
342                         secrets when connecting to an encrypted network failed
343
344 2008-10-30  Dan Williams  <dcbw@redhat.com>
345
346         * libnm-util/libnm-util.ver
347           libnm-util/nm-setting-ip6-config.c
348           libnm-util/nm-setting-ip6-config.h
349           libnm-util/Makefile.am
350                 - Make properties private and add accessor functions
351                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
352
353         * libnm-util/nm-connection.c
354           libnm-util/nm-utils.c
355           libnm-util/nm-utils.h
356                 - Ignore IPv6 stuff for now
357
358 2008-10-30  Dan Williams  <dcbw@redhat.com>
359
360         * libnm-util/libnm-util.ver
361           libnm-util/nm-setting-8021x.c
362           libnm-util/nm-setting-8021x.h
363                 - Make properties private and add accessor functions
364
365         * src/supplicant-manager/nm-supplicant-config.c
366           system-settings/plugins/ifcfg-suse/parser.c
367                 - Use 802.1x setting accessors
368
369 2008-10-30  Dan Williams  <dcbw@redhat.com>
370
371         * libnm-util/libnm-util.ver
372           libnm-util/nm-setting-wireless-security.c
373           libnm-util/nm-setting-wireless-security.h
374                 - Make properties private and add accessor functions
375
376         * libnm-util/nm-setting-wireless.c
377           src/NetworkManagerAP.c
378           src/nm-device-wifi.c
379           src/supplicant-manager/nm-supplicant-config.c
380           system-settings/plugins/ifcfg-fedora/reader.c
381           system-settings/plugins/ifcfg-suse/parser.c
382                 - Use wireless security accessors
383
384 2008-10-30  Dan Williams  <dcbw@redhat.com>
385
386         * src/nm-device-ethernet.c
387           src/nm-device-wifi.c
388           src/nm-device.c
389           src/ppp-manager/nm-ppp-manager.c
390                 - Harmonize return checking of ioctl
391
392         * system-settings/plugins/ifcfg-fedora/reader.c
393                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
394
395 2008-10-30  Dan Williams  <dcbw@redhat.com>
396
397         * src/ppp-manager/nm-ppp-manager.c
398                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
399                         ppp_generic module to create it (bgo #533064)
400
401 2008-10-30  Dan Williams  <dcbw@redhat.com>
402
403         Patch from Alexander Sack <asac@canonical.com>
404
405         Fix "ppp connections don't honour ip4 connection settings"
406
407         * src/nm-device-ethernet.c
408                 - (real_act_stage4_get_ip4_config): merge ip4config settings
409                         with results from ppp manager
410
411         * src/nm-serial-device.c
412                 - (real_act_stage4_get_ip4_config): merge ip4config settings
413                         with results from ppp manager
414
415 2008-10-29  Dan Williams  <dcbw@redhat.com>
416
417         * libnm-util/libnm-util.ver
418           libnm-util/nm-setting-ip4-config.c
419           libnm-util/nm-setting-ip4-config.h
420                 - Make properties private and add accessor functions
421
422         * callouts/nm-dispatcher-action.c
423           libnm-glib/libnm-glib-test.c
424           libnm-util/nm-utils.c
425           src/NetworkManagerPolicy.c
426           src/NetworkManagerSystem.c
427           src/NetworkManagerUtils.c
428           src/dhcp-manager/nm-dhcp-dhclient.c
429           src/dhcp-manager/nm-dhcp-manager.c
430           src/dnsmasq-manager/nm-dnsmasq-manager.c
431           src/nm-device-wifi.c
432           src/nm-device.c
433           src/nm-hso-gsm-device.c
434           src/nm-ip4-config.c
435           src/nm-ip4-config.h
436           src/ppp-manager/nm-ppp-manager.c
437           src/vpn-manager/nm-vpn-connection.c
438           system-settings/plugins/ifcfg-fedora/reader.c
439           system-settings/plugins/ifcfg-suse/parser.c
440           system-settings/plugins/ifcfg-suse/plugin.c
441           system-settings/plugins/ifupdown/parser.c
442           test/nm-tool.c
443           vpn-daemons/vpnc/properties/nm-vpnc.c
444                 - Use IP4 accessor functions
445
446 2008-10-29  Tambet Ingo  <tambet@gmail.com>
447
448         Half of it by Dan Williams <dcbw@redhat.com>
449
450         * libnm-util/libnm-util.ver
451         libnm-util/nm-setting-vpn.c
452         libnm-util/nm-setting-vpn.h
453                 - Make properties private and add accessor functions.
454
455         * src/vpn-manager/nm-vpn-connection.c
456         src/vpn-manager/nm-vpn-manager.c
457         system-settings/plugins/keyfile/reader.c
458         vpn-daemons/openvpn/properties/auth-helpers.c
459         vpn-daemons/openvpn/properties/import-export.c
460         vpn-daemons/openvpn/properties/nm-openvpn.c
461         vpn-daemons/openvpn/src/nm-openvpn-service.c
462         vpn-daemons/pptp/auth-dialog/main.c
463         vpn-daemons/pptp/properties/advanced-dialog.c
464         vpn-daemons/pptp/properties/nm-pptp.c
465         vpn-daemons/pptp/src/nm-pptp-service.c
466         vpn-daemons/vpnc/properties/nm-vpnc.c
467         vpn-daemons/vpnc/src/nm-vpnc-service.c
468                 - Use VPN setting accessors.
469
470 2008-10-28  Dan Williams  <dcbw@redhat.com>
471
472         Patch from Tambet Ingo <tambet@gmail.com>
473
474         * libnm-util/libnm-util.ver
475           libnm-util/nm-setting-wireless.c
476           libnm-util/nm-setting-wireless.h
477                 - Make properties private and add accessor functions
478
479         * src/NetworkManagerAP.c
480           src/nm-device-wifi.c
481           src/nm-manager.c
482           src/supplicant-manager/nm-supplicant-config.c
483           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
484           system-settings/plugins/ifcfg-fedora/reader.c
485           system-settings/plugins/ifcfg-suse/parser.c
486           system-settings/plugins/ifupdown/parser.c
487                 - Use wireless setting accessors
488
489 2008-10-27  Dan Williams  <dcbw@redhat.com>
490
491         Patch from Tambet Ingo <tambet@gmail.com>
492
493         * libnm-util/libnm-util.ver
494           libnm-util/nm-setting-ppp.c
495           libnm-util/nm-setting-ppp.h
496                 - Make properties private and add accessor functions
497
498         * src/ppp-manager/nm-ppp-manager.c
499                 - Use ppp setting accessors
500
501 2008-10-27  Dan Williams  <dcbw@redhat.com>
502
503         Patch from Tambet Ingo <tambet@gmail.com>
504
505         * libnm-util/nm-setting.h
506           libnm-util/nm-setting.c
507                 - Make properties private and add accessor functions
508
509         * libnm-util/nm-connection.c
510           libnm-util/nm-setting-8021x.c
511           libnm-util/nm-setting-cdma.c
512           libnm-util/nm-setting-connection.c
513           libnm-util/nm-setting-gsm.c
514           libnm-util/nm-setting-ip4-config.c
515           libnm-util/nm-setting-ip6-config.c
516           libnm-util/nm-setting-ppp.c
517           libnm-util/nm-setting-pppoe.c
518           libnm-util/nm-setting-serial.c
519           libnm-util/nm-setting-template.c
520           libnm-util/nm-setting-vpn.c
521           libnm-util/nm-setting-wired.c
522           libnm-util/nm-setting-wireless-security.c
523           libnm-util/nm-setting-wireless.c
524           system-settings/plugins/keyfile/reader.c
525           system-settings/plugins/keyfile/writer.c
526                 - Use setting accessors
527
528 2008-10-27  Dan Williams  <dcbw@redhat.com>
529
530         * libnm-util/libnm-util.ver
531           libnm-util/nm-setting-connection.c
532           libnm-util/nm-setting-connection.h
533                 - Add a 'read-only' property that indicates the connection cannot be
534                         modified
535
536         * system-settings/plugins/ifcfg-fedora/reader.c
537           system-settings/plugins/ifcfg-suse/parser.c
538           system-settings/plugins/ifupdown/parser.c
539                 - These plugins are read-only at the moment
540
541         * system-settings/plugins/keyfile/reader.c
542           system-settings/plugins/keyfile/writer.c
543                 - Read-only shouldn't get saved out to files or read in from them
544
545 2008-10-27  Tambet Ingo  <tambet@gmail.com>
546
547         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
548         correct speed reporting for fast devices (kernel >= 2.6.27).
549
550 2008-10-26  Dan Williams  <dcbw@redhat.com>
551
552         Attempt to compensate for modems that don't enable full AT parsing before
553         the PIN has been entered.
554
555         * src/nm-gsm-device.c
556                 - (init_modem): accept different init strings
557                 - (init_done): try different init strings on failure
558                 - (check_pin_done): on PIN success, do full modem init
559
560 2008-10-26  Dan Williams  <dcbw@redhat.com>
561
562         Patch from Tambet Ingo <tambet@gmail.com>
563
564         * libnm-util/libnm-util.ver
565           libnm-util/nm-setting-connection.c
566           libnm-util/nm-setting-connection.h
567                 - Make properties private and add accessor functions
568
569         * src/NetworkManagerPolicy.c
570           src/nm-cdma-device.c
571           src/nm-device-ethernet.c
572           src/nm-device-interface.c
573           src/nm-device-wifi.c
574           src/nm-gsm-device.c
575           src/nm-manager.c
576           src/ppp-manager/nm-ppp-manager.c
577           src/vpn-manager/nm-vpn-connection.c
578           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
579           system-settings/plugins/ifcfg-fedora/plugin.c
580           system-settings/plugins/ifcfg-fedora/reader.c
581           system-settings/plugins/ifcfg-suse/parser.c
582           system-settings/plugins/ifupdown/parser.c
583           system-settings/plugins/keyfile/nm-keyfile-connection.c
584           system-settings/plugins/keyfile/plugin.c
585           system-settings/plugins/keyfile/writer.c
586           system-settings/src/main.c
587                 - Use those accessors
588
589 2008-10-26  Dan Williams  <dcbw@redhat.com>
590
591         Patch from Tambet Ingo <tambet@gmail.com>
592
593         * libnm-util/libnm-util.ver
594           libnm-util/nm-setting-gsm.c
595           libnm-util/nm-setting-gsm.h
596                 - Make properties private and add accessor functions
597
598         * src/nm-gsm-device.c
599           src/nm-hso-gsm-device.c
600           src/ppp-manager/nm-ppp-manager.c
601                 - Use those accessors
602
603 2008-10-26  Dan Williams  <dcbw@redhat.com>
604
605         Patch from Tambet Ingo <tambet@gmail.com>
606
607         * libnm-util/libnm-util.ver
608           libnm-util/nm-setting-cdma.c
609           libnm-util/nm-setting-cdma.h
610                 - Make properties private and add accessor functions
611
612         * src/nm-cdma-device.c
613           src/ppp-manager/nm-ppp-manager.c
614                 - Use those accessors
615
616 2008-10-26  Dan Williams  <dcbw@redhat.com>
617
618         Patch from Tambet Ingo <tambet@gmail.com>
619
620         * libnm-util/libnm-util.ver
621           libnm-util/nm-setting-pppoe.c
622           libnm-util/nm-setting-pppoe.h
623                 - Make properties private and add accessor functions
624
625         * src/nm-device-ethernet.c
626           src/ppp-manager/nm-ppp-manager.c
627                 - Use those accessors
628
629 2008-10-26  Dan Williams  <dcbw@redhat.com>
630
631         Patch from Tambet Ingo <tambet@gmail.com>
632
633         * libnm-util/libnm-util.ver
634           libnm-util/nm-setting-wired.c
635           libnm-util/nm-setting-wired.h
636                 - Make properties private and add accessor functions
637
638         * src/nm-device-ethernet.c
639           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
640           system-settings/plugins/ifcfg-suse/parser.c
641           system-settings/src/main.c
642                 - Use those accessors
643
644 2008-10-26  Dan Williams  <dcbw@redhat.com>
645
646         Patch from Tambet Ingo <tambet@gmail.com>
647
648         * libnm-util/libnm-util.ver
649           libnm-util/nm-setting-serial.c
650           libnm-util/nm-setting-serial.h
651           src/nm-serial-device.c
652                 - Make properties private and use accessors instead
653
654 2008-10-26  Dan Williams  <dcbw@redhat.com>
655
656         * src/supplicant-manager/nm-supplicant-interface.c
657           src/supplicant-manager/nm-supplicant-interface.h
658           src/supplicant-manager/nm-supplicant-manager.c
659           src/supplicant-manager/nm-supplicant-manager.h
660                 - Add state-to-string conversion functions
661
662         * src/nm-device-wifi.c
663           src/nm-device-ethernet.c
664                 - Normalize state info logging and use strings instead of numbers
665
666 2008-10-26  Dan Williams  <dcbw@redhat.com>
667
668         * src/NetworkManagerPolicy.c
669                 - (update_routing_and_dns): ignore host routes when determining whether
670                         a VPN connection should own the default route (bgo #552594)
671
672 2008-10-24  Dan Williams  <dcbw@redhat.com>
673
674         * src/nm-gsm-device.c
675                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
676
677 2008-10-23  Dan Williams  <dcbw@redhat.com>
678
679         * src/ppp-manager/nm-ppp-manager.c
680                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
681                         add really important stuff to the command line to ensure that NM
682                         overrides /etc/ppp/options (bgo #556781)
683
684 2008-10-22  Dan Williams  <dcbw@redhat.com>
685
686         * src/NetworkManagerSystem.c
687           src/nm-device.c
688                 - Use the device's IP interface where appropriate (Per Hallsmark)
689
690 2008-10-22  Dan Williams  <dcbw@redhat.com>
691
692         * src/nm-gsm-device.c
693                 - (schedule_automatic_registration_again): use a short timeout here
694                         instead of an idle handler to avoid using too much CPU polling for
695                         something we should be waiting a bit for anyway
696
697 2008-10-22  Dan Williams  <dcbw@redhat.com>
698
699         * include/NetworkManager.h
700           introspection/nm-device.xml
701                 - Add device state change reason for carrier changes
702
703         * src/nm-device-ethernet.c
704                 - (set_carrier): use the carrier change reason when changing device
705                         state in response to carrier changes
706
707 2008-10-21  Dan Williams  <dcbw@redhat.com>
708
709         * src/NetworkManagerPolicy.c
710                 - (update_etc_hosts): don't leak errors, and ensure that
711                         g_file_set_contents() gets a valid error placeholder (rh #461933)
712
713 2008-10-21  Dan Williams  <dcbw@redhat.com>
714
715         * src/nm-manager.c
716                 - (free_get_settings_info): don't use the DBusGProxy which could be
717                         disposed of by the time the function is called
718                 - (internal_new_connection_cb): save connection scope
719                 - (connection_get_settings_cb): don't replace a connection unless it's
720                         actually different from the existing one; fixes an issue where
721                         killing the settings service wouldn't deactivate an active connection
722                         provided by that settings service, because it was using a connection
723                         that had already been replaced in the system or user hash
724
725 2008-10-21  Dan Williams  <dcbw@redhat.com>
726
727         * src/NetworkManager.c
728                 - (main): keep the DHCP manager around since it's a singleton; fixes
729                         a use-after-free exposed by r4196 since the DHCP manager singleton
730                         variable isn't cleared when the DHCP manager object is finalized
731
732 2008-10-20  Dan Williams  <dcbw@redhat.com>
733
734         * libnm-util/nm-setting-wireless-security.c
735                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
736
737 2008-10-20  Dan Williams  <dcbw@redhat.com>
738
739         * src/supplicant-manager/nm-supplicant-config.c
740                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
741
742 2008-10-20  Dan Williams  <dcbw@redhat.com>
743
744         * src/dhcp-manager/nm-dhcp-manager.c
745                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
746                         manager object already refs it once
747                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
748                         also get cleaned up by nm_dhcp_device_destroy() to prevent
749                         double-frees
750
751 2008-10-20  Dan Williams  <dcbw@redhat.com>
752
753         * src/nm-manager.c
754                 - (initial_get_connections): use private dbus manager, don't keep
755                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
756                         manager object.
757
758 2008-10-18  Dan Williams  <dcbw@redhat.com>
759
760         * libnm-glib/nm-settings.c
761           libnm-glib/nm-settings.h
762                 - Rename the "get_secrets" virtual function "service_get_secrets" to
763                         clarify when it's used; NMExportedConnetion is a base-class for both
764                         the client and service side, which is sort of confusing, and
765                         get_secrets only makes sense on the service side.
766
767         * libnm-glib/nm-dbus-connection.c
768                 - (get_secrets): remove, unused, and clients need to do extra work to
769                         get secrets anyway since the call can block on the remote side
770
771         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
772           system-settings/plugins/keyfile/nm-keyfile-connection.c
773                 - Fix up for get_secrets -> service_get_secrets
774
775 2008-10-16  Dan Williams  <dcbw@redhat.com>
776
777         * src/nm-device-wifi.c
778                 - (constructor): correctly determine encryption capabilities
779
780 2008-10-15  Dan Williams  <dcbw@redhat.com>
781
782         * src/nm-device-wifi.c
783                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
784                         (Johannes Berg)
785
786 2008-10-15  Dan Williams  <dcbw@redhat.com>
787
788         * src/NetworkManagerSystem.c
789                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
790                         if the ip4_dest is in a smaller subnet contained within a subnet
791                         the machine is currently on, the destination is in the same subnet
792                 - (nm_system_device_set_ip4_route): move subnet checks to callers
793                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
794                         subnet as the parent device, and if so, don't add the direct
795                         host route via the parent device's gateway (bgo #481620)
796                 - (nm_system_apply_ip4_config): check whether the route to be added
797                         is contained within a subnet the device is already on
798
799 2008-10-11  Dan Williams  <dcbw@redhat.com>
800
801         * include/NetworkManager.h
802           introspection/nm-device.xml
803           include/NetworkManagerVPN.h
804                 - Add a few more state reasons for the device deactivated state
805
806         * src/nm-device-interface.c
807           src/nm-device-interface.h
808                 - (nm_device_interface_deactivate): add a 'reason' argument
809
810         * src/nm-device.c
811           src/nm-device.h
812                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
813                 - (nm_device_state_changed): pass the state change reason to
814                         nm_device_take_down()
815                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
816                         to the state change function
817
818         * src/nm-manager.c
819           src/nm-manager.h
820                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
821                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
822                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
823                         something reasonable along to VPN deactivation
824
825         * src/vpn-manager/nm-vpn-manager.c
826           src/vpn-manager/nm-vpn-manager.h
827                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
828                         pass that along to nm_vpn_connection_disconnect()
829
830 2008-10-11  Dan Williams  <dcbw@redhat.com>
831
832         * src/nm-device-wifi.c
833                 - (can_scan): remove old madwifi hack for not scanning while connected
834
835 2008-10-11  Dan Williams  <dcbw@redhat.com>
836
837         Add support for VPN subnet gateways (bgo #549196)
838
839         * include/NetworkManager.h
840                 - Add key for internal VPN subnet gateway
841
842         * src/vpn-manager/nm-vpn-connection.c
843                 - (ip_address_to_string): return a const from a static buffer so we
844                         don't leak a lot of strings
845                 - (print_vpn_config): print internal VPN gateway as well
846                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
847                         VPN service too
848                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
849
850         * src/NetworkManagerSystem.c
851           src/NetworkManagerSystem.h
852                 - (nm_system_device_replace_default_ip4_route): split into two, one for
853                         VPN connections and one for normal devices
854                 - (replace_default_ip4_route): break out route stuff into its own function
855                 - (nm_system_replace_default_ip4_route_vpn,
856                    nm_system_replace_default_ip4_route): simplify by having two cases,
857                         one for VPNs and one for normal devices
858
859         * src/NetworkManagerPolicy.c
860                 - (update_routing_and_dns): simplify, use split default route replacement
861                         functions
862
863 2008-10-10  Dan Williams  <dcbw@redhat.com>
864
865         Rework default route handling to consolidate decisions in the policy,
866         and to take active VPN connections into account when changing the default
867         route (bgo #545912)
868
869         * src/NetworkManager.c
870                 - (main): pass the vpn_manager to the policy so it knows about active
871                         VPN connections; clean up the named manager which wasn't done before
872
873         * src/NetworkManagerPolicy.c
874           src/NetworkManagerPolicy.h
875                 - (nm_policy_new): get a clue about the vpn_manager
876                 - (update_default_route): remove, fold into update_routing_and_dns()
877                 - (update_routing_and_dns): handle active VPN connections too; an
878                         active VPN connection becomes the default route if it does not have
879                         server-specified or user-specified custom routes.  Otherwise, the
880                         best active device gets the default route
881                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
882                    nm_policy_destroy): track VPN connection activation and deactivation
883                         and update the default route when appropriate
884
885         * src/NetworkManagerSystem.c
886           src/NetworkManagerSystem.h
887                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
888                         in the VPN connection itself
889                 - (nm_system_vpn_device_set_from_ip4_config,
890                    nm_system_device_set_from_ip4_config): merge together to make
891                         nm_system_apply_ip4_config()
892                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
893                         via the parent device
894                 - (nm_system_apply_ip4_config): simplify
895                 - (add_ip4_route_to_gateway): new function; add a direct route to the
896                         gateway if needed
897                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
898                         route stuff out into add_ip4_route_to_gateway() for clarity
899
900         * src/nm-device.c
901                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
902
903         * src/vpn-manager/nm-vpn-connection.c
904           src/vpn-manager/nm-vpn-connection.h
905                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
906                    nm_vpn_connection_get_parent_device): add
907                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
908                         device explicit
909                 - (connection_state_changed): update the named manager now that
910                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
911                         useful on errors
912
913         * src/vpn-manager/nm-vpn-manager.c
914           src/vpn-manager/nm-vpn-manager.h
915                 - Add a 'connection-activated' signal
916                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
917                         policy to find out about active VPN connections
918
919 2008-10-10  Tambet Ingo  <tambet@gmail.com>
920
921         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
922         a daemon to prevent NM logging spew on console on startup and shutdown (due
923         to dependency loop between NM and syslog).
924
925 2008-10-10  Alexander Sack  <asac@ubuntu.com>
926
927         Implement managed mode. We bind devices configured in /etc/network/interfaces
928         to their connections by updating wired/wireless setting with the
929         mac address of the device.
930
931         * system-settings/plugins/ifupdown/plugin.c
932                 - (get_net_address_for_udi): implement function to retrieve MAC
933                         address of udi from hal in GByteArray format
934                 - (bind_device_to_connection): bind mac address of device to
935                         wired/wireless system connection
936                 - (hal_device_added_cb): call bind_device_to_connection for
937                         system connections with a matching interface.name
938                 - (hal_device_added_cb): ensure that all code paths
939                         properly free the "iface" string.
940
941 2008-10-10  Alexander Sack  <asac@ubuntu.com>
942
943         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
944         mode of the ifupdown system config plugin.
945
946         * system-settings/plugins/ifupdown/plugin.c
947                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
948                         private unmanage_well_known state field accordingly
949
950 2008-10-10  Alexander Sack  <asac@ubuntu.com>
951
952         Implement unmanaged mode that will prevent all devices in the
953         well_known_udis set from being touched by NetworkManager
954
955         * system-settings/plugins/ifupdown/plugin.c
956                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
957                         unmanage_well_known field used to turn on/off unmanaged
958                         mode
959                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
960                         signal when well_known_udis get added/removed
961                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
962                         if we are in unmanaged mode
963
964 2008-10-10  Alexander Sack  <asac@ubuntu.com>
965
966         Add support to track network devices that have a configuration
967         with a matching interface.name in /etc/network/interfaces
968
969         * system-settings/plugins/ifupdown/plugin.c
970                 - (typedef struct SCPluginIfupdownPrivate): add hash table
971                         to track |well_known_udis|
972                 - (get_iface_for_udi): helper function to get interface.name
973                         for a udi
974                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
975                         that add and remove devices to and from the well_known_udis
976                         set depending on whether their |interface.name| matches
977                         any interface definition in /etc/network/interfaces
978                 - (SCPluginIfupdown_init): connect callbacks from above with
979                         hal_mgr and setup well_known_udis hashtable
980                 - (GObject__dispose): destroy well_known_udis hashtable
981                 - (hal_device_added_cb2): implement wrapper callback with GFunc
982                         signature. user_data is supposed to be a triple (hal_mgr,
983                         config and devtype)
984                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
985                         startup and call hal_device_added_cb2
986
987 2008-10-10  Alexander Sack  <asac@ubuntu.com>
988
989         Remove implementation for not used NMSystemConfigInterface callback functions
990         in ifupdown plugin
991
992         * system-settings/plugins/ifupdown/plugin.c
993                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
994                 - (SCPluginIfupdown_connection_added): removed
995
996 2008-10-08  Dan Williams  <dcbw@redhat.com>
997
998         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
999
1000         * src/NetworkManagerUtils.c
1001                 - (nm_utils_call_dispatcher): add a 'hostname' action
1002
1003         * src/NetworkManagerPolicy.c
1004                 - (set_system_hostname): dispatch hostname changes
1005
1006         * callouts/nm-dispatcher-action.c
1007                 - (nm_dispatcher_action): handle 'hostname' actions
1008
1009 2008-10-08  Dan Williams  <dcbw@redhat.com>
1010
1011         * src/NetworkManagerSystem.c
1012                 - (find_route): ref the route so it doesn't get destroyed when the cache
1013                         is cleared
1014                 - (nm_system_device_set_priority): unref the route here after it's done
1015                         being used
1016
1017 2008-10-08  Dan Williams  <dcbw@redhat.com>
1018
1019         * src/nm-serial-device.c
1020                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1021
1022 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1023
1024         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1025         connection with new settings before saving it.
1026
1027 2008-10-06  Dan Williams  <dcbw@redhat.com>
1028
1029         * src/nm-ip4-config.c
1030           src/nm-ip4-config.h
1031                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1032
1033         * src/nm-device-interface.c
1034                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1035                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1036                         by using '/' for the object path
1037
1038         * src/nm-device.c
1039                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1040                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1041                         dbus handle NULL object paths
1042
1043 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1044
1045         Implement system hostname support for debian/ubuntu
1046
1047         * system-settings/plugins/ifupdown/plugin.c
1048                 - (GObject__get_property): extend announced capabilities; add
1049                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1050                 - (GObject__set_property,write_system_hostname): implement
1051                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1052                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1053                    update_system_hostname, get_hostname):
1054                         implement hostname property that watches and
1055                         parses /etc/hostname
1056
1057 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1058
1059         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1060           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1061           system-settings/plugins/ifcfg-fedora/Makefile.am
1062           system-settings/src/nm-inotify-helper.c
1063           system-settings/src/nm-inotify-helper.h
1064           src/Makefile.am
1065                 - Move ifcfg-fedora inotify helpers to the system settings service so
1066                         they are available to all plugins
1067
1068 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1069
1070         Implement support for wep-tx-keyidx in ifupdown system
1071         config plugin.
1072
1073         * system-settings/plugins/ifupdown/parser.c
1074                 - (update_wireless_security_setting_from_if_block): introduce
1075                         free_type_mapping func table; rename a few local
1076                         variables to improve readability; add wpa security mapping
1077                         for wep-tx-keyidx property
1078                 - (string_to_gpointerint): new function used for the auto_type_mapping
1079                         of new wep-tx-keyidx property
1080                 - (slist_free_all): free func used for mapped slist types
1081
1082 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1083
1084         * system-settings/src/main.c:
1085                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1086                         always used as the hash key; fixes a crash when removing wired
1087                         devices
1088
1089 2008-10-02  Dan Williams  <dcbw@redhat.com>
1090
1091         * src/nm-gsm-device.c
1092                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1093                         pass the required GSM secret along via user_data rather than keeping
1094                         it around in the private data where it sometimes didn't get cleared
1095                 - (real_get_ppp_name): implement using the GSM username
1096
1097 2008-10-02  Dan Williams  <dcbw@redhat.com>
1098
1099         * src/ppp-manager/nm-ppp-manager.c
1100           src/ppp-manager/nm-ppp-manager.h
1101                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1102                         the settings daemon for completely new ones
1103                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1104                         local PPP peer name; allow PPP debuging by launching NM with
1105                         the environment variable NM_PPP_DEBUG defined
1106                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1107                         create_pppd_cmd_line()
1108
1109         * src/nm-serial-device.c
1110           src/nm-serial-device.h
1111                 - New 'get_ppp_name' function for subclasses to implement to return the
1112                         local PPP peer name
1113                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1114                         and pass that name to the PPP manager
1115
1116         * src/nm-device-ethernet.c
1117                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1118                         the local peer name
1119
1120         * src/nm-cdma-device.c
1121                 - (real_get_ppp_name): implement using the CDMA username
1122
1123 2008-10-02  Dan Williams  <dcbw@redhat.com>
1124
1125         Patch from Alexander Sack <asac ubuntu com>
1126
1127         * system-settings/plugins/ifupdown/parser.c
1128                 - Implement more graceful ip4 config parsing for cases where
1129                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1130                   by using default values
1131
1132 2008-10-02  Dan Williams  <dcbw@redhat.com>
1133
1134         * src/NetworkManagerPolicy.c
1135                 - (device_state_changed): when marking a connection invalid, clear its
1136                         secrets too so that fresh secrets get requested the next time
1137
1138 2008-10-01  Dan Williams  <dcbw@redhat.com>
1139
1140         * system-settings/src/dbus-settings.c
1141                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1142                         a fallback if no plugin provides a hostname
1143                 - (get_property): fall back to cached hostname if no plugin provides
1144                         a hostname
1145
1146 2008-10-01  Dan Williams  <dcbw@redhat.com>
1147
1148         Fix setting value comparison issue that caused some settings to look the
1149         same when they were really different (rh #464417)
1150
1151         * libnm-util/nm-param-spec-specialized.c
1152                 - (type_is_fixed_size): return fundamental size of the fixed type too
1153                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1154                         in the comparison so that the _entire_ fixed type collection gets
1155                         compared rather than just the first 'len1' bytes
1156
1157 2008-09-30  Dan Williams  <dcbw@redhat.com>
1158
1159         * src/NetworkManagerPolicy.c
1160                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1161                         idle handler could have already run and freed the LookupThread
1162                         structure
1163
1164 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1165
1166         * src/nm-device.c (nm_device_get_priority): Implement.
1167         (nm_device_set_ip4_config): Send the device priority to system ip4 
1168         config setter.
1169
1170         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1171         Add priority argument and if it's >= 0, set the priority of the network
1172         route added automatically by netlink (or kernel?).
1173         (nm_system_device_set_priority): Implement.
1174
1175         * src/NetworkManagerPolicy.c (get_best_device): Use 
1176         nm_device_get_priority() instead of home-grown version. Revert the
1177         meaning, best priority is the lowest one.
1178
1179 2008-09-29  Dan Williams  <dcbw@redhat.com>
1180
1181         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1182         when it returns EAGAIN (rh #362421)
1183
1184         * src/nm-device-wifi.c
1185                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1186                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1187
1188 2008-09-28  Dan Williams  <dcbw@redhat.com>
1189
1190         * src/nm-serial-device.c
1191           src/nm-serial-device.h
1192                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1193                         cleaned at the right times when subclasses close the serial port too
1194                 - (nm_serial_device_send_command): use a default send delay; don't
1195                         spin forever on EAGAIN
1196                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1197                         remove, no longer used
1198                 - (find_response): return the matched response if any
1199                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1200                         while doing so
1201                 - (wait_for_reply_done): pass the matched response to the callback
1202                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1203                         handling
1204                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1205                         const since they never get modified
1206                 - (cleanup_device): split out common cleanup stuff to a new function
1207                 - (real_deactivate_quickly, finalize): use cleanup_device()
1208
1209         * src/nm-gsm-device.c
1210                 - (modem_get_reply): remove, unused
1211                 - (set_apn): give the card a bit more time to respond
1212                 - (manual_registration_again, schedule_manual_registration_again,
1213                    manual_registration_response, manual_registration): handle manual
1214                         registration timeouts better by retrying registration a few times
1215                         because cards are a bit slow after CFUN=1
1216                 - (automatic_registration_get_network, get_network_response): use
1217                         modem_wait_for_reply() because it interacts better with the serial
1218                         buffer and does more intelligent matching; need to wait for 'OK'
1219                         rather than just matching terminators
1220                 - (schedule_automatic_registration_again,
1221                    automatic_registration_response, automatic_registration): retry
1222                         registration a few times on timeout or "searching" because cards
1223                         take a bit to find a network after being powered up with CFUN=1
1224                 - (power_up_response, power_up, init_full_done, enter_pin,
1225                    check_pin_done): power up the card with CFUN=1 before trying to
1226                         register with the network
1227                 - (init_modem_full, init_modem): use more standard 3G init strings
1228
1229         * src/nm-hso-gsm-device.c
1230                 - (modem_get_reply): remove, unused
1231                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1232                         modem_wait_for_reply() to match actual responses instead of single
1233                         termination characters; it doesn't leave stuff in the serial buffer
1234                         that might confuse later calls
1235                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1236                         to ensure that the call is really disconnected and not leave extra
1237                         stuff in the serial buffer
1238
1239         * src/nm-cdma-device.c
1240                 - (power_up_response, power_up, init_done): try Sierra-style modem
1241                         power up before attempting to connect
1242
1243 2008-09-27  Dan Williams  <dcbw@redhat.com>
1244
1245         * libnm-util/nm-setting-gsm.c
1246                 - (verify): verify GSM network ID
1247
1248 2008-09-25  Dan Williams  <dcbw@redhat.com>
1249
1250         * libnm-util/nm-setting-gsm.c
1251           libnm-util/nm-setting-gsm.h
1252                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1253                         technology terms (bgo #551361)
1254
1255 2008-09-25  Dan Williams  <dcbw@redhat.com>
1256
1257         Fix bgo #549401 (inspired by patch from Alexander Sack)
1258
1259         * src/nm-device-ethernet.c
1260                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1261                 - (remove_supplicant_interface_error_handler): remove the supplicant
1262                         error idle callback too
1263                 - (supplicant_interface_release): rename from supplicant_interface_clean
1264                         to match nm-device-wifi.c; clean up supplicant interface-related
1265                         state tasks when the supplicant interface is disposed of
1266                 - (schedule_state_handler): add scheduled tasks to a list so they can
1267                         be cleaned up later
1268                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1269                    supplicant_iface_connection_state_cb_handler): use
1270                         finish_supplicant_task() to clean up each completed task
1271                 - (supplicant_iface_connection_error_cb_handler,
1272                    supplicant_connection_timeout_cb): clear source id when the task is
1273                         complete
1274                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1275                         later cleanup
1276                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1277                         tasks
1278
1279         * src/nm-device-wifi.c
1280                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1281                 - (remove_supplicant_interface_error_handler): remove the supplicant
1282                         error idle callback too
1283                 - (supplicant_interface_release): clean up supplicant interface-related
1284                         state tasks when the supplicant interface is disposed of
1285                 - (schedule_state_handler): add scheduled tasks to a list so they can
1286                         be cleaned up later
1287                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1288                    supplicant_iface_connection_state_cb_handler): use
1289                         finish_supplicant_task() to clean up each completed task
1290                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1291                         the task is complete
1292                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1293                         later cleanup
1294                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1295
1296 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1297
1298         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1299         method and get/set hostname property.
1300
1301 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1302
1303         * src/supplicant-manager/nm-supplicant-interface.c
1304         (nm_supplicant_interface_disconnect): Don't increment the reference 
1305         count when disconnecting. The problem is on shutdown, when the replies
1306         to these commands do not arrive before NM exits, resulting on never
1307         calling supplicant interface's dispose(), which removes the interface
1308         from supplicant.
1309
1310 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1311
1312         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1313         all the public function arguments.
1314
1315 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1316
1317         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1318         "Failure" signal from VPN plugins, store the failure reason, and
1319         use it when the state is changed to failure.
1320
1321         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1322         description.
1323
1324         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1325         reason to the end of the list to not break the API.
1326         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1327         so it can be shared by plugins and daemon.
1328
1329 2008-09-18  Dan Williams  <dcbw@redhat.com>
1330
1331         Patch from Alexander Sack <asac@ubuntu.com>
1332
1333         * configure.in
1334           system-settings/plugins/Makefile.am
1335           system-settings/plugins/ifupdown/Makefile.am
1336           system-settings/plugins/ifupdown/interface_parser.c
1337           system-settings/plugins/ifupdown/interface_parser.h
1338           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1339           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1340           system-settings/plugins/ifupdown/parser.c
1341           system-settings/plugins/ifupdown/parser.h
1342           system-settings/plugins/ifupdown/plugin.c
1343           system-settings/plugins/ifupdown/plugin.h
1344                 - Implement a Debian/Ubuntu legacy network configuration plugin
1345                         (gnome.org #551941)
1346
1347 2008-09-18  Dan Williams  <dcbw@redhat.com>
1348
1349         Implement support for honoring configured and automatic hostnames, and for
1350         setting the configured hostname.
1351
1352         * introspection/nm-ip4-config.xml
1353           src/nm-ip4-config.c
1354           src/nm-ip4-config.h
1355           src/dhcp-manager/nm-dhcp-manager.c
1356                 - Remove useless hostname property; it's not really part of the IPv4
1357                         config
1358
1359         * introspection/nm-settings-system.xml
1360           libnm-glib/nm-dbus-settings-system.c
1361           libnm-glib/nm-dbus-settings-system.h
1362                 - Add SetHostname() call to system settings D-Bus interface
1363                 - Add Hostname property to system settings D-Bus interface
1364                 - (nm_dbus_settings_system_save_hostname,
1365                    nm_dbus_settings_system_get_hostname): implement
1366
1367         * src/nm-device.c
1368           src/nm-device.h
1369                 - (nm_device_get_dhcp4_config): implement
1370
1371         * src/nm-manager.c
1372           src/nm-manager.h
1373                 - Fetch and track system settings service hostname changes, and proxy
1374                         the changes via a GObject property of the manager
1375
1376         * system-settings/src/nm-system-config-interface.c
1377           system-settings/src/nm-system-config-interface.h
1378                 - Replace nm_system_config_interface_supports_add() with a capabilities
1379                         bitfield
1380
1381         * system-settings/src/nm-system-config-error.c
1382           system-settings/src/nm-system-config-error.h
1383                 - Add additional errors
1384
1385         * system-settings/src/dbus-settings.c
1386           system-settings/src/dbus-settings.h
1387                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1388                         property; first plugin returning a hostname wins
1389                 - (impl_settings_add_connection): use plugin capabilities instead of
1390                         nm_system_config_interface_supports_add()
1391                 - (impl_settings_save_hostname): implement hostname saving
1392
1393         * src/NetworkManagerPolicy.c
1394                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1395                    lookup_thread_die): implement an asynchronous hostname lookup thread
1396                         which given an IPv4 address tries to look up the hostname for that
1397                         address with reverse DNS
1398                 - (get_best_device): split out best device code from
1399                         update_routing_and_dns()
1400                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1401                         to preserve the 127.0.0.1 reverse mapping that so many things require
1402                 - (set_system_hostname): set a given hostname
1403                 - (update_system_hostname): implement hostname policy; a configured
1404                         hostname (from the system settings service) is used if available,
1405                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1406                         If there was no automatically determined hostname, reverse DNS of
1407                         the best device's IP address will be used, and as a last resort the
1408                         hostname 'localhost.localdomain' is set.
1409                 - (update_routing_and_dns): use get_best_device(); update the system
1410                         hostname when the network config changes
1411                 - (hostname_changed): update system hostname if the system settings
1412                         service signals a hostname change
1413                 - (nm_policy_new): list for system settings service hostname changes
1414                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1415                         gets told to die
1416
1417         * system-settings/plugins/keyfile/plugin.c
1418           system-settings/plugins/ifcfg-suse/plugin.c
1419                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1420                         capabilities properties
1421
1422         * system-settings/plugins/ifcfg-fedora/shvar.c
1423                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1424                         writes out /etc/sysconfig/network now
1425
1426         * system-settings/plugins/ifcfg-fedora/plugin.c
1427                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1428                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1429                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1430                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1431                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1432                         hostname get/set and capabilities get
1433
1434 2008-09-18  Dan Williams  <dcbw@redhat.com>
1435
1436         * libnm-util/nm-setting-wireless.c
1437                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1438                         group ciphers if the wireless-security setting explicitly specified
1439                         them, effectively making the default be "all ciphers"  (idea from
1440                         Alexander Sack)
1441
1442 2008-09-15  Dan Williams  <dcbw@redhat.com>
1443
1444         Patch from Alexander Sack <asac@ubuntu.com>
1445
1446         * src/named-manager/nm-named-manager.c
1447                 - (dispatch_resolvconf): respect resolvconf exit code
1448
1449 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1450
1451         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1452         again. Add some debugging.
1453
1454 2008-09-11  Dan Williams  <dcbw@redhat.com>
1455
1456         * system-settings/plugins/keyfile/plugin.c
1457                 - (update_connection_settings): update connection manually, since
1458                         nm_exported_connection_update() does authentication
1459                 - (dir_changed): update_connection_settings() doesn't need to return
1460                         an error
1461
1462 2008-09-09  Dan Williams  <dcbw@redhat.com>
1463
1464         * libnm-glib/nm-vpn-plugin-ui-interface.c
1465           libnm-glib/nm-vpn-plugin-ui-interface.h
1466           libnm-glib/libnm_glib_vpn.ver
1467                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1468                         should clean up resources related to the connection (like keyring
1469                         secrets)
1470                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1471                         should save user-scope secrets (like to the keyring)
1472
1473 2008-09-08  Dan Williams  <dcbw@redhat.com>
1474
1475         Patch from Alexander Sack <asac@ubuntu.com>
1476
1477         * libnm-util/crypto_gnutls.c
1478           libnm-util/crypto_nss.c
1479                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1480
1481         * libnm-util/nm-utils.c
1482           libnm-util/nm-utils.h
1483           libnm-util/libnm-util.ver
1484                 - (nm_utils_init): initialize libnm-util
1485                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1486
1487         * libnm-util/nm-setting-8021x.c
1488                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1489
1490 2008-09-05  Dan Williams  <dcbw@redhat.com>
1491
1492         Patch from Roy Marples <roy@marples.name> and others
1493
1494         * configure.in
1495           src/named-manager/nm-named-manager.c
1496                 - Add support for resolvconf; use --with-resolvconf at configure time
1497                         to enable it
1498
1499 2008-09-05  Dan Williams  <dcbw@redhat.com>
1500
1501         * libnm-util/crypto_nss.c
1502           libnm-util/crypto_gnutls.c
1503           libnm-util/crypto.h
1504                 - (crypto_init): return error when init fails
1505
1506 2008-09-05  Dan Williams  <dcbw@redhat.com>
1507
1508         * libnm-glib/nm-device-wifi.c
1509                 - (access_point_removed_proxy): clean up the active access point too
1510                         just in case the active ap changed signal didn't come through yet
1511                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1512
1513 2008-09-05  Dan Williams  <dcbw@redhat.com>
1514
1515         * libnm-glib/nm-client.c
1516                 - (constructor): get initial state after we know whether NM is running
1517                         or not
1518
1519 2008-09-05  Dan Williams  <dcbw@redhat.com>
1520
1521         * libnm-glib/nm-ip4-config.c
1522           libnm-glib/nm-dhcp4-config.c
1523                 - (finalize): clean up the DBusGProxy
1524
1525 2008-09-04  Dan Williams  <dcbw@redhat.com>
1526
1527         * src/nm-ip4-config.c
1528           src/nm-ip4-config.h
1529                 - (nm_ip4_config_new): don't export over D-Bus here
1530                 - (nm_ip4_config_export): new function; export the config over D-Bus
1531                 - (nm_ip4_config_is_exported): new function
1532
1533         * src/nm-device.c
1534                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1535                         objects by balancing the IP4Config constructor; the device holds
1536                         a reference to the IP4Config already
1537                 - (nm_device_set_ip4_config): export the IP4Config when needed
1538
1539 2008-09-04  Dan Williams  <dcbw@redhat.com>
1540
1541         * src/supplicant-manager/nm-supplicant-settings-verify.c
1542                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1543
1544 2008-09-04  Dan Williams  <dcbw@redhat.com>
1545
1546         * libnm-util/nm-setting-vpn.c
1547           libnm-util/nm-setting-vpn.h
1548                 - Split VPN secrets from VPN data so that settings services can actually
1549                         figure out that they are secrets and store them accordingly
1550
1551         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1552           system-settings/plugins/keyfile/reader.c
1553           system-settings/plugins/keyfile/reader.h
1554           system-settings/plugins/keyfile/writer.c
1555                 - Store VPN secrets separately from VPN data so that they can be fetched
1556                         on demand
1557                 - Implement the get_secrets() call so that (a) secrets don't leak out
1558                         to unprivileged callers, and (b) secrets can be sent to privileged
1559                         callers when needed
1560
1561         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1562                 - Handle split VPN secrets
1563
1564 2008-08-27  Dan Williams  <dcbw@redhat.com>
1565
1566         * system-settings/plugins/ifcfg-fedora/reader.c
1567                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1568
1569 2008-08-27  Dan Williams  <dcbw@redhat.com>
1570
1571         Ensure zombie children get cleaned up.  To get notifications when children
1572         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1573         that requires calling waitpid() yourself if you've removed the child watch
1574         handler before the process has actually died, which NM needs to do in a few
1575         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1576         cleans up after the child when required.  Should fix problems trying to
1577         activate mobile broadband connections after a previous failure.
1578
1579         * src/dhcp-manager/nm-dhcp-dhclient.c
1580           src/dhcp-manager/nm-dhcp-dhcpcd.c
1581                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1582
1583         * src/dhcp-manager/nm-dhcp-manager.c
1584                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1585                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1586                         block on child quitting, since the non-blocking functionality was
1587                         never actually used
1588
1589         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1590                 - (dm_watch_cb): child is already reaped here
1591                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1592
1593         * src/nm-device.c
1594                 - (aipd_cleanup): block until child is dead
1595
1596         * src/named-manager/nm-named-manager.c
1597                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1598                         event bothering to watch the child
1599
1600         * src/ppp-manager/nm-ppp-manager.c
1601                 - (ppp_watch_cb): child is already reaped here
1602                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1603
1604         * src/vpn-manager/nm-vpn-service.c
1605                 - (vpn_service_watch_cb): child is already reaped here
1606                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1607                         status of the child is actually tracked
1608                 - (ensure_killed, finalize): block until child is dead
1609
1610 2008-08-26  Dan Williams  <dcbw@redhat.com>
1611
1612         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1613                 - (update): Update filename of the connection if the connection id
1614                         was changed
1615
1616         * system-settings/plugins/keyfile/plugin.c
1617                 - (dir_changed): first pass at handling connection renames correctly
1618
1619         * system-settings/plugins/keyfile/writer.c
1620           system-settings/plugins/keyfile/writer.h
1621                 - (write_connection): replace '/' with '*' when writing out the filename
1622                         from the connection id
1623
1624 2008-08-26  Dan Williams  <dcbw@redhat.com>
1625
1626         Add connection UUIDs, since connection names can be changed, and since
1627         old-style connection IDs could change over the life of the connection.  The
1628         UUID should be assigned at connection creation time, be stable for a given
1629         connection, and should be unique among all connections for a given settings
1630         service.
1631
1632         * configure.in
1633           libnm-util/Makefile.am
1634                 - Require libuuid
1635
1636         * introspection/nm-exported-connection.xml
1637                 - Remove "GetID" method
1638
1639         * libnm-glib/nm-dbus-connection.c
1640           libnm-glib/nm-settings.c
1641           libnm-glib/nm-settings.h
1642                 - Remove id-related stuff
1643
1644         * libnm-util/nm-utils.c
1645           libnm-util/nm-utils.h
1646           libnm-util/libnm-util.ver
1647                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1648                         utility functions to generate UUIDs
1649
1650         * libnm-util/nm-setting-connection.c
1651           libnm-util/nm-setting-connection.h
1652                 - Add 'uuid' member to the connection setting
1653                 - (verify): require valid 'uuid' for a valid connection
1654
1655         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1656           system-settings/plugins/ifcfg-fedora/reader.c
1657           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1658           system-settings/plugins/ifcfg-suse/parser.c
1659           system-settings/plugins/keyfile/nm-keyfile-connection.c
1660           system-settings/src/main.c
1661                 - Remove id-related stuff
1662                 - Give connections UUIDs where needed
1663
1664 2008-08-25  Dan Williams  <dcbw@redhat.com>
1665
1666         * libnm-util/crypto_gnutls.c
1667           libnm-util/crypto_nss.c
1668                 - (crypto_init, crypto_deinit): refcount init/deinit
1669                 - (crypto_md5_hash): allow NULL salt
1670
1671 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1672
1673         * libnm-glib/Makefile.am
1674           libnm-util/Makefile.am
1675           libnm-glib/libnm_glib.ver
1676           libnm-glib/libnm_glib_vpn.ver
1677           libnm-util/libnm-util.ver
1678                 - Use linker version scripts to control the list of exported 
1679                 symbols. List each exported symbol explicitely.
1680         * libnm-util/Makefile.am
1681                 - Fix compilation of the test-crypto binary. The crypto
1682                 functions are no longer part of the libnm-util API. Add 
1683                 crypto_*.c to test_crypto_SOURCES and link against the correct
1684                 crypto libraries.
1685
1686 2008-08-19  Dan Williams  <dcbw@redhat.com>
1687
1688         * configure.in
1689           test/Makefile.am
1690                 - Don't build test/test-common
1691                 - Remove unused stuff
1692
1693         * test/nm-set-fallback
1694           test/nmtestdevices.c
1695           test/test-common/.cvsignore
1696           test/test-common/Makefile.am
1697           test/test-common/test-common.c
1698           test/test-common/test-common.h
1699                 - delete
1700
1701 2008-08-18  Dan Williams  <dcbw@redhat.com>
1702
1703         * libnm-util/nm-utils.c
1704           libnm-util/nm-utils.h
1705                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1706                         export anything that needs to be converted with this function
1707
1708         * src/dhcp-manager/nm-dhcp-manager.c
1709                 - (garray_to_string): convert a byte array to a UTF-8 string with
1710                         minimal validation; the DHCP client sends it in ASCII anyway
1711                 - (get_option, copy_option): use garray_to_string()
1712
1713 2008-08-18  Dan Williams  <dcbw@redhat.com>
1714
1715         * include/NetworkManager.h
1716           introspection/nm-device.xml
1717                 - Add a "missing firmware" device state reason
1718
1719         * src/NetworkManagerSystem.c
1720           src/NetworkManagerSystem.h
1721                 - (nm_system_device_set_up_down): add a no_firmware argument
1722                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1723                         IFF_UP is ENOENT, that almost always means missing firmware
1724
1725         * src/backends/NetworkManagerGeneric.c
1726           src/nm-device-ethernet.c
1727           src/nm-device-private.h
1728           src/nm-device-wifi.c
1729           src/nm-device.c
1730           src/nm-device.h
1731           src/nm-hso-gsm-device.c
1732           src/vpn-manager/nm-vpn-connection.c
1733                 - Pass no_firmware along; check it where appropriate
1734
1735 2008-08-18  Dan Williams  <dcbw@redhat.com>
1736
1737         Patch from Robert Buchholz <rbu@gentoo.org>
1738
1739         * autogen.sh
1740           configure.in
1741                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1742                         1003.1-1988, allowing for file names longer than 99 characters
1743
1744 2008-08-17  Dan Williams  <dcbw@redhat.com>
1745
1746         * include/NetworkManager.h
1747           introspection/nm-device.xml
1748           src/nm-gsm-device.c
1749                 - Finer-grained GSM registration failure error codes
1750
1751 2008-08-17  Dan Williams  <dcbw@redhat.com>
1752
1753         * callouts/Makefile.am
1754           src/Makefile.am
1755                 - Move dispatcher directory creation to callouts/Makefile.am
1756
1757         * system-settings/plugins/keyfile/Makefile.am
1758                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1759
1760 2008-08-15  Dan Williams  <dcbw@redhat.com>
1761
1762         Do connection sharing in a cleaner manner; all required iptables rules
1763         are now stored in the activation request and pertain only to the device
1764         which is being shared to other computers. (rh #458625)
1765
1766         * src/nm-activation-request.c
1767           src/nm-activation-request.h
1768                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1769                         the activation request which will get torn down automatically when
1770                         the activation request dies
1771                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1772                         is started, and tear them down when sharing is stopped
1773
1774         * src/nm-device.c
1775                 - (start_sharing): start up sharing by doing the required iptables magic
1776                 - (share_init): poke the right bits of the kernel and load the right
1777                         modules for NAT
1778                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1779                         connection if it's a 'shared' connection
1780
1781         * src/NetworkManagerPolicy.c
1782                 - Remove all sharing stuff; done in the device code itself
1783
1784 2008-08-15  Dan Williams  <dcbw@redhat.com>
1785
1786         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1787                 - (create_dm_cmd_line): send the right router address
1788
1789 2008-08-15  Dan Williams  <dcbw@redhat.com>
1790
1791         * src/ppp-manager/nm-ppp-manager.c
1792                 - (pppd_timed_out): ensure timeouts fail the connection
1793
1794 2008-08-14  Dan Williams  <dcbw@redhat.com>
1795
1796         * src/nm-properties-changed-signal.c
1797           src/nm-properties-changed-signal.h
1798                 - Add a property spec flag for "don't export this property" in
1799                         property changed signals
1800
1801         * src/nm-hso-gsm-device.c
1802           src/nm-gsm-device.c
1803           src/nm-cdma-device.c
1804                 - Don't export monitor interface or netdev interface properties
1805
1806 2008-08-14  Dan Williams  <dcbw@redhat.com>
1807
1808         * src/NetworkManagerPolicy.c
1809                 - (update_routing_and_dns): 'hso' devices can be default even if they
1810                         don't have a gateway
1811
1812 2008-08-14  Dan Williams  <dcbw@redhat.com>
1813
1814         * src/nm-device.c
1815                 - (nm_device_deactivate_quickly): tear down activation request after
1816                         calling device-specific deactivation
1817
1818         * src/nm-hso-gsm-device.c
1819                 - (real_deactivate_quickly): terminate connection when deactivating
1820
1821 2008-08-14  Dan Williams  <dcbw@redhat.com>
1822
1823         * src/nm-activation-request.h
1824                 - Add HSO secrets caller
1825
1826         * src/nm-gsm-device.c
1827           src/nm-gsm-device.h
1828                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1829                         something to the callback function
1830                 - (set_apn, set_apn_done): call class dial function, not a static one
1831                 - (nm_gsm_device_class_init): add a class 'dial' function
1832
1833         * src/nm-hal-manager.c
1834                 - (get_hso_netdev): find the hso-driven hardware's net device
1835                 - (modem_device_creator): recognize hso-driven hardware and create the
1836                         right type of device object for it
1837
1838         * src/Makefile.am
1839           src/nm-hso-gsm-device.c
1840           src/nm-hso-gsm-device.h
1841                 - Implement support for devices driven by the 'hso' driver as a subclass
1842                         of NMGsmDevice
1843
1844 2008-08-14  Dan Williams  <dcbw@redhat.com>
1845
1846         * src/NetworkManagerSystem.c
1847                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1848                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1849                         success if the operation really was successful
1850
1851 2008-08-14  Dan Williams  <dcbw@redhat.com>
1852
1853         * src/nm-netlink-monitor.c
1854           src/nm-netlink-monitor.h
1855           src/nm-device-ethernet.c
1856                 - (nm_netlink_monitor_request_status): return an error on failure
1857                 - (constructor): don't segfault on missing error
1858
1859 2008-08-13  Dan Williams  <dcbw@redhat.com>
1860
1861         * callouts/nm-dispatcher-action.c
1862                 - Add IP4 config info to script environment
1863
1864 2008-08-12  Dan Williams  <dcbw@redhat.com>
1865
1866         * src/nm-device.c
1867                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1868                         that want to use DHCP hostnames should use dispatcher scripts
1869                         for that
1870
1871         * src/NetworkManagerSystem.h
1872           src/backends/NetworkManagerArch.c
1873           src/backends/NetworkManagerDebian.c
1874           src/backends/NetworkManagerFrugalware.c
1875           src/backends/NetworkManagerGeneric.c
1876           src/backends/NetworkManagerGeneric.h
1877           src/backends/NetworkManagerGentoo.c
1878           src/backends/NetworkManagerMandriva.c
1879           src/backends/NetworkManagerPaldo.c
1880           src/backends/NetworkManagerRedHat.c
1881           src/backends/NetworkManagerSlackware.c
1882           src/backends/NetworkManagerSuSE.c
1883                 - Remove nm_system_set_hostname(), no longer used
1884           
1885         * src/backends/Makefile.am
1886           src/backends/shvar.c
1887           src/backends/shvar.h
1888                 - Remove shvar.*; no longer used
1889
1890 2008-08-12  Dan Williams  <dcbw@redhat.com>
1891
1892         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1893         hostname is updated at runtime.  Distros or users who want hostname updates
1894         can use dispatcher scripts to update the hostname if they need it.
1895
1896 2008-08-12  Dan Williams  <dcbw@redhat.com>
1897
1898         * introspection/nm-settings-system.xml
1899           system-settings/src/dbus-settings.c
1900           system-settings/src/dbus-settings.h
1901                 - Add a 'Hostname' property (rw) which represents the configured
1902                         hostname and domain of the system, if any
1903
1904         * system-settings/src/nm-system-config-error.c
1905           system-settings/src/nm-system-config-error.h
1906           system-settings/src/nm-system-config-interface.c
1907           system-settings/src/nm-system-config-interface.h
1908                 - Add a 'hostname' property to the plugin interface
1909                 - Add a method to send updated hostname to plugins to save in their
1910                         backing configuration store
1911
1912         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1913           system-settings/plugins/keyfile/plugin.c
1914           system-settings/plugins/keyfile/writer.c
1915           system-settings/plugins/keyfile/writer.h
1916           system-settings/plugins/ifcfg-suse/plugin.c
1917                 - Add minimal hostname support
1918
1919         * system-settings/plugins/ifcfg-fedora/plugin.c
1920                 - Add support for updating system hostname in /etc/sysconfig/network
1921
1922 2008-08-12  Dan Williams  <dcbw@redhat.com>
1923
1924         * system-settings/plugins/ifcfg-fedora/shvar.c
1925           system-settings/plugins/ifcfg-fedora/shvar.c
1926                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1927
1928 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1929
1930         * Makefile.am: Fix distcheck.
1931
1932 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1933
1934         * libnm-glib/*.c. Document some more.
1935
1936 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1937
1938         Start documenting libnm-glib public API using gtk-doc.
1939
1940         * libnm-glib/nm-serial-device.c: 
1941         * libnm-glib/nm-object.c: 
1942         * libnm-glib/nm-gsm-device.c: 
1943         * libnm-glib/nm-device.c: 
1944         * libnm-glib/nm-device-wifi.c: 
1945         * libnm-glib/nm-device-ethernet.c: 
1946         * libnm-glib/nm-client.c: 
1947         * libnm-glib/nm-cdma-device.c: Document the public API.
1948
1949         * docs/libnm-glib/libnm-glib.types: Implement.
1950
1951         * docs/libnm-glib/Makefile.am: Implement.
1952
1953         * autogen.sh: 
1954         * configure.in: 
1955         * Makefile.am: Add gtk-doc support.
1956
1957 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1958
1959         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1960
1961         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1962         the composite result of all the IP4 configurations and call a distro
1963         specific update_resolv_conf().
1964         (update_resolv_conf): Implement one for directly writing to 
1965         /etc/resolv.conf and one for opensuse to call netconfig.
1966
1967 2008-08-11  Dan Williams  <dcbw@redhat.com>
1968
1969         * src/ppp-manager/nm-ppp-manager.c
1970                 - (impl_ppp_manager_need_secrets): pass interface as required
1971
1972 2008-08-11  Dan Williams  <dcbw@redhat.com>
1973
1974         Merge the vpn-properties setting with the vpn setting since it was pointless
1975         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1976         of string:string (instead of string:variant) so that system settings plugins
1977         can have an easier time dealing with the arbitrary key/value pairs.
1978
1979 2008-08-11  Dan Williams  <dcbw@redhat.com>
1980
1981         * libnm-util/nm-utils.c
1982                 - (nm_utils_register_value_transformations): add value transform for
1983                         a hash table of string:string
1984
1985 2008-08-10  Dan Williams  <dcbw@redhat.com>
1986
1987         * libnm-glib/nm-vpn-plugin.c
1988                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1989                         an idle handler so the Connect reply gets delivered before the
1990                         stop StateChanged signal
1991
1992 2008-08-10  Dan Williams  <dcbw@redhat.com>
1993
1994         * src/nm-ip4-config.c
1995                 - (get_property): use common ip4 address/route conversion functions
1996                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1997                         copy the new route here, not take ownership
1998
1999 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2000
2001         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2002         Update the IP4 setting's method name.
2003
2004 2008-08-07  Dan Williams  <dcbw@redhat.com>
2005
2006         * introspection/nm-ip4-config.xml
2007           libnm-glib/libnm-glib-test.c
2008           libnm-glib/nm-ip4-config.c
2009           libnm-glib/nm-ip4-config.h
2010           src/NetworkManagerSystem.h
2011           src/backends/NetworkManagerArch.c
2012           src/backends/NetworkManagerDebian.c
2013           src/backends/NetworkManagerFrugalware.c
2014           src/backends/NetworkManagerGeneric.c
2015           src/backends/NetworkManagerGeneric.h
2016           src/backends/NetworkManagerGentoo.c
2017           src/backends/NetworkManagerMandriva.c
2018           src/backends/NetworkManagerPaldo.c
2019           src/backends/NetworkManagerRedHat.c
2020           src/backends/NetworkManagerSlackware.c
2021           src/backends/NetworkManagerSuSE.c
2022           src/dhcp-manager/nm-dhcp-manager.c
2023           src/nm-device.c
2024           src/nm-ip4-config.c
2025           src/nm-ip4-config.h
2026                 - Remove NIS logic; should be done from dispatcher scripts instead
2027
2028 2008-08-07  Dan Williams  <dcbw@redhat.com>
2029
2030         * src/dhcp-manager/nm-dhcp-manager.c
2031                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2032                         mis-handling of DHCP responses that returned more than one router
2033                         (found by Grant Williamson)
2034
2035 2008-08-07  Dan Williams  <dcbw@redhat.com>
2036
2037         * callouts/nm-dispatcher-action.c
2038                 - (nm_dispatcher_action): grab device path and create the device; pass
2039                         the device's DHCP4 config to script caller
2040                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2041                         scripts
2042
2043         * libnm-glib/nm-dhcp4-config.c
2044           libnm-glib/nm-dhcp4-config.h
2045                 - (nm_dhcp4_config_get_options): expose
2046                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2047
2048 2008-08-07  Dan Williams  <dcbw@redhat.com>
2049
2050         * include/NetworkManager.h
2051                 - Add the DHCP4Config D-Bus interface
2052
2053         * libnm-glib/Makefile.am
2054           libnm-glib/nm-dhcp4-config.c
2055           libnm-glib/nm-dhcp4-config.h
2056                 - Handle DHCP4 config objects exported by NM over D-Bus
2057
2058         * libnm-glib/nm-device.c
2059           libnm-glib/nm-device.h
2060                 - Add a 'dhcp4-config' property
2061
2062         * libnm-glib/libnm-glib-test.c
2063                 - Print out DHCP4 config for devices
2064                 - Fix some crashes when no connections are active
2065
2066         * src/nm-device-interface.c
2067           src/nm-device.c
2068           src/nm-dhcp4-config.c
2069           src/nm-dhcp4-config.h
2070                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2071                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2072                         doesn't let us do when the property type is G_TYPE_OBJECT
2073
2074 2008-08-07  Dan Williams  <dcbw@redhat.com>
2075
2076         * src/NetworkManager.c
2077           src/NetworkManagerSystem.h
2078           src/backends/NetworkManagerArch.c
2079           src/backends/NetworkManagerDebian.c
2080           src/backends/NetworkManagerFrugalware.c
2081           src/backends/NetworkManagerGeneric.c
2082           src/backends/NetworkManagerGeneric.h
2083           src/backends/NetworkManagerGentoo.c
2084           src/backends/NetworkManagerMandriva.c
2085           src/backends/NetworkManagerPaldo.c
2086           src/backends/NetworkManagerRedHat.c
2087           src/backends/NetworkManagerSlackware.c
2088           src/backends/NetworkManagerSuSE.c
2089                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2090
2091 2008-08-06  Dan Williams  <dcbw@redhat.com>
2092
2093         * libnm-glib/nm-ip4-config.c
2094           libnm-glib/nm-ip4-config.h
2095                 - Add 'routes' property
2096
2097         * libnm-util/nm-setting-vpn.c
2098           libnm-util/nm-setting-vpn.h
2099                 - Remove 'routes' property
2100
2101         * libnm-util/nm-setting-ip4-config.c
2102           libnm-util/nm-setting-ip4-config.h
2103                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2104                 - Add 'ignore-auto-routes' property
2105                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2106                         accomodate route metrics
2107                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2108
2109         * libnm-util/nm-utils.c
2110           libnm-util/nm-utils.h
2111                 - Add helpers for marshalling IP4 routes
2112
2113         * src/NetworkManagerUtils.c
2114                 - (nm_utils_merge_ip4_config): handle property renames and new route
2115                         structure
2116
2117         * src/NetworkManagerSystem.c
2118                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2119                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2120
2121         * src/dhcp-manager/nm-dhcp-manager.c
2122                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2123
2124         * system-settings/plugins/ifcfg-fedora/reader.c
2125           system-settings/plugins/ifcfg-fedora/writer.c
2126                 - Handle routes separately from addresses now that routes have a different
2127                         format
2128
2129         * introspection/nm-ip4-config.xml
2130           src/nm-ip4-config.c
2131           src/nm-ip4-config.h
2132                 - Rename internal routing functions
2133                 - 'static-routes' renamed to 'routes'
2134
2135 2008-08-04  Dan Williams  <dcbw@redhat.com>
2136
2137         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2138
2139         * src/NetworkManager.c
2140           src/nm-manager.c
2141           src/nm-manager.h
2142                 - More explicitly make the NMManager a singleton
2143
2144 2008-08-04  Dan Williams  <dcbw@redhat.com>
2145
2146         * libnm-util/nm-connection.c
2147           libnm-util/nm-connection.h
2148                 - (nm_connection_verify): return error on missing 'connection' setting
2149                         (found by Sjoerd Simons)
2150
2151 2008-08-04  Dan Williams  <dcbw@redhat.com>
2152
2153         Handle multiple concurrent PPP connections.
2154
2155         * src/ppp-manager/nm-ppp-manager.c
2156           src/ppp-manager/nm-ppp-manager.h
2157                 - (constructor): only PPP Manager request bus name once; each
2158                         NMPPPManager object gets a unique object path
2159                 - (nm_ppp_manager_class_init, get_property, set_property,
2160                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2161                         at construct time
2162                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2163                         remove timeout until PPP manager gets an IP4 config
2164                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2165                         the plugin can call back to this specific PPP manager instance
2166
2167         * src/nm-device-ethernet.c
2168           src/nm-serial-device.c
2169                 - Pass parent device in nm_ppp_manager_new()
2170
2171         * src/nm-gsm-device.c
2172           src/nm-cdma-device.c
2173                 - (device_state_changed): don't close serial device on NEED_AUTH
2174                         state changed, that's not a failure case like the rest are
2175
2176         * src/ppp-manager/nm-pppd-plugin.c
2177                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2178                         binds one interface to any pppd process, thus the correct index
2179                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2180                         problems; try harder to get a peer address in spite of pppd
2181                 - (plugin_init): use 'ipparam' as the object path back to our specific
2182                         PPP manager instance
2183
2184 2008-08-04  Dan Williams  <dcbw@redhat.com>
2185
2186         * src/ppp-manager/nm-ppp-manager.c
2187                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2188                         since the GSM and CDMA settings now implement need_secrets, we can
2189                         rely on them to do the right thing.  Where secrets are not required,
2190                         just pass empty strings back to the pppd plugin.
2191                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2192                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2193                         on successful IP4 config receipt
2194
2195 2008-08-04  Dan Williams  <dcbw@redhat.com>
2196
2197         * libnm-util/nm-setting-cdma.c
2198           libnm-util/nm-setting-gsm.c
2199                 - (verify): validate username & password if they exist
2200                 - (need_secrets): if username given, require a password too
2201
2202 2008-08-04  Dan Williams  <dcbw@redhat.com>
2203
2204         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2205                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2206                         manpage says about --listen-address without --interface
2207                         (bgo #546033)
2208
2209 2008-08-01  Dan Williams  <dcbw@redhat.com>
2210
2211         * libnm-glib/nm-device.c
2212                 - (proxy_get_string): util function for querying a HAL property
2213                 - (get_ancestor_device): split out from get_product_and_vendor()
2214                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2215                         from PCI devices by querying subsys properties
2216                 - (nm_device_update_description): simplify
2217
2218 2008-08-01  Dan Williams  <dcbw@redhat.com>
2219
2220         * libnm-util/nm-setting-ip4-config.c
2221           libnm-util/nm-setting-ip4-config.h
2222                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2223                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2224                         settings, and they don't necessarily use DHCP.
2225
2226         * src/NetworkManagerPolicy.c
2227           src/nm-device.c
2228           system-settings/plugins/ifcfg-fedora/reader.c
2229           system-settings/plugins/ifcfg-suse/parser.c
2230                 - Fixup for method changes
2231
2232 2008-07-31  Dan Williams  <dcbw@redhat.com>
2233
2234         * src/nm-activation-request.c
2235           src/vpn-manager/nm-vpn-connection.c
2236                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2237                         itself should be attached to the activation request or the VPN
2238                         connection, not the NMConnection object, since the call is not
2239                         expected to live as long as the NMConnection itself
2240
2241 2008-07-31  Dan Williams  <dcbw@redhat.com>
2242
2243         * src/nm-device-wifi.c
2244                 - (real_act_stage2_config): fix issue where association would continue
2245                         even though secrets were needed; 'goto out' was in wrong scope and
2246                         result of handle_auth_or_fail() should have been dumped directly to
2247                         'ret' to ensure that the association was postponed until secrets
2248                         are available
2249
2250 2008-07-31  Dan Williams  <dcbw@redhat.com>
2251
2252         * system-settings/plugins/ifcfg-fedora/plugin.c
2253           system-settings/plugins/ifcfg-fedora/reader.c
2254                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2255                         valid NM connection
2256
2257 2008-07-29  Dan Williams  <dcbw@redhat.com>
2258
2259         * src/nm-gsm-device.c
2260                 - (automatic_registration_response, automatic_registration): recognize
2261                         denied registration and reorder responses
2262
2263 2008-07-29  Dan Williams  <dcbw@redhat.com>
2264
2265         * src/nm-serial-device.c
2266                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2267                         time(2) is used for current time, which returns seconds, we shouldn't
2268                         be multiplying by 1000.
2269
2270 2008-07-28  Dan Williams  <dcbw@redhat.com>
2271
2272         Patch from Fabrice Bellet <fabrice@bellet.info>
2273
2274         * src/NetworkManagerSystem.c
2275                 - (route_in_same_subnet): mask addresses and compare them so that the
2276                         function actually does what it says it's going to do (rh #456685)
2277
2278 2008-07-27  Dan Williams  <dcbw@redhat.com>
2279
2280         * libnm-util/nm-setting-ip6-config.c
2281                 - (set_property): add missing break that caused routes to be overwritten
2282                         with addresses
2283
2284         * libnm-util/nm-setting-ip6-config.c
2285                 - (verify): validate routes and return GError everywhere on invalid setting
2286                 - (finalize): don't leak routes
2287                 - (set_property): add missing break that caused routes to be overwritten
2288                         with addresses
2289
2290 2008-07-27  Dan Williams  <dcbw@redhat.com>
2291
2292         * libnm-util/*
2293                 - Relicense to LGPLv2+
2294
2295 2008-07-27  Dan Williams  <dcbw@redhat.com>
2296
2297         * system-settings/plugins/ifcfg-fedora/reader.c
2298                 - (make_ip4_setting): fix parsing automatic configs
2299
2300 2008-07-27  Dan Williams  <dcbw@redhat.com>
2301
2302         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2303           src/nm-device.c
2304           src/ppp-manager/nm-ppp-manager.c
2305                 - Ensure child process gets reaped.  The child watch function may be
2306                         removed from the mainloop before the child gets killed, so we have
2307                         to make sure the child is reaped when it's told to die intentionally
2308
2309 2008-07-27  Dan Williams  <dcbw@redhat.com>
2310
2311         Patch from Roy Marples <roy@marples.name>
2312
2313         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2314                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2315
2316 2008-07-27  Dan Williams  <dcbw@redhat.com>
2317
2318         * src/nm-gsm-device.c
2319                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2320                         Huawei devices turn echo back on after CPIN (rh #456770)
2321
2322 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2323
2324         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2325         format argument to g_set_error() call.
2326
2327         * src/backends/interface_parser.[ch]: Remove.
2328
2329         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2330
2331 2008-07-21  Dan Williams  <dcbw@redhat.com>
2332
2333         * src/ppp-manager/nm-ppp-manager.c
2334                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2335                         to prevent pppd from picking up some random local address from an
2336                         interface that doesn't have anything to do with the one we're
2337                         interested in (rh #455348)
2338
2339 2008-07-17  Dan Williams  <dcbw@redhat.com>
2340
2341         * libnm-util/nm-utils.c
2342                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2343                         by locale
2344                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2345                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2346
2347 2008-07-17  Dan Williams  <dcbw@redhat.com>
2348
2349         * introspection/Makefile.am
2350           introspection/nm-device.xml
2351           introspection/nm-dhcp4-config.xml
2352                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2353                         itself
2354         * src/nm-device-interface.c
2355           src/nm-device-interface.h
2356                 - Add the DHCP4Config property
2357
2358         * src/nm-device.c
2359                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2360                         D-Bus clients when it changes
2361
2362         * src/nm-dhcp4-config.c
2363           src/nm-dhcp4-config.h
2364                 - Simple object to store DHCP4 options, export them over D-Bus, and
2365                         notify when they change
2366
2367         * src/dhcp-manager/nm-dhcp-manager.c
2368           src/dhcp-manager/nm-dhcp-manager.h
2369                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2370                         filter server-returned DHCP options into an NMDHCP4Config object
2371
2372 2008-07-16  Dan Williams  <dcbw@redhat.com>
2373
2374         * introspection/nm-device.xml
2375                 - Add device state reasons
2376
2377 2008-07-16  Dan Williams  <dcbw@redhat.com>
2378
2379         Patch from Roy Marples <roy@marples.name>
2380
2381         * configure.in
2382                 - Add --with-dhcp-client option
2383
2384         * src/dhcp-manager/Makefile.am
2385                 - pass DHCP_CLIENT_PATH on compile line
2386
2387         * src/dhcp-manager/nm-dhcp-manager.c
2388           src/dhcp-manager/nm-dhcp-manager.h
2389                 - Genericize for both dhcpcd and dhclient
2390
2391         * src/dhcp-manager/nm-dhcp-dhclient.c
2392                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2393
2394         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2395                 - Implement support for dhcpcd too
2396
2397 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2398
2399         * system-settings/src/nm-system-config-interface.c 
2400         (nm_system_config_interface_supports_add): Implement.
2401         (nm_system_config_interface_add_connection): Return a boolean to notify
2402         of errors.
2403
2404         * system-settings/src/nm-polkit-helpers.c: 
2405         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2406         a separate file.
2407
2408         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2409         Return an error when none of the plugins support add or if addition
2410         failed for some reason.
2411
2412         * system-settings/src/nm-system-config-error.h: 
2413         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2414         here from nm-polkit-helpers.[ch].
2415
2416         * system-settings/src/Makefile.am: Build new files.
2417
2418         * system-settings/plugins/keyfile/reader.c 
2419         (read_array_of_array_of_uint): Make it more general so that it would
2420         work for routes as well.
2421
2422         * system-settings/plugins/keyfile/writer.c
2423         (write_array_of_array_of_uint): Ditto.
2424         Fix the netmask/prefix writing.
2425
2426         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2427         boolean to notify errors.
2428
2429         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2430         Return more specific error.
2431         (delete): Ditto.
2432
2433 2008-07-11  Dan Williams  <dcbw@redhat.com>
2434
2435         Modify the NMDevice::state-changed signal to include the previous state
2436         and reason. Enables the applet to provide more information why device
2437         activation failed.
2438
2439 2008-07-09  Dan Williams  <dcbw@redhat.com>
2440
2441         * callouts/Makefile.am
2442           callouts/nm-avahi-autoipd-action.c
2443           callouts/nm-avahi-autoipd.conf
2444                 - avahi-autoipd callout to send options back to NM
2445
2446         * src/autoip.c
2447           src/autoip.h
2448                 - remove
2449
2450         * src/nm-device.c
2451           src/nm-device-private.h
2452           src/nm-manager.c
2453                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2454                         old custom stuff
2455
2456 2008-07-07  Dan Williams  <dcbw@redhat.com>
2457
2458         * system-settings/plugins/ifcfg-fedora/reader.c
2459                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2460                         handle PREFIX too; clean up
2461
2462 2008-07-07  Dan Williams  <dcbw@redhat.com>
2463
2464         Convert to using IPv4 prefixes instead of netmasks.
2465
2466 2008-07-03  Dan Williams  <dcbw@redhat.com>
2467
2468         * libnm-util/nm-setting-ip4-config.c
2469           libnm-util/nm-setting-ip4-config.h
2470                 - Add properties for DHCP Client Identifier and DHCP Hostname
2471
2472         * src/dhcp-manager/nm-dhcp-manager.c
2473           src/dhcp-manager/nm-dhcp-manager.h
2474                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2475                         setting as an argument to pass on to the dhclient config file
2476                         creation function
2477                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2478                         DHCP is torn down
2479                 - (dhclient_run): punt config file handling to create_dhclient_config()
2480                 - (create_dhclient_config): create an interface-specific dhclient
2481                         config file since there may need to be interface-specific options
2482                         passed to dhclient
2483                 - (merge_dhclient_config): merge normal distro dhclient config file and
2484                         add options from the connection
2485                 - (nm_dhcp_device_new): generate the interface specific dhclient
2486                         config file path once
2487                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2488                         dhclient config file path
2489
2490         * src/nm-device.c
2491                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2492                         DHCP manager when starting DHCP
2493
2494 2008-07-02  Dan Williams  <dcbw@redhat.com>
2495
2496         * libnm-util/nm-setting-8021x.c
2497                 - (verify): allow forcing the PEAP label to 0
2498
2499 2008-07-02  Dan Williams  <dcbw@redhat.com>
2500
2501         * introspection/nm-active-connection.xml
2502           introspection/nm-vpn-connection.xml
2503           libnm-glib/nm-active-connection.c
2504           src/nm-activation-request.c
2505           src/nm-active-connection.h
2506           src/vpn-manager/nm-vpn-connection.c
2507                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2508                         and libnm-glib API since sharing didn't get implemented that way
2509
2510 2008-07-02  Dan Williams  <dcbw@redhat.com>
2511
2512         * src/nm-device-wifi.c
2513                 - (can_scan): don't scan when a shared connection is activated since
2514                         that makes drivers mad (causing disconnects); also NM doesn't need
2515                         to hedge against disconnects by keeping up-to-date network topology
2516                         because the connection originates from the local machine, and thus
2517                         there should be no disconnects
2518
2519 2008-07-01  Dan Williams  <dcbw@redhat.com>
2520
2521         Fix mobile broadband username/password issues.  NM was never requesting
2522         mobile broadband secrets, nor was it passing back the username and password
2523         if it had them.
2524
2525         * marshallers/nm-marshal.list
2526                 - Add some new types for activation request objects
2527
2528         * src/nm-activation-request.c
2529           src/nm-activation-request.h
2530                 - (get_secrets_cb): pass the caller type in the signal
2531                 - (nm_act_request_request_connection_secrets): take a caller type, so
2532                         that GetSecrets() reply handlers know who asked for the secrets in
2533                         the first place; use secret hints too so the settings service can
2534                         figure out exactly what NM wants (ie, PIN or the PPP password)
2535
2536         * src/ppp-manager/nm-ppp-manager.c
2537           src/ppp-manager/nm-ppp-manager.h
2538                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2539                         detect needed secrets when the secret could be blank, like GSM/CDMA
2540                         passwords.  So always ask for secrets, and send a hint as to what
2541                         secret we really want.
2542                 - (nm_ppp_manager_update_secrets): make function more generic by making
2543                         the device specific class figure out the username and password, and
2544                         accept an error argument to return back over D-Bus
2545
2546         * src/nm-device-wifi.c
2547                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2548                         nm_act_request_request_connection_secrets()
2549                 - (real_connection_secrets_updated): update for 'caller' changes
2550
2551         * src/nm-device.c
2552           src/nm-device.h
2553                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2554                         for 'caller' changes
2555
2556         * src/nm-device-ethernet.c
2557                 - (real_connection_secrets_updated): update for 'caller' changes and
2558                         move logic for getting PPPoE username and password here before
2559                         calling nm_ppp_manager_update_secrets()
2560                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2561                         nm_act_request_request_connection_secrets()
2562
2563         * src/nm-cdma-device.c
2564                 - (real_connection_secrets_updated): pass username and password back
2565                         to the PPP manager when required
2566
2567         * src/nm-gsm-device.c
2568                 - (enter_pin): send the required secret name to the settings service
2569                 - (real_connection_secrets_updated): pass username and password back
2570                         to the PPP manager when required
2571
2572 2008-06-30  Dan Williams  <dcbw@redhat.com>
2573
2574         * src/nm-device-wifi.c
2575                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2576
2577 2008-06-30  Dan Williams  <dcbw@redhat.com>
2578
2579         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2580         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2581         priv->supplicant.iface.  When either condition is false, the device should
2582         transition back to UNAVAILABLE because it cannot be used.
2583
2584         * src/nm-device-wifi.c
2585                 - (constructor): cleanup; connect to supplicant manager here since the
2586                         supplicant manager is always around
2587                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2588                         ensure the supplicant manager is in the IDLE state
2589                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2590                         cancel any pending scans too
2591                 - (real_bring_up): don't set up the supplicnat interface here, because
2592                         we need the supplicant interface at times when the device may not
2593                         be "up"
2594                 - (real_take_down): just remove the periodic source
2595                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2596                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2597                         do anything if there's no supplicant interface
2598                 - (cleanup_association_attempt): cleanup
2599                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2600                         the interface enters the READY state; transition to UNAVAILABLE
2601                         state when the interface goes down because the device can't be used
2602                         without a supplicant interface
2603                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2604                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2605                         acquire the supplicant interface and transition to DISCONNECTED
2606                         if the radio isn't killed
2607                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2608                 - (state_changed_cb): release any existing supplicant interface; if the
2609                         radio is enabled then try to acquire a new supplicant interface;
2610                         if the radio is enabled and a supplicant interface has been acquired,
2611                         we can transition to DISCONNECTED
2612                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2613                         don't enable the radio, because HAL probably lied to us about the
2614                         killswitch being off.  If bringing the hardware up worked, then
2615                         try to grab a supplicant interface, and if that was successful,
2616                         transition to DISCONNECTED
2617
2618 2008-06-30  Dan Williams  <dcbw@redhat.com>
2619
2620         * src/supplicant-manager/nm-supplicant-interface.c
2621                 - (request_scan_results, nm_supplicant_interface_dispose,
2622                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2623                         the id of the timeout, not a GSource
2624
2625 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2626
2627         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2628         bunch of typoes introduced by "Patch from David Cantrell 
2629         <dcantrell@redhat.com> and me".
2630
2631 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2632
2633         * src/nm-serial-device.c: 
2634         * src/nm-gsm-device.c: 
2635         * src/nm-cdma-device.c: Move the pending call handling to a common location
2636         in serial device. Handle setting device state to failed in one place as well.
2637
2638 2008-06-29  Dan Williams <dcbw@redhat.com>
2639
2640         * src/nm-hal-manager.c
2641                 - Rework killswitch handling to query killswitch status immediately
2642                         when the first killswitch is added, so that rfkill state is
2643                         known as early as possible
2644                 - Also treat failure of GetPower() as rfkill when the dbus method
2645                         call times out (but not when the HAL callout returns an error)
2646
2647 2008-06-26  Dan Williams <dcbw@redhat.com>
2648
2649         Patch from David Cantrell <dcantrell@redhat.com> and me
2650
2651         * include/nm-dbus-glib-types.h
2652                 - Add IP6 address types
2653
2654         * libnm-util/Makefile.am
2655           libnm-util/nm-setting-ip6-config.c
2656           libnm-util/nm-setting-ip6-config.h
2657                 - Add IP6 settings object
2658
2659         * libnm-util/nm-connection.c
2660                 - (register_default_settings): register ip6 settings object
2661
2662         * libnm-util/nm-utils.c
2663           libnm-util/nm-utils.h
2664                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2665                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2666                         ip6 address conversion functions
2667         
2668 2008-06-26  Dan Williams <dcbw@redhat.com>
2669
2670         Patch from David Cantrell <dcantrell@redhat.com>
2671         
2672         * Use inet_ntop() and inet_pton() everwhere and check for errors
2673
2674 2008-06-26  Dan Williams <dcbw@redhat.com>
2675
2676         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2677
2678 2008-06-26  Dan Williams <dcbw@redhat.com>
2679
2680         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2681
2682         * src/nm-device-wifi.c
2683                 - (link_timeout_cb): don't ignore disconnects due to scanning
2684                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2685                         a longer timeout when scanning; avoids case where supplicant can't
2686                         find the AP and just keeps scanning forever but isn't connected
2687
2688 2008-06-26  Dan Williams <dcbw@redhat.com>
2689
2690         Patch from Michael Biebl <biebl@debian.org>
2691
2692         * Clean up build system stuff
2693
2694 2008-06-23  Christian Persch  <chpe@gnome.org>
2695
2696         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2697         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2698         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2699         (impl_get_object):
2700         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2701         (impl_get_object):
2702         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2703         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2704         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2705         (impl_get_object):
2706         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2707         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2708         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2709         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2710         * vpn-daemons/pptp/properties/vpnui_opt.c:
2711         (vpnui_opt_connect_signals):
2712         * vpn-daemons/pptp/properties/vpnui_opt.h:
2713         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2714         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2715         deprecated gtk type macros. Bug #539325.
2716
2717 2008-06-20  Dan Williams  <dcbw@redhat.com>
2718
2719         * libnm-glib/nm-vpn-plugin-ui-interface.c
2720           libnm-glib/nm-vpn-plugin-ui-interface.h
2721                 - 'validity-changed' -> 'changed' to work better with the connection
2722                         editor.  Plugin UI widgets should emit 'changed' whenever their
2723                         UI values change in a meaningful way.
2724                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2725                         update_connection member now returns validity of the UI widget
2726
2727 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2728
2729         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2730
2731 2008-06-17  Dan Williams  <dcbw@redhat.com>
2732
2733         * libnm-glib/nm-vpn-plugin-ui-interface.c
2734           libnm-glib/nm-vpn-plugin-ui-interface.h
2735                 - Add "desc" property for longer descriptions of the VPN plugin
2736
2737 2008-06-16  Dan Williams  <dcbw@redhat.com>
2738
2739         * configure.in
2740           libnm-glib/libnm_glib_vpn.pc.in
2741                 - add a .pc file for libnm_glib_vpn
2742
2743         * libnm-glib/nm-vpn-plugin-ui-interface.c
2744           libnm-glib/nm-vpn-plugin-ui-interface.h
2745                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2746                         rework it substantially
2747
2748 2008-06-12  Dan Williams  <dcbw@redhat.com>
2749
2750         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2751         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2752         returns a descriptive GError when verification fails.
2753
2754 2008-06-11  Dan Williams  <dcbw@redhat.com>
2755
2756         Patch from Tambet Ingo <tambet@gmail.com>
2757
2758         * libnm-util/nm-setting-gsm.c
2759                 - (verify): validate APN
2760
2761         * src/nm-gsm-device.c
2762                 - (manual_registration_done): start setting APN if needed
2763                 - (set_apn, set_apn_done): set the APN
2764                 - (do_dial): use the APN when dialing
2765
2766 2008-06-11  Dan Williams  <dcbw@redhat.com>
2767
2768         * src/NetworkManagerSystem.c
2769                 - (nm_system_device_set_ip4_route,
2770                    nm_system_device_replace_default_ip4_route): check for the right
2771                         return value from rtnl_route_add() to know when to add a gateway
2772                         route (from Tambet)
2773
2774 2008-06-11  Dan Williams  <dcbw@redhat.com>
2775
2776         * src/NetworkManagerPolicy.c
2777                 - do_ipt_cmd -> do_cmd
2778                 - (sharing_init): use do_cmd() instead of system()
2779
2780 2008-06-10  Dan Williams  <dcbw@redhat.com>
2781
2782         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2783         and use "wifi" everwhere instead.
2784
2785 2008-06-10  Dan Williams  <dcbw@redhat.com>
2786
2787         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2788
2789 2008-06-10  Dan Williams  <dcbw@redhat.com>
2790
2791         Patch from Tambet Ingo <tambet@gmail.com>
2792
2793         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2794                 changes.
2795
2796         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2797                 a signal to emit these changes over dbus.
2798
2799         * src/Makefile.am: Genereate nm-serial-device-glue.
2800
2801         * libnm-glib/nm-serial-device.[ch]: Implement.
2802
2803         * libnm-glib/nm-cdma-device.[ch]
2804           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2805
2806         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2807
2808         * introspection/nm-device-serial.xml: Implement.
2809
2810         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2811
2812         * introspection/Makefile.am: Add nm-device-serial.xml.
2813
2814         * include/NetworkManager.h: Add a DBus interface for serial device.
2815
2816 2008-06-10  Dan Williams  <dcbw@redhat.com>
2817
2818         * configure.in
2819                 - Add TARGET_* define to config.h to distinguish distros
2820
2821         * src/dhcp-manager/nm-dhcp-manager.c
2822                 - (dhclient_run): use distro-specific path for dhclient config file
2823
2824 2008-06-09  Dan Williams  <dcbw@redhat.com>
2825
2826         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2827           src/dnsmasq-manager/nm-dnsmasq-manager.h
2828                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2829                         calculate the addresses passed to dnsmasq instead of hard-coding
2830                         them
2831
2832         * src/nm-device.c
2833                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2834                         IP addresses for shared connections to guard against shared
2835                         connection address collisions
2836                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2837                         error conditions
2838                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2839                         the dnsmasq manager
2840
2841 2008-06-09  Dan Williams  <dcbw@redhat.com>
2842
2843         * src/NetworkManagerPolicy.c
2844                 - (update_routing_and_dns): set the default connection _after_ unsetting
2845                         default on all non-default connections so that two connections can
2846                         never be default at the same time
2847                 - (device_state_changed): start and stop connection sharing when
2848                         needed
2849                 - (active_connection_default_changed): restart or stop sharing when
2850                         the default connection changes to keep shared connections always
2851                         NAT-ed through the default connection
2852                 - (check_sharing): handle activation/deactivation of shared connections
2853                 - (sharing_restart): atom-bomb approach to connection sharing until we
2854                         can use libnl; reinit all sharing when the default connection or
2855                         shared connections change
2856                 - (sharing_init, sharing_stop): evil functions that init and deinit
2857                         iptables
2858
2859 2008-06-09  Dan Williams  <dcbw@redhat.com>
2860
2861         * src/nm-activation-request.c
2862           src/nm-activation-request.h
2863                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2864                    nm_act_request_get_device): new functions to facilitate connection
2865                         sharing
2866
2867 2008-06-09  Dan Williams  <dcbw@redhat.com>
2868
2869         * src/nm-device.c
2870                 - (clear_act_request): unset the 'default' property of the activation
2871                         request when clearing it to ensure the property changed signal gets
2872                         delivered and handled
2873
2874 2008-06-09  Dan Williams  <dcbw@redhat.com>
2875
2876         * libnm-glib/nm-device-802-11-wireless.c
2877                 - (access_point_removed_proxy): actually unref the AP after removing
2878                         it from the device's AP list.  Fixes refcounting bug for APs that
2879                         caused them to get mixed up in the applet's menu.
2880
2881 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2882
2883         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2884         (nm_dhcp_device_destroy): Destroy the device options hash table.
2885
2886 2008-06-06  Dan Williams <dcbw@redhat.com>
2887
2888         * system-settings/src/nm-polkit-helpers.c
2889                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2890                         unref the context if the initialization fails; also avoid spew when
2891                         the error isn't set
2892
2893 2008-06-06  Dan Williams <dcbw@redhat.com>
2894
2895         Patch from Tambet Ingo  <tambet@gmail.com>
2896
2897         * src/NetworkManagerSystem.c
2898           src/NetworkManagerSystem.h
2899                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2900                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2901                 - (nm_system_device_set_ip4_route): clean up
2902                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2903
2904         * src/nm-device.c
2905                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2906
2907         * src/vpn-manager/nm-vpn-connection.c
2908                 - (ip_address_to_string): new function
2909                 - (print_vpn_config): use ip_address_to_string
2910                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2911                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2912
2913         * include/NetworkManagerVPN.h
2914                 - Add 'routes' key
2915
2916 2008-06-05  Dan Williams <dcbw@redhat.com>
2917
2918         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2919
2920         * test/nm-tool.c
2921                 - Show which device is the default device
2922
2923 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2924
2925         Fix memory leaks.
2926
2927         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2928         Free data returned from dbus method call.
2929
2930         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2931         dbus_g_method_get_sender() returns a duplicated string, free it 
2932         when done.
2933         (check_polkit_privileges): Looks like policykit sometimes returns
2934         error and non-null return value, don't leak errors in that case.
2935
2936         * system-settings/src/main.c (find_plugin): Don't leak existing 
2937         plugin names.
2938         (load_stuff): Don't leak device list and list items.
2939         (have_connection_for_device): Don't leak connection list.
2940
2941         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2942         Free the data received from g_keyfile_get_*.
2943
2944         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2945         the key when the security object is updated.
2946
2947         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2948         Free data returned from dbus method call.
2949         (iface_state_cb): Ditto.
2950         (add_network_cb): Ditto.
2951         (nm_supplicant_interface_add_cb): Don't make another copy of already
2952         duplicated object path.
2953         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2954         when done.
2955
2956         * src/supplicant-manager/nm-supplicant-config.c 
2957         (ADD_STRING_LIST_VAL): Fix a memory leak.
2958
2959         * src/nm-manager.c (free_get_settings_info): Free the allocated
2960         memory slice.
2961         (list_connections_cb): Free data returned from dbus method call.
2962         (system_settings_get_unmanaged_devices_cb): Ditto.
2963
2964         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2965
2966         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2967         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2968         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2969         of the GList.
2970
2971         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2972         arguments after the object is created.
2973
2974 2008-06-04  Dan Williams <dcbw@redhat.com>
2975
2976         * libnm-util/Makefile.am
2977                 - Don't distribute nm-param-spec-specialized.h
2978
2979 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2980
2981         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2982
2983         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2984         NMIP4Address, update the getters and setters.
2985
2986         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2987         Use the updated NMIP4Config routes api.
2988
2989         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2990         static routes as well.
2991
2992         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2993         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2994         routes api.
2995
2996 2008-05-30  Dan Williams <dcbw@redhat.com>
2997
2998         * src/named-manager/nm-named-manager.c
2999           src/named-manager/nm-named-manager.h
3000                 - Remove stale/obsolete bits for controlling bind over DBus
3001
3002 2008-05-29  Dan Williams <dcbw@redhat.com>
3003
3004         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3005           src/dnsmasq-manager/nm-dnsmasq-manager.h
3006                 - (nm_dnsmasq_manager_new): move iface argument here
3007                 - (constructor): remove, not needed
3008                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3009                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3010
3011         * src/nm-device.c
3012                 - (real_act_stage4_get_ip4_config,
3013                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3014                         changes
3015
3016 2008-05-29  Dan Williams <dcbw@redhat.com>
3017
3018         * src/nm-device.c
3019                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3020                         something happens to dnsmasq
3021                 - (nm_device_new_ip4_shared_config): new function; create a new
3022                         ip4-config for shared connections.  Shared connections always use a
3023                         fixed static IP address.
3024                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3025                         autoip connections by actually using the returned ip4-config and
3026                         not leaking it
3027                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3028                         connections
3029                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3030                         if its active
3031
3032 2008-05-29  Dan Williams <dcbw@redhat.com>
3033
3034         * src/nm-device-802-11-wireless.c
3035                 - (real_get_best_auto_connection): auto-activate 'shared' method
3036                         connections too
3037
3038 2008-05-29  Dan Williams <dcbw@redhat.com>
3039
3040         * libnm-util/nm-setting-ip4-config.c
3041           libnm-util/nm-setting-ip4-config.h
3042                 - Add a 'shared' method to indicate that this connection should be
3043                         brought up with a DHCP and proxy DNS server to facilitate
3044                         connection sharing.
3045                 - (verify): 'shared' method doesn't allow DNS or searches either
3046
3047 2008-05-29  Dan Williams <dcbw@redhat.com>
3048
3049         * configure.in
3050           src/Makefile.am
3051           src/dnsmasq-manager/Makefile.am
3052           src/dnsmasq-manager/nm-dnsmasq-manager.c
3053           src/dnsmasq-manager/nm-dnsmasq-manager.h
3054                 - Add a dnsmasq daemon manager to facilitate connection sharing
3055
3056 2008-05-29  Dan Williams <dcbw@redhat.com>
3057
3058         * src/nm-device-private.h
3059                 - Remove unused prototypes and clean up
3060
3061         * src/nm-device.c
3062                 - Remove anything related to system_config_data, which is no longer used
3063                 - (nm_device_new_ip4_autoip_config): make static
3064
3065 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3066
3067         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3068         (file_changed): Fix a bug where suse system settings plugin didn't
3069         update the connections automatically when the files changed.
3070
3071 2008-05-28  Dan Williams  <dcbw@redhat.com>
3072
3073         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3074
3075 2008-05-28  Dan Williams  <dcbw@redhat.com>
3076
3077         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3078
3079         * src/NetworkManagerSystem.c
3080                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3081                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3082                         was causing -EINVAL errors since the libnl code actually does flush
3083                         the routes on VPN interfaces now
3084
3085         * src/backends/NetworkManagerArch.c
3086           src/backends/NetworkManagerDebian.c
3087           src/backends/NetworkManagerFrugalware.c
3088           src/backends/NetworkManagerGeneric.c
3089           src/backends/NetworkManagerGentoo.c
3090           src/backends/NetworkManagerMandriva.c
3091           src/backends/NetworkManagerPaldo.c
3092           src/backends/NetworkManagerRedHat.c
3093           src/backends/NetworkManagerSlackware.c
3094           src/backends/NetworkManagerSuSE.c
3095                 - (nm_system_device_flush_ip4_routes,
3096                    nm_system_device_flush_ip4_routes_with_iface): remove
3097
3098 2008-05-28  Dan Williams  <dcbw@redhat.com>
3099
3100         * libnm-util/nm-setting-wireless.c
3101           libnm-util/nm-setting-wireless.h
3102                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3103                         'adhoc-create' property, which when TRUE indicates that NM should
3104                         create this connection as an adhoc wifi network if it's not found
3105                         as an adhoc network during scanning.  Can be used to auto-create
3106                         adhoc networks when used in combination with autoconnect.
3107
3108 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3109
3110         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3111
3112         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3113         checked, it doesn't work on some devices.
3114
3115 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3116
3117         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3118         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3119
3120         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3121         Use inet_aton() everywhere to improve error detection.
3122         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3123         provided.
3124
3125 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3126
3127         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3128         Fix a typo.
3129
3130 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3131
3132         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3133         reference counting issue.
3134
3135 2008-05-23  Dan Williams  <dcbw@redhat.com>
3136
3137         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3138
3139         * src/backends/NetworkManagerGeneric.c
3140                 - (nm_generic_enable_loopback): use libnl
3141
3142 2008-05-23  Dan Williams  <dcbw@redhat.com>
3143
3144         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3145
3146         * src/NetworkManagerSystem.h
3147           src/backends/NetworkManagerArch.c
3148           src/backends/NetworkManagerDebian.c
3149           src/backends/NetworkManagerFrugalware.c
3150           src/backends/NetworkManagerGentoo.c
3151           src/backends/NetworkManagerMandriva.c
3152           src/backends/NetworkManagerPaldo.c
3153           src/backends/NetworkManagerRedHat.c
3154           src/backends/NetworkManagerSlackware.c
3155           src/backends/NetworkManagerSuSE.c
3156                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3157                    nm_system_flush_arp_cache): remove, unused
3158
3159         * src/backends/NetworkManagerGeneric.c
3160           src/backends/NetworkManagerGeneric.h
3161                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3162                    nm_generic_flush_arp_cache): remove, unused
3163
3164 2008-05-23  Dan Williams  <dcbw@redhat.com>
3165
3166         * system-settings/plugins/ifcfg-fedora/reader.c
3167                 - (make_ip4_setting): honor PEERDNS setting
3168
3169 2008-05-23  Dan Williams  <dcbw@redhat.com>
3170
3171         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3172
3173         * src/NetworkManagerSystem.c
3174                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3175                         libnl
3176
3177         * src/backends/NetworkManagerArch.c
3178           src/backends/NetworkManagerDebian.c
3179           src/backends/NetworkManagerFrugalware.c
3180           src/backends/NetworkManagerGentoo.c
3181           src/backends/NetworkManagerMandriva.c
3182           src/backends/NetworkManagerPaldo.c
3183           src/backends/NetworkManagerRedHat.c
3184           src/backends/NetworkManagerSlackware.c
3185           src/backends/NetworkManagerSuSE.c
3186                 - (nm_system_device_flush_ip4_addresses,
3187                    nm_system_device_flush_ip4_addresses_with_iface): remove
3188
3189         * src/backends/NetworkManagerGeneric.c
3190                 - (nm_generic_device_flush_ip4_addresses,
3191                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3192
3193 2008-05-23  Dan Williams  <dcbw@redhat.com>
3194
3195         * src/supplicant-manager/nm-supplicant-settings-verify.c
3196                 - Switch 'bssid' from bytes to keyword type
3197                 - (validate_type_keyword): allow NULL keyword lists
3198
3199         * src/supplicant-manager/nm-supplicant-config.c
3200                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3201                         a byte array to string form, which is what the supplicant expects
3202
3203 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3204
3205         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3206         information received from DHCP.
3207
3208         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3209         to make it possible to ignore the DNS information (both servers and 
3210         searches) returned by DHCP server.
3211
3212         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3213         name servers and searches if "ignore_dhcp_dns" is set.
3214
3215         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3216         (nm_ip4_config_reset_searches): Implement.
3217
3218 2008-05-22  Dan Williams  <dcbw@redhat.com>
3219
3220         Remove anything mDNS related.  This is better done from a distro-specific
3221         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3222         avahi, since avahi can handle interface changes just fine using netlink.
3223
3224         * configure.in
3225                 - Remove --with-mdns-provider
3226
3227         * src/NetworkManagerPolicy.c
3228                 - (global_state_changed): don't restart the mdns provider
3229
3230         * src/NetworkManagerSystem.h
3231           src/backends/NetworkManagerArch.c
3232           src/backends/NetworkManagerDebian.c
3233           src/backends/NetworkManagerFrugalware.c
3234           src/backends/NetworkManagerGentoo.c
3235           src/backends/NetworkManagerMandriva.c
3236           src/backends/NetworkManagerPaldo.c
3237           src/backends/NetworkManagerRedHat.c
3238           src/backends/NetworkManagerSlackware.c
3239           src/backends/NetworkManagerSuSE.c
3240                 - (nm_system_restart_mdns_responder): remove
3241
3242         * src/backends/NetworkManagerGeneric.c
3243           src/backends/NetworkManagerGeneric.h
3244                 - (nm_generic_restart_mdns_responder): remove
3245
3246 2008-05-22  Dan Williams  <dcbw@redhat.com>
3247
3248         * configure.in
3249                 - clean up crypto options; just use --with-crypto=nss or
3250                         --with-crypto=gnutls
3251
3252 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3253
3254         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3255         anymore, do it right away.
3256
3257 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3258
3259         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3260         serial device open when we're not connecting or connected.
3261
3262         * src/nm-cdma-device.c (device_state_changed): Ditto.
3263
3264 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3265
3266         Don't remove all devices on waking up, sync with HAL.
3267
3268         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3269         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3270         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3271
3272 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3273
3274         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3275         If the default gateway is unreachable, add a route to gateway and try
3276         again.
3277
3278 2008-05-20  Dan Williams  <dcbw@redhat.com>
3279
3280         * system-settings/plugins/ifcfg-fedora/reader.c
3281                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3282
3283 2008-05-19  Dan Williams  <dcbw@redhat.com>
3284
3285         * system-settings/plugins/ifcfg-fedora/reader.c
3286                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3287                         if the ifcfg doesn't specify one (rh #446527)
3288
3289 2008-05-19  Dan Williams  <dcbw@redhat.com>
3290
3291         Make the system settings service exit when the bus goes away.  Since it's
3292         a bus-activated service, it's lifetime is limited to the bus that activated
3293         it (rh #444976).
3294
3295         * system-settings/src/Makefile.am
3296           system-settings/src/nm-system-config-hal-manager-private.h
3297                 - Remove nm-system-config-hal-manager-private.h
3298
3299         * system-settings/src/nm-system-config-hal-manager.c
3300                 - (nm_system_config_hal_manager_reinit_dbus,
3301                    nm_system_config_hal_manager_deinit_dbus): remove
3302
3303         * system-settings/src/main.c
3304                 - (dbus_reconnect): remove
3305                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3306                 - (destroy_cb): just quit when the bus goes away
3307                 - (start_dbus_service, dbus_init): simplify
3308                 - (main): destroy the wired devices hash table after destroying
3309                         the HAL manager so we don't have to disconnect signals from the
3310                         HAL manager
3311
3312 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3313
3314         Move crypto functions from nm-applet to libnm-util.
3315
3316         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3317         (nm_setting_802_1x_set_client_cert)
3318         (nm_setting_802_1x_set_phase2_ca_cert)
3319         (nm_setting_802_1x_set_phase2_client_cert)
3320         (nm_setting_802_1x_set_private_key)
3321         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3322         file (or private key and it's password), read the certificate data.
3323
3324         * libnm-util/crypto_nss.c: 
3325         * libnm-util/crypto_gnutls.c: 
3326         * libnm-util/crypto.[ch]: Move here from nm-applet.
3327
3328         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3329
3330         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3331         Imlement WPA-EAP configuration reading from sysconfig.
3332
3333 2008-05-16  Dan Williams  <dcbw@redhat.com>
3334
3335         * src/nm-device-802-11-wireless.c
3336                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3337                         wireless
3338
3339 2008-05-14  Dan Williams  <dcbw@redhat.com>
3340
3341         Fix Linus' bug in rh #134886
3342
3343         * src/nm-device-802-3-ethernet.c
3344                 - (constructor): request initial carrier state
3345
3346         * src/nm-netlink-monitor.c
3347                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3348                         signals after refilling the link cache.  Because the refill is a 
3349                         synchronous operation, the normal message hander won't get called
3350                         since libnl has already consumed the messages.
3351                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3352
3353 2008-05-14  Dan Williams  <dcbw@redhat.com>
3354
3355         * src/NetworkManagerSystem.c
3356                 - (nm_system_device_is_up_with_iface): clean up
3357
3358 2008-05-13  Dan Williams  <dcbw@redhat.com>
3359
3360         Fix refcounting issues over sleep/wake when a VPN connection was active that
3361         caused NM to try registering an object path for a device upon wake that was
3362         the same as an already registered object path.
3363
3364         * src/nm-device.c
3365                 - (nm_device_take_down): properly handle cases where the device is
3366                         no longer active but was just active, and therefore must be
3367                         deactivated.  When a device moves to unmanaged mode, this function
3368                         previously would not deactivate the device, because the state was
3369                         already unmanaged by the time this function was called.
3370
3371         * src/vpn-manager/nm-vpn-connection.c
3372                 - (device_state_changed): properly handle multiple devices states in
3373                         which the device is now deactivated.  Code previously didn't handle
3374                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3375                         UNMANAGED states.
3376
3377 2008-05-13  Dan Williams  <dcbw@redhat.com>
3378
3379         * src/nm-device-private.h
3380           src/nm-device.c
3381                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3382
3383         * src/nm-device-802-11-wireless.c
3384                 - (nm_device_802_11_wireless_set_enabled): take devices up
3385                         and down as appropriate for the rfkill state
3386
3387 2008-05-13  Dan Williams  <dcbw@redhat.com>
3388
3389         * marshallers/nm-marshal.list
3390                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3391
3392         * system-settings/plugins/ifcfg-fedora/Makefile.am
3393           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3394           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3395                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3396                         events.  Solely for use watching ifcfg files to pick up changes
3397                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3398
3399         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3400                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3401                         file contents change
3402                 - (finalize): clean up inotify watches
3403                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3404                         and the connection ifcfg for changes on their hardlinks
3405                 - (files_changed_cb): proxy the changed signal back out to listeners
3406
3407         * system-settings/plugins/ifcfg-fedora/plugin.c
3408                 - (dir_changed): 
3409                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3410                         changes
3411                 - (read_one_connection): connect to change signals on the new connection
3412                 - (dir_changed, connection_changed_handler,
3413                    handle_connection_remove_or_new): break out connection change
3414                         handling and connection new/remove handling so it can be used from
3415                         both the GFileMonitor callback and the NMIfcfgConnection changed
3416                         signals
3417
3418         * system-settings/plugins/ifcfg-fedora/reader.c
3419           system-settings/plugins/ifcfg-fedora/reader.h
3420                 - (connection_from_file): return the keyfile path the connection would use
3421
3422 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3423
3424         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3425         single PolKitContext which is shared by all. PolKitContext::unref leaks
3426         just about everything, including all open file descriptiors and results
3427         in 99% cpu usage when data arrives to any of the fds that don't belong
3428         to any context anymore.
3429
3430 2008-05-12  Dan Williams  <dcbw@redhat.com>
3431
3432         * gfilemonitor/glocaldirectorymonitor.c
3433           gfilemonitor/glocaldirectorymonitor.h
3434                 - (g_local_directory_monitor_constructor): actually subscribe to the
3435                         watch
3436                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3437
3438         * gfilemonitor/glocalfilemonitor.c
3439           gfilemonitor/glocalfilemonitor.h
3440                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3441                 - (_g_local_file_monitor_new): ensure that inotify is started up
3442
3443 2008-05-11  Dan Williams  <dcbw@redhat.com>
3444
3445         * configure.in
3446                 - record PolicyKit version
3447
3448         * system-settings/src/nm-polkit-helpers.c
3449                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3450                         with PolicyKit <= 0.6
3451
3452 2008-05-11  Dan Williams  <dcbw@redhat.com>
3453
3454         Update Fedora system-settings plugin to support latest API and use
3455         GFileMonitor rather than home-rolled inotify code.
3456
3457         * system-settings/plugins/ifcfg-fedora/Makefile.am
3458           system-settings/plugins/ifcfg-fedora/common.h
3459           system-settings/plugins/ifcfg-fedora/plugin.c
3460                 - Update to latest system settings plugin API; use GIO instead of
3461                         custom inotify code; use NMIfcfgConnection objects instead of
3462                         ConnectionData structures tacked onto NMConnection objects
3463
3464         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3465           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3466                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3467                         connections
3468
3469         * system-settings/plugins/ifcfg-fedora/reader.c
3470           system-settings/plugins/ifcfg-fedora/reader.h
3471                 - Move ifcfg parsing bits here from parser.c
3472
3473         * system-settings/plugins/ifcfg-fedora/parser.c
3474           system-settings/plugins/ifcfg-fedora/parser.h
3475                 - Remove; most code moved to reader.c
3476
3477 2008-05-11  Dan Williams  <dcbw@redhat.com>
3478
3479         * configure.in
3480           Makefile.am
3481           gfilemonitor/*
3482                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3483                         implementation, so that the same change monitoring code can be used
3484                         on systems without glib-2.14 (like Fedora 8)
3485
3486         * system-settings/plugins/keyfile/Makefile.am
3487           system-settings/plugins/keyfile/plugin.c
3488           system-settings/plugins/ifcfg-suse/Makefile.am
3489           system-settings/plugins/ifcfg-suse/plugin.c
3490                 - Use private gfilemonitor code if GIO is not present
3491
3492 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3493
3494         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3495         NMExportedConnection's 'update' and 'delete' and return error with
3496         descriptive message.
3497
3498 2008-05-08  Dan Williams  <dcbw@redhat.com>
3499
3500         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3501
3502         * src/nm-gsm-device.c
3503           src/nm-cdma-device.c
3504                 - (real_get_best_auto_connection): implement; allow autoconnection
3505                         to GSM & CDMA devices
3506
3507 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3508
3509         Use PolicyKit to authorize the system settings' AddConnection method
3510         and the system settings connections' Update and Delete methods.
3511         
3512         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3513         (impl_exported_connection_delete, nm_exported_connection_update)
3514         (nm_exported_connection_delete): Return boolean and fill GError
3515         to notify the callers of the reasons why it might have failed.
3516
3517         * libnm-glib/nm-dbus-settings-system.c
3518         (nm_dbus_settings_system_add_connection): Return the error from dbus
3519         call so that the callers can see why it failed.
3520
3521         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3522         signatures.
3523
3524         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3525
3526         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3527         abstract base class that checks PolicyKit permissions.
3528
3529         * system-settings/src/dbus-settings.c:
3530         (impl_settings_add_connection): Check the policy before carring out
3531         the request.
3532
3533         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3534         Inherit from NMSysconfigConnection, check the policies before
3535         allowing updating or removing.
3536
3537         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3538         Inherit from NMSysconfigConnection.
3539
3540         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3541         "Delete" methods with async flag so that the implementations can get
3542         access to DBusGMethodInvocation.
3543
3544         * system-settings/src/dbus-settings.c 
3545         (settings_add_connection_check_privileges): Implement.
3546         (impl_settings_add_connection): Check the privileges before adding a new
3547         connection. Improve error reporting.
3548
3549         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3550         async so that the implementation can access DBusGMethodInvocation.
3551
3552         * configure.in: Check for PolicyKit.
3553
3554         * policy/org.freedesktop.network-manager-settings.system.policy: 
3555         New file.
3556
3557         * policy/Makefile.am: Install the policy file.
3558
3559         * configure.in: Add 'policy' subdir.
3560
3561 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3562
3563         Rewrite the suse system settings plugin.
3564
3565         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3566
3567         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3568
3569         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3570
3571         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3572
3573         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3574
3575         * system-settings/src/main.c (load_plugins): Improve error reporting.
3576
3577         * system-settings/src/sha1.[ch] Add.
3578
3579         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3580
3581 2008-05-07  Dan Williams  <dcbw@redhat.com>
3582
3583         * system-settings/plugins/keyfile/reader.c
3584                 - (read_one_setting_value): handle IP address items separately
3585                 - (read_array_of_uint): read IPv4 DNS option as a string array
3586                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3587                         array
3588
3589         * system-settings/plugins/keyfile/writer.c
3590                 - (write_setting_value): handle IP address items separately
3591                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3592                         not an array of uint, so that it's user-editable
3593                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3594                         arrays, so they are user-editable
3595
3596 2008-05-07  Dan Williams  <dcbw@redhat.com>
3597
3598         * system-settings/plugins/keyfile/Makefile.am
3599                 - Change location of the keyfile plugin settings to
3600                         /etc/NetworkManager/system-connections
3601
3602 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3603
3604         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3605
3606         * system-settings/plugins/keyfile/plugin.c: Work with
3607         NMKeyfileConnections.
3608
3609         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3610         Plugins are supposed to return NMExportedConnections now and handle the
3611         updated(), removed(), and GetSecrets().
3612         Store the internal list of connections in hash table to make it easier
3613         to find duplicates.
3614
3615 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3616
3617         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3618         for multiple IP addresses.
3619
3620 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3621
3622         Patch from André Lemos.
3623
3624         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3625         corruption.
3626
3627 2008-05-06  Dan Williams  <dcbw@redhat.com>
3628
3629         * src/dhcp-manager/nm-dhcp-manager.c
3630                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3631                         NMIP4Config to support multiple IP addresses
3632
3633         * src/NetworkManagerUtils.c
3634                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3635
3636         * src/nm-ip4-config.c
3637           src/nm-ip4-config.h
3638                 - Store a list of IPv4 address/netmask/gateway tuples
3639                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3640                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3641                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3642                    nm_ip4_config_set_address): remove
3643                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3644                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3645                         new functions; handle multiple IPv4 addresses
3646
3647         * src/nm-device.c
3648           src/ppp-manager/nm-ppp-manager.c
3649           src/vpn-manager/nm-vpn-connection.c
3650           src/NetworkManagerPolicy.c
3651           test/nm-tool.c
3652           libnm-glib/libnm-glib-test.c
3653                 - update for changes to NMIP4Config for multiple IPv4 addresses
3654
3655         * src/NetworkManagerSystem.c
3656                 - (nm_system_device_set_ip4_route): don't add the route if any address
3657                         is on the same subnet as the destination
3658                 - (check_one_address): ignore the exact match, just match family and
3659                         interface index
3660                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3661                         an interface
3662                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3663                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3664
3665         * introspection/nm-ip4-config.xml
3666                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3667                 - Add 'addresses' property which is an array of (uuu) tuples of
3668                         address/netmask/gateway
3669
3670         * libnm-util/nm-setting-ip4-config.c
3671                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3672
3673         * libnm-glib/nm-ip4-config.c
3674           libnm-glib/nm-ip4-config.h
3675                 - Handle D-Bus interface changes to support multiple IP addresses
3676
3677 2008-05-06  Dan Williams  <dcbw@redhat.com>
3678
3679         * libnm-util/nm-utils.c
3680           libnm-util/nm-utils.h
3681                 - (nm_utils_ip4_addresses_from_gvalue,
3682                    nm_utils_ip4_addresses_to_gvalue): new functions
3683
3684 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3685
3686         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3687         the returned connection paths.
3688
3689 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3690
3691         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3692         "PropertiesChanged" signal signature.
3693
3694         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3695         defined in nm-dbus-glib-types.h.
3696         Don't register the connection on dbus, we're a proxy class to 
3697         communicate with an already registered connection over dbus.
3698
3699 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3700
3701         Implement new subclasses of NMSettings and NMExportedConnection to make
3702         it easier for the applet to access and modify system settings.
3703
3704         * libnm-glib/nm-dbus-connection.[ch]:
3705         * libnm-glib/nm-dbus-settings.[ch]:
3706         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3707
3708         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3709         bindings and glue.
3710
3711         * include/NetworkManager.h: Define the system settings DBus interface.
3712
3713 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3714
3715         Implement additional C API for exported connections to make them identical
3716         with the DBus API. Change the (list_connections) virtual function to be
3717         more usable from C - instead of requiring implementers to return a GPtrArray
3718         of dbus paths, return a list of connections.
3719
3720         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3721         (nm_settings_list_connections):
3722         (nm_exported_connection_new):
3723         (nm_exported_connection_update):
3724         (nm_exported_connection_delete): Implement.
3725
3726         (impl_settings_list_connections):
3727         (impl_exported_connection_update):
3728         (impl_exported_connection_delete): Use the new public functions to make 
3729         sure the C and dbus interfaces stay in sync.
3730
3731         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3732         connections.
3733
3734 2008-05-02  Dan Williams  <dcbw@redhat.com>
3735
3736         * system-settings/plugins/ifcfg-fedora/plugin.c
3737                 - (dispose): use right unref call on the DBusGConnection
3738
3739 2008-05-02  Dan Williams  <dcbw@redhat.com>
3740
3741         * src/nm-serial-device.c
3742                 - (find_terminator): don't compare the whole line, just the size of the
3743                         terminator, since some modems put stuff after the terminator, like
3744                         "CONNECT 9600"
3745
3746 2008-05-01  Dan Williams  <dcbw@redhat.com>
3747
3748         Patch from Michael Biebl <biebl@debian.org>
3749
3750         * callouts/Makefile.am
3751           callouts/org.freedesktop.nm_dispatcher.service.in
3752           system-settings/src/Makefile.am
3753           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3754                 - use the right install location for dbus-activated stuff
3755
3756 2008-04-30  Dan Williams  <dcbw@redhat.com>
3757
3758         * src/nm-gsm-device.c
3759                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3760                         PIN or PUK
3761
3762 2008-04-30  Dan Williams  <dcbw@redhat.com>
3763
3764         * src/nm-manager.c
3765                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3766
3767 2008-04-30  Dan Williams  <dcbw@redhat.com>
3768
3769         * src/nm-device-802-3-ethernet.c
3770           src/nm-device-802-11-wireless.c
3771                 - (real_is_up): return true instead of chaining up to unimplemented
3772                         parent method
3773
3774 2008-04-30  Dan Williams  <dcbw@redhat.com>
3775
3776         * src/NetworkManagerSystem.c
3777           src/NetworkManagerSystem.h
3778                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3779                         functions to check device flags for IFF_UP
3780
3781         * src/nm-serial-device.c
3782                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3783                         implement is_up
3784
3785         * src/nm-device-802-3-ethernet.c
3786           src/nm-device-802-11-wireless.c
3787                 - (real_hw_is_up): call nm_system_device_is_up()
3788
3789         * src/nm-device.c
3790                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3791                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3792                         does not implement
3793
3794 2008-04-29  Dan Williams  <dcbw@redhat.com>
3795
3796         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3797
3798         * marshallers/nm-marshal.list
3799                 - Add marshaller
3800
3801         * src/NetworkManager.c
3802                 - (main): let the NMManager handle the NMHalManager
3803
3804         * src/nm-hal-manager.c
3805           src/nm-hal-manager.h
3806                 - convert to a GObject, and emit singals when stuff changes.  Let the
3807                         NMManager handle the signals, instead of the NMHalManager calling
3808                         into the NMManager.  
3809
3810         * src/nm-manager.c
3811           src/nm-manager.h
3812                 - (remove_one_device): consolidate device removals here
3813                 - (dispose): use remove_one_device()
3814                 - (nm_manager_get_device_by_udi): make static
3815                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3816                         manager for devices at startup or wakeup time
3817                 - (nm_manager_new): create and monitor the HAL manager
3818                 - (hal_manager_udi_added_cb): new function; do what
3819                         nm_manager_add_device() used to do when signalled by the hal manager
3820                 - (hal_manager_udi_removed_cb): new function; do what
3821                         nm_manager_remove_device() used to do when signalled by the hal
3822                         manager
3823                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3824                         hal manager
3825                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3826                         in our device list that aren't known to HAL
3827                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3828                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3829                         commits ago
3830                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3831                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3832                    nm_manager_wireless_hardware_enabled,
3833                    nm_manager_set_wireless_hardware_enabled): remove, unused
3834
3835 2008-04-28  Dan Williams  <dcbw@redhat.com>
3836
3837         Fix the device up/down ambiguities.  Up/down state used to be a
3838         conglomeration of hardware state (IFF_UP) and any device-specific things
3839         (supplicant, periodic timers, etc) that the device used to indicate
3840         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3841         reason, then the device specific stuff wouldn't get run, and the device
3842         would be stuck.
3843
3844         * src/nm-device.c
3845           src/nm-device.h
3846                 - Create hw_is_up, hw_bring_up, and hw_take_down
3847                 - Rename bring_down -> take_down
3848                 - (real_hw_is_up): check interface flags for IFF_UP
3849                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3850                 - (nm_device_is_up): make static; only used locally
3851                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3852                         if the device is already up; if the device isn't up, bring it up
3853                 - (nm_device_hw_take_down): just take down hardware
3854                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3855                 - (nm_device_take_down): always deactivate device when called; always
3856                         try to take hardware down too
3857                 - (nm_device_state_changed): take device down when entering unmanaged
3858                         state from a higher state
3859
3860         * src/nm-device-802-11-wireless.c
3861                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3862                         check IFF_UP really
3863                 - (real_take_down, supplicant_iface_state_cb_handler, 
3864                    supplicant_iface_connection_state_cb_handler,
3865                    supplicant_mgr_state_cb_handler): fix some messages
3866
3867         * src/nm-device-802-3-ethernet.c
3868                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3869                         check IFF_UP really
3870
3871 2008-04-28  Dan Williams  <dcbw@redhat.com>
3872
3873         * src/nm-manager.c
3874           src/nm-manager.h
3875                 - (nm_manager_error_get_type): add new error
3876                 - (nm_manager_remove_device): don't bother taking down the device here,
3877                         the state change from unmanaging the device will do it
3878                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3879                         uses it; when going to sleep, just unmanage the device instead of
3880                         taking it down, because stuff will cleaned up correctly when the
3881                         device gets unmanaged
3882
3883 2008-04-28  Dan Williams  <dcbw@redhat.com>
3884
3885         * src/nm-hal-manager.c
3886                 - (add_initial_devices): convert to a GSourceFunc prototype
3887                 - (nm_manager_state_changed): when coming out of sleep, punt the
3888                         device re-addition to an idle handler to let D-Bus events go out
3889                         first, fixing a potential dbus-glib assert if the old device was
3890                         not yet disposed (due to references held while emitting the D-Bus
3891                         signals) but the new device was found, because the mainloop didn't
3892                         run between signal emission and add_initial_devices()
3893
3894 2008-04-27  Dan Williams  <dcbw@redhat.com>
3895
3896         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3897
3898         * initscript/paldo/NetworkManager.in
3899           initscript/SUSE/networkmanager.in
3900                 - Remove last bits of dhcdbd
3901
3902 2008-04-27  Dan Williams  <dcbw@redhat.com>
3903
3904         * src/nm-device-802-11-wireless.c
3905                 - (link_timeout_cb): don't ask for secrets when disconnected during
3906                         association/authentication phase, drivers are still just too crappy
3907
3908 2008-04-27  Dan Williams  <dcbw@redhat.com>
3909
3910         * Makefile.am
3911           configure.in
3912           dispatcher-daemon/Makefile.am
3913           dispatcher-daemon/NetworkManagerDispatcher.c
3914           initscript/Arch/Makefile.am
3915           initscript/Arch/networkmanager-dispatcher.in
3916           initscript/Gentoo/Makefile.am
3917           initscript/Gentoo/NetworkManagerDispatcher.in
3918           initscript/Mandriva/Makefile.am
3919           initscript/Mandriva/networkmanagerdispatcher.in
3920           initscript/RedHat/Makefile.am
3921           initscript/RedHat/NetworkManagerDispatcher.in
3922           initscript/SUSE/Makefile.am
3923           initscript/SUSE/networkmanager-dispatcher.in
3924           initscript/Slackware/Makefile.am
3925           initscript/Slackware/rc.networkmanager-dispatcher.in
3926           initscript/paldo/Makefile.am
3927           initscript/paldo/NetworkManagerDispatcher.in
3928           man/Makefile.am
3929           man/NetworkManagerDispatcher.8.in
3930                 - Remove the dispatcher daemon
3931
3932 2008-04-27  Dan Williams  <dcbw@redhat.com>
3933
3934         * callouts/Makefile.am
3935           callouts/nm-dispatcher-action.c
3936           callouts/nm-dispatcher-action.h
3937           callouts/nm-dispatcher.conf
3938           callouts/nm-dispatcher.xml
3939           callouts/org.freedesktop.nm_dispatcher.service
3940                 - Re-implement the dispatcher as a system-bus activated service that
3941                         NM calls on-demand, rather than an always running daemon
3942
3943         * src/Makefile.am
3944                 - Add callouts dir to includes to pick up dispatcher defines
3945
3946         * src/nm-device.c
3947                 - (nm_device_state_changed): call dispatcher on device activated/
3948                         deactivated
3949
3950         * src/vpn-manager/nm-vpn-connection.c
3951                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3952                         go up and down
3953
3954         * src/NetworkManagerUtils.c
3955           src/NetworkManagerUtils.h
3956                 - (nm_utils_call_dispatcher): helper to call dispatcher
3957
3958 2008-04-27  Dan Williams  <dcbw@redhat.com>
3959
3960         * src/NetworkManagerUtils.c
3961           src/NetworkManagerUtils.h
3962                 - remove unneeded includes
3963                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3964                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3965                    nm_timeval_cmp, nm_timeval_add): remove, unused
3966                 - clean up formatting
3967                 - (nm_spawn_process): de-uglify
3968
3969         * src/nm-device-802-11-wireless.c
3970                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3971
3972 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3973
3974         * initscript/Gentoo/NetworkManager.in:
3975                 Fix for starting the daemon.
3976
3977 2008-04-25  Dan Williams  <dcbw@redhat.com>
3978
3979         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3980
3981         * src/NetworkManagerSystem.c
3982                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3983
3984 2008-04-25  Dan Williams  <dcbw@redhat.com>
3985
3986         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3987
3988         * src/NetworkManagerSystem.c
3989                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3990                         implementation of nm_system_device_replace_default_route()
3991
3992         * src/NetworkManagerPolicy.c
3993                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3994
3995         * src/backends/NetworkManagerArch.c
3996           src/backends/NetworkManagerDebian.c
3997           src/backends/NetworkManagerFrugalware.c
3998           src/backends/NetworkManagerGeneric.c
3999           src/backends/NetworkManagerGeneric.h
4000           src/backends/NetworkManagerGentoo.c
4001           src/backends/NetworkManagerMandriva.c
4002           src/backends/NetworkManagerPaldo.c
4003           src/backends/NetworkManagerRedHat.c
4004           src/backends/NetworkManagerSlackware.c
4005           src/backends/NetworkManagerSuSE.c
4006                 - (nm_system_device_replace_default_route): remove
4007
4008 2008-04-25  Dan Williams  <dcbw@redhat.com>
4009
4010         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4011
4012         * src/NetworkManagerSystem.c
4013                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4014                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4015                         replace nm_system_device_add_route_via_device_with_iface() in the
4016                         backends
4017
4018         * src/backends/NetworkManagerArch.c
4019           src/backends/NetworkManagerDebian.c
4020           src/backends/NetworkManagerFrugalware.c
4021           src/backends/NetworkManagerGeneric.c
4022           src/backends/NetworkManagerGeneric.h
4023           src/backends/NetworkManagerGentoo.c
4024           src/backends/NetworkManagerMandriva.c
4025           src/backends/NetworkManagerPaldo.c
4026           src/backends/NetworkManagerRedHat.c
4027           src/backends/NetworkManagerSlackware.c
4028           src/backends/NetworkManagerSuSE.c
4029                 - Remove nm_system_device_add_route_via_device_with_iface()
4030
4031 2008-04-25  Dan Williams  <dcbw@redhat.com>
4032
4033         * system-settings/plugins/ifcfg-fedora/parser.c
4034                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4035
4036 2008-04-24  Dan Williams  <dcbw@redhat.com>
4037
4038         * dispatcher-daemon/NetworkManagerDispatcher.c
4039                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4040
4041 2008-04-24  Dan Williams  <dcbw@redhat.com>
4042
4043         * initscript/RedHat/NetworkManager.in
4044           initscript/RedHat/NetworkManagerDispatcher.in
4045                 - Be active at runlevel 2
4046                 - Adjust priorities earlier
4047
4048 2008-04-22  Dan Williams  <dcbw@redhat.com>
4049
4050         * src/NetworkManagerPolicy.c
4051                 - (update_routing_and_dns): when checking for a gateway, look at the
4052                         composite IP4 config, not the connection's ip4-config setting, which
4053                         doesn't include DHCP-returned information
4054
4055 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4056
4057         Implement GKeyFile system settings plugin.
4058         Implement writing system settings (currently supported only by GKeyFile plugin).
4059
4060         * system-settings/src/main.c: 
4061         * system-settings/src/dbus-settings.c: Move the communication with plugins
4062         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4063         plugins for adding/updating/removing connections.
4064
4065         * system-settings/src/nm-system-config-interface.c
4066         (nm_system_config_interface_add_connection): Implement
4067         (nm_system_config_interface_update_connection): Implement.
4068         (nm_system_config_interface_remove_connection): Implement.
4069
4070         * system-settings/plugins/keyfile/Makefile.am:
4071         * system-settings/plugins/keyfile/plugin.[ch]:
4072         * system-settings/plugins/keyfile/writer.[ch]:
4073         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4074
4075         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4076
4077         * configure.in: Generate GKeyFile Makefile.
4078
4079         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4080         corruption, need to duplicate the returned string.
4081         (impl_exported_connection_update): Implement.
4082         (impl_exported_connection_delete): Implement.
4083
4084         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4085
4086         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4087
4088 2008-04-22  Dan Williams  <dcbw@redhat.com>
4089
4090         Patch from Charles R. Anderson (cra@wpi.edu)
4091
4092         * src/NetworkManagerPolicy.c
4093                 - (update_routing_and_dns): don't select devices without a gateway
4094                         as having the default route (rh #437338)
4095
4096 2008-04-21  Dan Williams  <dcbw@redhat.com>
4097
4098         * src/nm-activation-request.c
4099           src/nm-activation-request.h
4100                 - (dispose): ensure to disconnect from the device's state-changed signal
4101                         when appropriate so the signal doesn't get handled by an already
4102                         disposed NMActRequest
4103                 - (device_state_changed): update is_default here too just to make sure
4104                         default is only True when the child device is activated
4105                 - (nm_act_request_set_default): new function
4106
4107         * src/NetworkManagerPolicy.c
4108                 - (update_routing_and_dns): set 'default' on the active connection which
4109                         has the default route and DNS
4110
4111 2008-04-21  Dan Williams  <dcbw@redhat.com>
4112
4113         * src/NetworkManagerPolicy.c
4114                 - (device_state_changed): update routing and DNS when a device goes
4115                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4116
4117 2008-04-21  Dan Williams  <dcbw@redhat.com>
4118
4119         * include/NetworkManager.h
4120                 - Add NMActiveConnectionState enum
4121
4122         * introspection/nm-active-connection.xml
4123           introspection/nm-vpn-connection.xml
4124                 - Add 'State' property for overall active connection state
4125                 - Add 'Default' property, when True means this active connection
4126                         has the default route
4127                 - Add PropertyChanged signals so changes actually go out over the bus
4128
4129         * src/nm-active-connection.h
4130                 - Add defines for State & Default properties
4131
4132         * src/nm-activation-request.c
4133                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4134                         signal to determine active connection state
4135
4136         * src/vpn-manager/nm-vpn-connection.c
4137           src/vpn-manager/nm-vpn-connection.h
4138           src/vpn-manager/nm-vpn-manager.c
4139           src/vpn-manager/nm-vpn-service.c
4140                 - Rename old 'state' to 'vpn-state'
4141                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4142                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4143                         'vpn-state-changed' signal
4144
4145         * libnm-glib/nm-active-connection.c
4146           libnm-glib/nm-active-connection.h
4147                 - Add new 'state' and 'default' properties and accessors
4148
4149         * libnm-glib/nm-vpn-connection.c
4150           libnm-glib/nm-vpn-connection.h
4151                 - Rename old 'state' property to 'vpn-state'
4152                 - Add new 'state' and 'default' properties and accessors
4153
4154 2008-04-21  Dan Williams  <dcbw@redhat.com>
4155
4156         * src/nm-ip4-config.c
4157                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4158                         not specified (rh #443474)
4159
4160 2008-04-20  Dan Williams  <dcbw@redhat.com>
4161
4162         * src/NetworkManagerUtils.c
4163           src/NetworkManagerUtils.h
4164                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4165                         NMSettingIP4Config to an NMIP4Config object
4166
4167         * src/nm-device.c
4168                 - (merge_ip4_config): move to NetworkManagerUtils.c
4169
4170         * src/vpn-manager/nm-vpn-connection.c
4171                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4172                         too
4173
4174 2008-04-18  Dan Williams  <dcbw@redhat.com>
4175
4176         * libnm-util/nm-setting-ppp.c
4177           libnm-util/nm-setting-ppp.h
4178                 - Add 'no-vj-comp' option for TCP header compression
4179                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4180                         uint32
4181
4182 2008-04-18  Dan Williams  <dcbw@redhat.com>
4183
4184         * libnm-util/nm-setting-ppp.c
4185           libnm-util/nm-setting-ppp.h
4186           src/ppp-manager/nm-ppp-manager.c
4187                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4188
4189 2008-04-18  Dan Williams  <dcbw@redhat.com>
4190
4191         * libnm-util/nm-setting-ppp.c
4192           libnm-util/nm-setting-ppp.h
4193           src/ppp-manager/nm-ppp-manager.c
4194                 - Remove the 'usepeerdns' option and always request DNS servers from
4195                         the PPP server; the connection chooses to use/override/ignore the
4196                         DNS servers returned from the PPP server
4197
4198 2008-04-18  Dan Williams  <dcbw@redhat.com>
4199
4200         * libnm-util/nm-setting-ppp.c
4201           libnm-util/nm-setting-ppp.h
4202           src/ppp-manager/nm-ppp-manager.c
4203                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4204                         it seems to have been an erroneous addition to the PPTP plugin in
4205                         the first place (from which the ppp-manager is derived)
4206
4207 2008-04-17  Dan Williams  <dcbw@redhat.com>
4208
4209         * libnm-util/nm-setting-pppoe.c
4210                 - (verify): require a PPP setting too
4211
4212         * src/ppp-manager/nm-ppp-manager.c
4213                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4214                         segfaulting
4215
4216 2008-04-17  Dan Williams  <dcbw@redhat.com>
4217
4218         * src/nm-device.c
4219                 - (nm_device_state_changed): do deactivation and and promotion to
4220                         unavailable here, so that the device gets cleaned up before the
4221                         manager runs and starts emitting signals; do the
4222                         FAILED->DISCONNECTED transition from an idle handler rather than
4223                         immediately to guard against recursion
4224                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4225                         FAILED->DISCONNECTED handler if it's scheduled
4226
4227 2008-04-17  Dan Williams  <dcbw@redhat.com>
4228
4229         * src/nm-device-802-11-wireless.c
4230                 - (state_changed_cb): clear AP list when device transitions to
4231                         unavailable or unmanaged
4232                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4233                         since this is already done in device_cleanup()
4234                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4235                         isn't available or managed
4236                 - (device_cleanup): use remove_all_aps()
4237                 - (remove_all_aps): consolidate code removing all APs
4238
4239 2008-04-17  Dan Williams  <dcbw@redhat.com>
4240
4241         * src/nm-serial-device.c
4242           src/nm-serial-device.h
4243                 - (wait_for_reply_got_data): break input into lines, and search each
4244                         line for responses _and_ terminator strings; also make sure that
4245                         the read loop doesn't continue after the timeout is supposed to fire
4246                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4247
4248         * src/nm-gsm-device.c
4249           src/nm-cdma-device.c
4250                 - Send terminators to nm_serial_device_wait_for_reply()
4251
4252 2008-04-16  Dan Williams  <dcbw@redhat.com>
4253
4254         Patch from 陈鑫 <znscnchen@gmail.com>
4255
4256         * src/ppp-manager/nm-pppd-plugin.c
4257                 - (get_credentials): return correct value for success; handle case where
4258                         pppd just does some checking but doesn't want a password
4259                 - (plugin_init): make CHAP work too
4260
4261 2008-04-16  Dan Williams  <dcbw@redhat.com>
4262
4263         Patch from 陈鑫 <znscnchen@gmail.com>
4264
4265         * src/ppp-manager/nm-ppp-manager.c
4266                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4267
4268 2008-04-16  Dan Williams  <dcbw@redhat.com>
4269
4270         Patch from 陈鑫 <znscnchen@gmail.com>
4271
4272         * src/nm-device-802-3-ethernet.c
4273                 - (real_deactivate_quickly): clear the IP interface name on
4274                         deactivation, otherwise the wrong interface might get used later
4275                         for routing and IP management
4276
4277 2008-04-15  Dan Williams  <dcbw@redhat.com>
4278
4279         * libnm-glib/nm-device.c
4280                 - (get_product_and_vendor): handle serial devices correctly
4281                 - (nm_device_update_description): pass device to get_product_and_vendor()
4282
4283 2008-04-15  Dan Williams  <dcbw@redhat.com>
4284
4285         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4286
4287         * src/NetworkManagerSystem.h
4288           src/backends/NetworkManagerArch.c
4289           src/backends/NetworkManagerDebian.c
4290           src/backends/NetworkManagerFrugalware.c
4291           src/backends/NetworkManagerGeneric.c
4292           src/backends/NetworkManagerGeneric.h
4293           src/backends/NetworkManagerGentoo.c
4294           src/backends/NetworkManagerMandriva.c
4295           src/backends/NetworkManagerPaldo.c
4296           src/backends/NetworkManagerRedHat.c
4297           src/backends/NetworkManagerSlackware.c
4298           src/backends/NetworkManagerSuSE.c
4299           src/nm-device.c
4300                 - (nm_generic_device_add_ip6_link_address,
4301                    nm_system_device_add_ip6_link_address): remove
4302
4303 2008-04-15  Dan Williams  <dcbw@redhat.com>
4304
4305         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4306
4307         * src/backends/NetworkManagerArch.c
4308           src/backends/NetworkManagerDebian.c
4309           src/backends/NetworkManagerFrugalware.c
4310           src/backends/NetworkManagerGeneric.c
4311           src/backends/NetworkManagerGeneric.h
4312           src/backends/NetworkManagerGentoo.c
4313           src/backends/NetworkManagerMandriva.c
4314           src/backends/NetworkManagerPaldo.c
4315           src/backends/NetworkManagerRedHat.c
4316           src/backends/NetworkManagerSlackware.c
4317           src/backends/NetworkManagerSuSE.c
4318           src/NetworkManagerSystem.h
4319                 - flush_routes -> flush_ip4_routes
4320                 - flush_addresses -> flush_ip4_addresses
4321
4322         * src/NetworkManagerSystem.c
4323           src/nm-device.c
4324           src/vpn-manager/nm-vpn-connection.c
4325                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4326
4327 2008-04-15  Dan Williams  <dcbw@redhat.com>
4328
4329         Remove exposure of wireless-tools mode types in the API.
4330
4331         * include/NetworkManager.h
4332                 - Define NM80211Mode enum
4333
4334         * introspection/generic-types.xml
4335                 - Describe NM_802_11_MODE enum
4336                 - Remove IW_MODE_* enum
4337
4338         * introspection/nm-access-point.xml
4339           libnm-glib/nm-access-point.c
4340           libnm-glib/nm-access-point.h
4341                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4342
4343         * introspection/nm-device-802-11-wireless.xml
4344           libnm-glib/nm-device-802-11-wireless.c
4345           libnm-glib/nm-device-802-11-wireless.h
4346                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4347
4348         * libnm-util/nm-setting-wireless.c
4349           src/NetworkManagerAP.c
4350           src/NetworkManagerAP.h
4351           src/nm-device-802-11-wireless.c
4352           src/nm-device-802-11-wireless.h
4353           test/nm-tool.c
4354                 - Use NM80211Mode not IW_MODE_*
4355
4356 2008-04-15  Dan Williams  <dcbw@redhat.com>
4357
4358         Enhance nm-online based on a patch from Bill Nottingham.
4359
4360         * test/nm-online.c
4361                 - Add a '-q' option
4362                 - Add help messages and option summary
4363                 - Add long-format options
4364                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4365
4366 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4367
4368         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4369
4370         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4371
4372 2008-04-15  Dan Williams  <dcbw@redhat.com>
4373
4374         * nm-setting-ip4-config.c
4375                 - (ip4_addresses_from_gvalue): handle NULL address array
4376
4377         * nm-setting-8021x.c
4378                 - (verify_tls, verify_ttls): warn on failed verification
4379
4380 2008-04-10  Dan Williams  <dcbw@redhat.com>
4381
4382         * src/nm-gsm-device.c
4383                 - (automatic_registration): accept "+CREG: 0,0"
4384                 - (automatic_registration_response): fail on "+CREG: 0,0"
4385
4386 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4387
4388         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4389
4390 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4391
4392         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4393         Make it compile again by commenting out broken code that at first didn't work and
4394         now didn't compile either.
4395
4396 2008-04-08  Dan Williams  <dcbw@redhat.com>
4397
4398         * libnm-glib/nm-object-cache.c
4399           libnm-glib/nm-settings.c
4400           src/dhcp-manager/nm-dhcp-manager.c
4401           system-settings/plugins/ifcfg-fedora/plugin.c
4402           system-settings/plugins/ifcfg-suse/plugin.c
4403           system-settings/src/nm-system-config-hal-manager.c
4404           libnm-util/nm-utils.c
4405                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4406                         not threadsafe anyway
4407
4408 2008-04-08  Dan Williams  <dcbw@redhat.com>
4409
4410         * system-settings/src/main.c
4411                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4412                         callbacks take a device type too
4413
4414 2008-04-08  Dan Williams  <dcbw@redhat.com>
4415
4416         The system settings service will now create a new default DHCP connection
4417         for wired devices that have no existing applicable connection.
4418
4419         * system-settings/src/nm-system-config-hal-manager.c
4420           system-settings/src/nm-system-config-hal-manager.h
4421                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4422
4423         * system-settings/src/dbus-settings.c
4424           system-settings/src/dbus-settings.h
4425                 - (nm_sysconfig_settings_get_connections): new function
4426                 - (nm_sysconfig_settings_is_device_managed): new function
4427
4428         * system-settings/src/main.c
4429                 - (load_stuff): check for wired devices that need a default connection
4430                 - (get_details_for_udi): get interface and MAC address from HAL
4431                 - (add_default_dhcp_connection): add a default connection for a wired
4432                         device if needed
4433                 - (device_added_cb, device_removed_cb): do the right thing with
4434                         wired devices and their default connections on HAL device events
4435
4436 2008-04-07  Dan Williams  <dcbw@redhat.com>
4437
4438         * libnm-glib/nm-device.c
4439           libnm-glib/nm-device.h
4440                 - Proxy the 'managed' property
4441
4442 2008-04-07  Dan Williams  <dcbw@redhat.com>
4443
4444         * src/nm-gsm-device.c
4445           src/nm-cdma-device.c
4446                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4447                         handler to transition to DISCONNECTED
4448
4449 2008-04-07  Dan Williams  <dcbw@redhat.com>
4450
4451         Patch from Bill Nottingham
4452
4453         * dispatcher-daemon/NetworkManagerDispatcher.c
4454                 - ignore backup/packaging crufy (rh #440143)
4455
4456 2008-04-07  Dan Williams  <dcbw@redhat.com>
4457
4458         * include/NetworkManager.h
4459                 - Remove the DOWN and CANCELLED device states
4460                 - Add UNMANAGED and UNAVAILABLE device states
4461                 - Document the device states
4462
4463         * introspection/nm-device.xml
4464           src/nm-device-interface.c
4465           src/nm-device-interface.h
4466                 - Add the 'managed' property
4467
4468         * test/nm-tool.c
4469                 - (detail_device): print out device state
4470
4471         * src/NetworkManagerSystem.h
4472           src/backends/NetworkManagerArch.c
4473           src/backends/NetworkManagerDebian.c
4474           src/backends/NetworkManagerFrugalware.c
4475           src/backends/NetworkManagerGentoo.c
4476           src/backends/NetworkManagerMandriva.c
4477           src/backends/NetworkManagerPaldo.c
4478           src/backends/NetworkManagerRedHat.c
4479           src/backends/NetworkManagerSlackware.c
4480           src/backends/NetworkManagerSuSE.c
4481                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4482                    nm_system_device_free_system_config): remove; they were unused and
4483                         their functionality should be re-implemented in each distro's
4484                         system settings service plugin 
4485
4486         * src/nm-gsm-device.c
4487           src/nm-gsm-device.h
4488           src/nm-cdma-device.c
4489           src/nm-cdma-device.h
4490                 - (*_new): take the 'managed' argument
4491
4492         * src/nm-device.c
4493                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4494                 - (nm_device_init): start in unmanaged state, not disconnected
4495                 - (constructor): don't start device until the system settings service
4496                         has had a chance to figure out if the device is managed or not
4497                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4498                         don't set device state here, let callers handle that as appropriate
4499                 - (nm_device_dispose): don't touch the device if it's not managed
4500                 - (set_property, get_property, nm_device_class_init): implement the
4501                         'managed' property
4502                 - (nm_device_state_changed): bring the device up if its now managed,
4503                         and deactivate it if it used to be active
4504                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4505                         with the managed state
4506
4507         * src/nm-hal-manager.c
4508                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4509                         take initial managed state and pass it along to device constructors
4510                 - (create_device_and_add_to_list): get managed state and pass to
4511                         type creators
4512
4513         * src/nm-device-802-11-wireless.c
4514                 - (real_can_activate): fold in most of
4515                         nm_device_802_11_wireless_can_activate()
4516                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4517                 - (link_timeout_cb): instead of deactivating, change device state and
4518                         let the device state handler to it
4519                 - (real_update_hw_address): clean up
4520                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4521                         handler to transition to DISCONNECTED if the device isn't rfkilled
4522
4523         * src/nm-device-802-3-ethernet.c
4524                 - (set_carrier): move above callers and get rid of prototype
4525                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4526                         idle handler to transition to DISCONNECTED if the device has a
4527                         carrier
4528                 - (real_update_hw_address): clean up
4529                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4530                         deactivation directly as deactivation doesn't change state anymore
4531
4532         * src/NetworkManagerPolicy.c
4533                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4534                         the NMManager and wireless devices work that out themselves now
4535                 - (device_state_changed): change to a switch and update for new device
4536                         states
4537                 - (device_carrier_changed): remove; device handles this now through
4538                         state changes
4539                 - (device_added): don't care about carrier any more; the initial
4540                         activation check will happen when the device transitions to
4541                         DISCONNECTED
4542
4543         * src/nm-manager.c
4544                 - (dispose): clear unmanaged devices
4545                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4546                         the managed property on each device when needed
4547                 - (system_settings_properties_changed_cb): handle signals from the
4548                         system settings service
4549                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4550                         getting the unmanaged device list method call
4551                 - (query_unmanaged_devices): ask the system settings service for its
4552                         list of unmanaged devices
4553                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4554                         devices
4555                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4556                         devices directly and let them handle the necessary state transitions
4557                 - (manager_device_state_changed): update for new device states
4558                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4559                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4560                 - (nm_manager_activate_connection): return error if the device is
4561                         unmanaged
4562                 - (nm_manager_sleep): handle new device states correctly; don't change
4563                         the state of unavailable/unmanaged devices
4564
4565         * libnm-glib/nm-device-802-11-wireless.c
4566                 - (state_changed_cb): update for new device states
4567
4568 2008-04-07  Dan Williams  <dcbw@redhat.com>
4569
4570         * marshallers/nm-marshal.list
4571                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4572
4573 2008-04-07  Dan Williams  <dcbw@redhat.com>
4574
4575         * system-settings/src/main.c
4576                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4577                         plugins to the dbus settings object
4578                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4579                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4580                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4581                 - (main): switch default logging to syslog with a 'debug' option to
4582                         output to console; start up the HAL manager
4583
4584 2008-04-07  Dan Williams  <dcbw@redhat.com>
4585
4586         * introspection/nm-settings-system.xml
4587           introspection/Makefile.am
4588                 - Define the unmanaged devices interface for the system settings service
4589
4590         * system-settings/src/nm-system-config-hal-manager.c
4591           system-settings/src/nm-system-config-hal-manager.h
4592           system-settings/src/nm-system-config-hal-manager-private.h
4593           system-settings/src/Makefile.am
4594                 - Add a lightweight HAL manager object for tracking network devices for
4595                         the purpose of determining unmanaged devices and which devices need
4596                         the default DHCP connections
4597
4598         * system-settings/src/nm-system-config-interface.c
4599           system-settings/src/nm-system-config-interface.h
4600                 - (nm_system_config_interface_init): add the HAL manager as an argument
4601                 - (nm_system_config_interface_get_unmanaged_devices): implement
4602                 - Define 'unmanaged-devices-changed' signal
4603
4604         * system-settings/src/dbus-settings.c
4605           system-settings/src/dbus-settings.h
4606                 - Implement the unmanaged devices interface; some cleanups
4607
4608         * system-settings/plugins/ifcfg-suse/plugin.c
4609                 - Fixup for plugin interface changes
4610
4611         * system-settings/plugins/ifcfg-fedora/plugin.c
4612                 - (get_ether_device_udi): new function; find the device that has
4613                         a specified MAC address and return its UDI
4614                 - (get_udi_for_connection): new function; try to find the specific
4615                         device a connection is locked to, if any
4616                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4617                         response to HAL events
4618                 - (get_unmanaged_devices): new function; return unmanaged device list
4619                 - (build_one_connection): set the connection's locked device, if any
4620                 - (write_auto_wired_connection): remove
4621                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4622                 - (handle_connection_changed): alert listeners that the unmanaged device
4623                         list has changed
4624                 - (init): fixup for plugin interface changes, implement unmanaged devices
4625
4626         * system-settings/plugins/ifcfg-fedora/parser.c
4627           system-settings/plugins/ifcfg-fedora/parser.h
4628                 - (connection_data_free): clean up connection UDI
4629
4630 2008-04-07  Dan Williams  <dcbw@redhat.com>
4631
4632         * system-settings/plugins/ifcfg-fedora/parser.c
4633                 - (make_ip4_setting): fix parsing of DNS servers
4634
4635 2008-04-05  Dan Williams  <dcbw@redhat.com>
4636
4637         * Makefile.am
4638           configure.in
4639           marshallers/Makefile.am
4640           marshallers/nm-marshal-main.c
4641           marshallers/nm-marshal.list
4642                 - Consolidate marshallers
4643
4644         * libnm-glib/nm-marshal-main.c
4645           libnm-glib/nm-marshal.list
4646           src/marshallers/Makefile.am
4647           src/marshallers/nm-marshal-main.c
4648           src/marshallers/nm-marshal.list
4649                 - Remove
4650
4651         * libnm-glib/Makefile.am
4652           src/Makefile.am
4653           src/dhcp-manager/Makefile.am
4654           src/ppp-manager/Makefile.am
4655           src/supplicant-manager/Makefile.am
4656           src/vpn-manager/Makefile.am
4657                 - Use consolidated marshallers
4658
4659 2008-04-04  Dan Williams  <dcbw@redhat.com>
4660
4661         * src/nm-hal-manager.c
4662           src/nm-hal-manager.h
4663                 - (hal_init): don't look for hardware here
4664                 - (nm_hal_manager_start): new function; look for hardware here instead,
4665                         which can be done at a later time than hal_init()
4666
4667         * src/NetworkManager.c
4668                 - (main): start HAL manager after entering the main loop
4669
4670 2008-04-03  Dan Williams  <dcbw@redhat.com>
4671
4672         * libnm-glib/nm-settings.c
4673           libnm-glib/nm-settings.h
4674             - (nm_exported_connection_get_id): new function
4675                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4676
4677 2008-04-02  Dan Williams  <dcbw@redhat.com>
4678
4679         * src/nm-device-interface.c
4680           src/nm-device-interface.h
4681           src/nm-device.c
4682           src/nm-device.h
4683                 - Rename check_connection_conflicts() to check_connection_compatible()
4684
4685         * src/nm-device-802-11-wireless.c
4686                 - (real_check_connection_conflicts): remove
4687                 - (real_check_connection_compatible): implement; match MAC address
4688
4689         * src/nm-device-802-3-ethernet.c
4690                 - (real_check_connection_conflicts): remove
4691                 - (real_check_connection_compatible): implement; match MAC address
4692                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4693
4694         * src/nm-manager.c
4695                 - (check_connection_allowed): remove; unused until PolicyKit integration
4696                 - (internal_activate_device): check whether the connection is compatible
4697                         with the device before trying to activate it
4698
4699 2008-04-02  Dan Williams  <dcbw@redhat.com>
4700
4701         * system-settings/plugins/ifcfg-fedora/parser.c
4702                 - (read_mac_address): new function; read in MAC address and stuff it
4703                         into the connection
4704                 - (add_one_wep_key): remove debug spew
4705                 - (make_wireless_security_setting): validate the default TX key; don't
4706                         add the wireless-security setting if the connection doesn't need
4707                         security; don't leak the keys shvarFile on error cases
4708                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4709                         address
4710
4711 2008-04-02  Dan Williams  <dcbw@redhat.com>
4712
4713         * libnm-util/nm-setting-connection.c
4714           libnm-util/nm-setting-connection.h
4715                 - (set_property, get_property, nm_setting_connection_class_init): remove
4716                         the 'lockdown' property; it's functionality will be replaced by
4717                         PolicyKit instead
4718
4719 2008-04-01  Dan Williams  <dcbw@redhat.com>
4720
4721         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4722
4723         * configure.in
4724           initscript/Makefile.am
4725           initscript/Mandriva/Makefile.am
4726           initscript/Mandriva/networkmanager.in
4727           initscript/Mandriva/networkmanagerdispatcher.in
4728           src/backends/Makefile.am
4729           src/backends/NetworkManagerMandriva.c
4730           system-settings/plugins/Makefile.am
4731                 - Add Mandriva support
4732
4733 2008-03-31  Dan Williams  <dcbw@redhat.com>
4734
4735         * src/vpn-manager/nm-vpn-service.c
4736                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4737                         errors can be passed back to the caller; also no longer scheduled
4738                         as an idle handler, but called directly; and bump up VPN service
4739                         spawn timeout, 2s is really short
4740                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4741                         but call it directly so that errors are reported on return from
4742                         ActivateConnection() and don't get lost.  If scheduled as an idle
4743                         handler, clients don't have the time to query NM for the new VPN
4744                         connection's properties before the VPN connection is torn down again
4745                         if the service couldn't be launched, and therefore launch errors
4746                         get lost.
4747
4748 2008-03-31  Dan Williams  <dcbw@redhat.com>
4749
4750         * src/vpn-manager/nm-vpn-connection.c
4751                 - (device_state_changed): send correct state on device failure too
4752                 - (plugin_state_changed): failed state means unexpected disconnection,
4753                         thus if the service goes away while the VPN connection is activated
4754                         that's a failure too
4755
4756 2008-03-31  Dan Williams  <dcbw@redhat.com>
4757
4758         * src/vpn-manager/nm-vpn-manager.c
4759           src/vpn-manager/nm-vpn-manager.h
4760                 - Make VPNManager errors more available; add a service-start-failed error
4761
4762 2008-03-31  Dan Williams  <dcbw@redhat.com>
4763
4764         * libnm-glib/nm-client.c
4765           libnm-glib/nm-client.h
4766                 - (activate_cb): pass the new active connection to callback; fix
4767                         message when no callback is specified
4768
4769 2008-03-30  Dan Williams  <dcbw@redhat.com>
4770
4771         * libnm-util/nm-setting-wireless-security.c
4772                 - (need_secrets): only require key0 if the transmit key index is also
4773                         0
4774                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4775
4776 2008-03-29  Dan Williams  <dcbw@redhat.com>
4777
4778         * libnm-util/nm-setting-8021x.c
4779           libnm-util/nm-setting-ip4-config.c
4780           libnm-util/nm-setting-vpn-properties.c
4781           libnm-util/nm-setting-vpn.c
4782           libnm-util/nm-setting-wireless-security.c
4783           libnm-util/nm-setting-wireless.c
4784           libnm-util/nm-utils.c
4785           src/dhcp-manager/nm-dhcp-manager.c
4786           src/nm-activation-request.c
4787           src/nm-ip4-config.c
4788           src/nm-manager.c
4789           src/nm-properties-changed-signal.c
4790           src/ppp-manager/nm-pppd-plugin.c
4791           src/supplicant-manager/nm-supplicant-interface.c
4792           src/vpn-manager/nm-vpn-connection.c
4793                 - consistently use nm-dbus-glib-types.h
4794
4795 2008-03-29  Dan Williams  <dcbw@redhat.com>
4796
4797         * src/vpn-manager/nm-vpn-connection.c
4798                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4799                         not string
4800
4801         * src/nm-activation-request.c
4802                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4803                         not string
4804
4805 2008-03-29  Dan Williams  <dcbw@redhat.com>
4806
4807         * libnm-glib/nm-device-802-11-wireless.c
4808                 - (access_point_added_proxy): create new APs if not found
4809
4810 2008-03-29  Dan Williams  <dcbw@redhat.com>
4811
4812         * libnm-glib/nm-client.c
4813                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4814                         before freeing them
4815
4816 2008-03-29  Dan Williams  <dcbw@redhat.com>
4817
4818         * system-settings/plugins/ifcfg-fedora/parser.c
4819                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4820                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4821
4822 2008-03-29  Dan Williams  <dcbw@redhat.com>
4823
4824         * system-settings/plugins/ifcfg-fedora/parser.c
4825                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4826
4827 2008-03-27  Dan Williams  <dcbw@redhat.com>
4828
4829         * nm-object.c
4830                 - (nm_object_queue_notify): don't notify multiple times for the same
4831                         property
4832
4833         * nm-object-private.h
4834                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4835                         if it has zero elements
4836
4837         * nm-ip4-config.c
4838                 - (finalize): use g_ptr_array_foreach() when freeing domains
4839                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4840
4841         * nm-active-connection.c
4842                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4843
4844         * nm-device-802-11-wireless.c
4845           nm-device-802-11-wireless.h
4846                 - (nm_device_802_11_wireless_get_access_points): return const; use
4847                         handle_ptr_array_return()
4848
4849         * nm-types.c
4850                 - (nm_object_array_demarshal): always create an array, even of length
4851                         zero, to distinguish between "NM returned no items" and "haven't
4852                         asked NM yet"
4853
4854         * nm-client.c
4855                 - (dispose): free active connections too
4856                 - (proxy_name_owner_changed): free active connections too when NM goes
4857                         away
4858                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4859                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4860
4861 2008-03-26  Dan Williams  <dcbw@redhat.com>
4862
4863         Rework VPN connection handling for a more consistent D-Bus API.  The
4864         VPNManager object has been removed, and active VPN connections are now the
4865         same as any other active connection.  The Manager object's ActivateConnection
4866         and DeactivateConnection methods are used to start and stop a VPN connection,
4867         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4868         When activating a VPN connection, pass the path of the active connection
4869         to which the VPN connection is tied in the 'specific_object' argument.
4870
4871         Consequently, the libnm-glib API has been reworked to match this arrangement,
4872         with the VPNManager object removed, and the NMVPNConnection objects now
4873         being subclasses of NMActiveConnection.
4874
4875 2008-03-25  Dan Williams  <dcbw@redhat.com>
4876
4877         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4878
4879         * initscript/Arch/networkmanager.in
4880           initscript/Arch/networkmanager-dispatcher.in
4881                 - Updates for Arch Linux (gnome.org #523701)
4882
4883 2008-03-25  Dan Williams  <dcbw@redhat.com>
4884
4885         * libnm-glib/nm-ip4-config.c
4886           libnm-glib/nm-active-connection.c
4887           libnm-glib/nm-access-point.c
4888                 - Use nm_object_queue_notify() instead of g_object_notify()
4889
4890         * libnm-glib/nm-device.c
4891                 - (demarshal_ip4_config): distinguish between successful but missing
4892                         ip4-config request, and unsuccessful and missing ip4-config request
4893                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4894                         path
4895                 - Use nm_object_queue_notify() instead of g_object_notify()
4896
4897         * libnm-glib/nm-device-802-11-wireless.c
4898                 - (demarshal_active_ap): distinguish between successfull but missing
4899                         active-ap request, and unsuccessful and missing active-ap request
4900                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4901                         code
4902                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4903                         for the NMClient to notify the device that wireless is disabled,
4904                         and therefore to clear the AP list and active AP
4905                 - Use nm_object_queue_notify() instead of g_object_notify()
4906
4907         * libnm-glib/nm-client.c
4908                 - (poke_wireless_devices_with_rf_status): new function
4909                 - (update_wireless_status): notify wireless devices of the rfkill status
4910                         so they can clean up if needed
4911                 - Use nm_object_queue_notify() instead of g_object_notify()
4912
4913 2008-03-25  Dan Williams  <dcbw@redhat.com>
4914
4915         * libnm-glib/nm-object.c
4916           libnm-glib/nm-object-private.h
4917                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4918                         signals to an idle handler
4919                 - (nm_object_get_property): add a timeout to the D-Bus method call
4920
4921 2008-03-25  Dan Williams  <dcbw@redhat.com>
4922
4923         * introspection/nm-device-cdma.xml
4924           introspection/nm-device-gsm.xml
4925           introspection/Makefile.am
4926           introspection/all.xml
4927                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4928
4929         * src/nm-gsm-device.h
4930           src/nm-gsm-device.c
4931           src/nm-cdma-device.h
4932           src/nm-cdma-device.c
4933           src/Makefile.am
4934                 - Implement PropertiesChanged signals
4935
4936         * libnm-glib/nm-cdma-device.c
4937           libnm-glib/nm-cdma-device.c
4938                 - Attach to PropertiesChanged signals
4939
4940 2008-03-24  Dan Williams  <dcbw@redhat.com>
4941
4942         * libnm-glib/nm-client.c
4943                 - (client_device_added_proxy): add new devices to the internal device
4944                         list so they appear to clients
4945
4946 2008-03-24  Dan Williams  <dcbw@redhat.com>
4947
4948         Massive fixup of libnm-glib to:
4949         a) have all objects (with the exception of VPN) cache their properties and
4950                 update them asynchronously on PropertiesChanged signals from NM
4951         b) return internal const data for most attributes/properties instead of
4952                 allocated values that the caller must free
4953         c) cache wrapped objects such that a given D-Bus path will always map to the
4954                 same GObject returned by libnm-glib
4955         d) remove a few signals and move them to GObject property notifications
4956         e) match recent NM D-Bus API changes for activation/deactivation
4957         f) remove some private functions from libnm-glib headers
4958
4959 2008-03-20  Dan Williams  <dcbw@redhat.com>
4960
4961         * src/nm-manager.c
4962                 - (nm_manager_update_state, manager_device_state_changed,
4963                    nm_manager_activate_device, connection_added_default_handler,
4964                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4965                         queue PropertyChanged singals when the active connections change
4966
4967 2008-03-20  Dan Williams  <dcbw@redhat.com>
4968
4969         * introspection/nm-manager.xml
4970           introspection/nm-manager-client.xml
4971                 - (ActivateConnection): return the object path of the active connection
4972                         on success
4973                 - (GetActiveConnections): remove
4974                 - (DeactivateConnection): new function; deactivate a currently active
4975                         connection
4976                 - Add an ActiveConnections property which returns an array of
4977                         active connection object paths
4978
4979         * introspection/nm-device.xml
4980                 - (Deactivate): remove
4981
4982         * introspection/all.xml
4983                 - Add ActiveConnection introspection
4984
4985         * introspection/nm-active-connection.xml
4986                 - Add the ActiveConnection object
4987
4988         * include/NetworkManager.h
4989                 - Add the Connection.Active D-Bus interface
4990
4991         * src/nm-device-interface.c
4992                 - (impl_device_deactivate): remove
4993
4994         * src/nm-activation-request.c
4995           src/nm-activation-request.c
4996           src/Makefile.am
4997                 - Implement the Connection.Active D-Bus interface
4998
4999         * src/nm-manager.c
5000                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5001                 - (nm_manager_activate_device): return the active connection path
5002                 - (connection_added_default_handler, impl_manager_activate_connection):
5003                         return the active connection to the caller
5004                 - (add_one_connection_element, impl_manager_get_active_connections):
5005                         remove
5006                 - (impl_manager_deactivate_connection): new function; deactivate an
5007                         active connection
5008
5009         * libnm-glib/nm-device.c
5010           libnm-glib/nm-device.h
5011                 - Remove Deactivate() function
5012
5013 2008-03-19  Dan Williams  <dcbw@redhat.com>
5014
5015         * introspection/nm-manager.xml
5016           introspection/nm-manager-client.xml
5017                 - Rename the ActivateDevice method to ActivateConnection to better
5018                         reflect it's usage; it's arguments get reordered a bit too
5019                 - Convert GetActiveConnections method return from a struct to a dict
5020
5021         * include/NetworkManager.h
5022                 - Define the dict keys for return value of GetActiveConnections
5023
5024         * src/nm-manager.c
5025                 - impl_manager_activate_device -> impl_manager_activate_connection
5026                 - (add_one_connection_element): return a populated hash table, not
5027                         a structure
5028
5029         * libnm-glib/nm-client.c
5030           libnm-glib/nm-client.h
5031                 - nm_client_activate_device -> nm_client_activate_connection
5032                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5033                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5034                         instead of the custom structures.  Each element of the returned list
5035                         must be freed with nm_client_free_active_connections_element()
5036
5037 2008-03-18  Dan Williams  <dcbw@redhat.com>
5038
5039         * system-settings/plugins/ifcfg-fedora/parser.c
5040           system-settings/plugins/ifcfg-fedora/parser.h
5041           system-settings/plugins/ifcfg-fedora/plugin.c
5042                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5043                         profiles.  DNS servers and searches must now be stored in the ifcfg
5044                         files themselves
5045
5046 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5047
5048         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5049         print out username and password, it's supposed to be a secret.
5050
5051         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5052         request and set the device state accordingly.
5053
5054 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5055
5056         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5057
5058         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5059
5060 2008-03-18  Dan Williams  <dcbw@redhat.com>
5061
5062         * src/vpn-manager/nm-vpn-connection.c
5063                 - (get_secrets_cb): handle new GetSecrets return format
5064
5065 2008-03-18  Dan Williams  <dcbw@redhat.com>
5066
5067         Adapt system settings service for split 802.1x.
5068
5069         * system-settings/src/nm-system-config-interface.h
5070                 - clarify return value of get_secrets()
5071
5072         * system-settings/src/dbus-settings.c
5073                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5074                 - (check_for_secrets): check if there actually secrets returned by a
5075                         plugin
5076                 - (exported_connection_get_secrets): just return the plugin-returned
5077                         hash of settings' secrets if it looks valid
5078
5079         * system-settings/plugins/ifcfg-fedora/plugin.c
5080                 - (get_secrets): add split secrets with correct format to reply hash
5081
5082         * system-settings/plugins/ifcfg-fedora/parser.c
5083           system-settings/plugins/ifcfg-fedora/parser.h
5084                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5085                    connection_data_free, connection_data_add): keep secrets for
5086                         different settings in different hashes
5087
5088 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5089
5090         Clean up activating device deactivation.
5091
5092         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5093         should be done whether the device activation gets cancelled or the device
5094         is just getting deactivated.
5095         (nm_device_activation_cancel): Remove.
5096         (nm_device_deactivate_quickly): Handle the case where device is activating.
5097
5098         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5099         It does the exact same thing as real_deactivate_quickly().
5100
5101 2008-03-17  Dan Williams  <dcbw@redhat.com>
5102
5103         Split the 802.1x bits out of the wireless-security setting so they are
5104         generalized enough for wired 802.1x to use too.
5105
5106         * introspection/nm-exported-connection.xml
5107                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5108                         of just a hash of the secrets for one setting
5109
5110         * libnm-util/nm-setting-wireless-security.c
5111           libnm-util/nm-setting-wireless-security.h
5112                 - Remove 802.1x-specific stuff
5113                 - Added leap-username and leap-password properties for old-school LEAP
5114
5115         * src/nm-device.c
5116           src/nm-device.h
5117                 - (connection_secrets_updated_cb): take a list of updated settings names,
5118                         not just one
5119
5120         * src/supplicant-manager/nm-supplicant-config.c
5121           src/supplicant-manager/nm-supplicant-config.h
5122                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5123                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5124                         to nm_supplicant_config_add_setting_8021x()
5125                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5126                         the supplicant config
5127
5128         * src/nm-device-802-11-wireless.c
5129                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5130                 - (real_connection_secrets_updated): take a list of updated settings
5131                         names, not just one
5132
5133         * src/nm-device-802-3-ethernet.c
5134           src/nm-cdma-device.c
5135           src/nm-gsm-device.c
5136                 - (real_connection_secrets_updated_cb): take a list of updated settings
5137                         names, not just one
5138
5139         * src/nm-activation-request.c
5140           src/nm-activation-request.h
5141                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5142                         now passes a list of updated settings names, not just one
5143                 - (update_one_setting): new function; handle one updated setting
5144                 - (get_secrets_cb): handle multiple settings returned from the
5145                         settings service; have to be careful of ordering here as there are
5146                         some dependencies between settings (ex. wireless-security and 802.1x
5147                         in some cases)
5148
5149         * src/marshallers/nm-marshal.list
5150                 - new marshaller for connection-secrets-updated signal
5151
5152         * libnm-util/nm-setting-8021x.c
5153                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5154                         methods
5155                 - (verify): a valid 'eap' property is now required
5156
5157         * libnm-util/nm-connection.c
5158                 - (register_default_settings): add priorities to settings; there are
5159                         some dependencies between settings, and during the need_secrets
5160                         calls this priority needs to be respected.  For example, only the
5161                         wireless-security setting knows whether or not the connection is
5162                         going to use 802.1x or now, so it must be asked for secrets before
5163                         any existing 802.1x setting is
5164                 - (nm_connection_lookup_setting_type): expose
5165
5166         * libnm-util/nm-setting-wireless.c
5167                 - (verify): should verify even if all_settings is NULL; otherwise won't
5168                         catch the case where there is missing security
5169
5170         * libnm-util/nm-setting-wireless-security.c
5171                 - Remove everything to do with 802.1x
5172                 - Add old-school LEAP specific properties for username and password
5173                 - (need_secrets): rework LEAP secrets checking
5174                 - (verify): rework for LEAP and 802.1x verification
5175
5176 2008-03-17  Dan Williams  <dcbw@redhat.com>
5177
5178         * src/NetworkManagerPolicy.c
5179                 - (auto_activate_device): always remove the current activation check
5180                         from the pending activation list, otherwise when the policy gets
5181                         destroyed on NM exit it will attempt to free the already freed
5182                         activation check
5183
5184 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5185
5186         * src/backends/NetworkManagerSlackware.c 
5187         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5188
5189         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5190
5191 2008-03-14  Dan Williams  <dcbw@redhat.com>
5192
5193         * src/nm-manager.c
5194                 - (nm_device_interface_get_iface): g_object_get() will return an
5195                         allocated value, so this function must not return const
5196                 - (nm_device_interface_activate): free returned iface
5197
5198 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5199
5200         * libnm-util/Makefile.am: Add new files to build.
5201
5202         * libnm-util/nm-connection.c: Register NMSetting8021x.
5203
5204         * libnm-util/nm-setting-8021x.c
5205         * libnm-util/nm-setting-8021x.h: Implement.
5206
5207 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5208
5209         * libnm-util/Makefile.am: Add new files to build.
5210
5211         * libnm-util/nm-connection.c: Register NMSetting8021x.
5212
5213         * libnm-util/nm-setting-8021x.c
5214         * libnm-util/nm-setting-8021x.h: Implement.
5215
5216 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5217
5218         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5219         data.
5220
5221 2008-03-14  Dan Williams  <dcbw@redhat.com>
5222
5223         * include/wireless-helper.h
5224           include/Makefile.am
5225                 - One place for all the junk needed for #including wireless.h
5226
5227         * test/nm-tool.c
5228           src/NetworkManagerAP.c
5229           src/wpa.c
5230           src/Makefile.am
5231           libnm-util/nm-utils.c
5232           libnm-util/nm-setting-wireless.c
5233           libnm-glib/nm-device-802-11-wireless.c
5234           libnm-glib/nm-access-point.c
5235           libnm-glib/libnm-glib-test.c
5236                 - include wireless-helper.h, not iwlib.h
5237
5238         * configure.in
5239                 - Don't need libiw really, just need to check for wireless.h
5240
5241         * src/kernel-types.h
5242                 - Remove; used types moved into wpa.c
5243
5244         * src/nm-device-802-11-wireless.c
5245                 - (nm_device_802_11_wireless_update_signal_strength,
5246                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5247                    nm_device_802_11_wireless_set_mode,
5248                    nm_device_802_11_wireless_get_frequency,
5249                    nm_device_802_11_wireless_get_ssid,
5250                    nm_device_802_11_wireless_set_ssid,
5251                    nm_device_802_11_wireless_get_bitrate,
5252                    nm_device_802_11_wireless_get_bssid,
5253                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5254                         instead of iwlib functions
5255
5256 2008-03-14  Dan Williams  <dcbw@redhat.com>
5257
5258         * src/ppp-manager/nm-ppp-manager.c
5259                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5260                         should only take the DBusGMethodInvocation argument, not user/pass
5261                         too.  With dbus-glib, async functions only take 2 C arguments since
5262                         the real dbus method arguments get passed back with
5263                         dbus_g_method_return()
5264
5265 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5266
5267         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5268         Adapt the changes of NMSettingIP4Config.
5269
5270 2008-03-13  Dan Williams  <dcbw@redhat.com>
5271
5272         * src/NetworkManagerUtils.c
5273           src/NetworkManagerUtils.h
5274                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5275
5276         * src/NetworkManagerAP.c
5277           src/nm-device-802-11-wireless.c
5278           src/nm-device-802-3-ethernet.c
5279                 - s/iw_ether_ntop/nm_ether_ntop/g
5280
5281 2008-03-13  Dan Williams  <dcbw@redhat.com>
5282
5283         * src/NetworkManagerPolicy.c
5284                 - (update_routing_and_dns): never set the default route through an
5285                         IPv4LL addressed device
5286
5287 2008-03-13  Dan Williams  <dcbw@redhat.com>
5288
5289         * NetworkManagerUtils.c
5290           NetworkManagerUtils.h
5291                 - Remove NMSock stuff
5292                 - Remove the completion stuff
5293
5294         * nm-device.c
5295           nm-device.h
5296           NetworkManager.c
5297           NetworkManagerSystem.c
5298           autoip.c
5299           nm-device-802-11-wireless.c
5300           nm-device-802-3-ethernet.c
5301                 - Remove NMSock and completion stuff
5302                 - Remove nm_ioctl_info()
5303
5304 2008-03-12  Dan Williams  <dcbw@redhat.com>
5305
5306         * src/nm-device.c
5307                 - (merge_ip4_config): avoid duplicates
5308
5309 2008-03-12  Dan Williams  <dcbw@redhat.com>
5310
5311         * libnm-util/nm-setting-ip4-config.c
5312           libnm-util/nm-setting-ip4-config.h
5313                 - Remove 'manual' and 'autoip' properties
5314                 - Add 'method' property
5315                 - (verify): fix verification with 'method'
5316                 - (finalize): free 'method'
5317                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5318                         up for 'method'
5319
5320         * src/nm-device.c
5321                 - (real_act_stage3_ip_config_start): check IP4Config method
5322                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5323                         the future
5324                 - (merge_ip4_config): IP settings are valid with DHCP too
5325                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5326                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5327
5328         * src/nm-device-802-11-wireless.c
5329                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5330                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5331                         only on demand
5332
5333         * system-settings/plugins/ifcfg-fedora/parser.c
5334           system-settings/plugins/ifcfg-suse/parser.c
5335                 - (make_ip4_setting): fix up for 'method'
5336
5337 2008-03-12  Dan Williams  <dcbw@redhat.com>
5338
5339         * system-settings/plugins/ifcfg-fedora/parser.c
5340           system-settings/plugins/ifcfg-fedora/parser.h
5341                 - (get_ifcfg_name): ignore more file suffixes
5342                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5343
5344 2008-03-12  Dan Williams  <dcbw@redhat.com>
5345
5346         * configure.in
5347                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5348
5349 2008-03-12  Dan Williams  <dcbw@redhat.com>
5350
5351         * system-settings/plugins/ifcfg-fedora/plugin.c
5352                 - (write_auto_wired_connection): new function; write out an auto
5353                         wired connection file since the applet isn't doing it any more
5354                 - (reload_all_connections): write out the auto wired connection file
5355                         if there aren't any wired connections already
5356                 - (init): don't leak a GError
5357
5358 2008-03-12  Dan Williams  <dcbw@redhat.com>
5359
5360         * src/nm-device-interface.c
5361                 - (nm_device_interface_activate): print the ID of the connection
5362                         that's about to be activated
5363
5364 2008-03-12  Dan Williams  <dcbw@redhat.com>
5365
5366         Harmonize the 802.11 bitrate API
5367
5368         * introspection/nm-access-point.xml
5369                 - 'Rate' -> 'MaxBitrate'; clarify units
5370
5371         * introspection/nm-device-802-11-wireless.xml
5372                 - Clarify units of 'Bitrate'
5373
5374         * src/NetworkManagerAP.c
5375           src/NetworkManagerAP.h
5376                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5377                         property to 'max-bitrate'
5378                 - (foreach_property_cb): convert rate to Kb/s
5379
5380         * src/nm-device-802-11-wireless.c
5381                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5382
5383         * libnm-glib/nm-access-point.c
5384           libnm-glib/nm-access-point.h
5385                 - 'rate' -> 'max-bitrate'
5386
5387         * test/nm-tool.c
5388           libnm-glib/libnm-glib-test.c
5389                 - Fix up for these changes
5390
5391 2008-03-12  Dan Williams  <dcbw@redhat.com>
5392
5393         * src/nm-device.c
5394                 - (nm_device_set_ip4_config): don't send property notifications when
5395                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5396                         which dbus-glib can't parse because the value is NULL, which isn't
5397                         a legal object path.  Setting the IP4 config to NULL is only
5398                         valid when deactivating a device anyway, so the device state change
5399                         will alert listeners that the ip4 config is invalid.
5400
5401 2008-03-12  Dan Williams  <dcbw@redhat.com>
5402
5403         * src/nm-properties-changed-signal.c
5404                 - (add_to_string): better handling of NULL objects
5405
5406 2008-03-12  Dan Williams  <dcbw@redhat.com>
5407
5408         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5409         convert the libnm-glib NMDevice8023Ethernet to cached properties
5410
5411         * introspection/nm-device-802-3-ethernet.xml
5412                 - New 'Carrier' property
5413                 - New 'PropertiesChanged' signal
5414
5415         * introspection/nm-device.xml
5416                 - Remove 'Carrier' property
5417                 - Remove 'CarrierChanged' signal
5418
5419         * src/nm-device-interface.c
5420           src/nm-device-interface.h
5421                 - (nm_device_interface_init): remove 'carrier' property and
5422                         'carrier-changed' signal
5423
5424         * src/nm-device.c
5425           src/nm-device.h
5426                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5427                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5428                         the link here; wired device will handle that
5429                 - (handle_dhcp_lease_change): don't bother updating link here
5430                 - (get_property, nm_device_class_init): remove carrier property
5431
5432         * src/nm-device-802-11-wireless.c
5433                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5434                         real_update_link(); wireless devices don't use carrier at all
5435                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5436                    supplicant_iface_connection_state_cb_handler,
5437                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5438
5439         * src/nm-device-802-3-ethernet.c
5440           src/nm-device-802-3-ethernet.h
5441                 - (nm_device_802_3_ethernet_carrier_on,
5442                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5443                         instead of nm_device_set_carrier()
5444                 - (device_state_changed): update link from sysfs on activation;
5445                         replaces real_update_link()
5446                 - (real_update_link): remove, replaced by device_state_changed()
5447                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5448                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5449                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5450                         new get_carrier function
5451                 - (get_property): add 'carrier' property
5452                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5453                         hook into property-changed signal helper
5454
5455         * src/NetworkManagerPolicy.c
5456                 - (device_carrier_changed): will only ever be called with a wired device
5457                 - (device_added): only hook up to carrier-changed for wired devices
5458
5459         * libnm-glib/nm-device.c
5460           libnm-glib/nm-device.h
5461                 - (constructor, nm_device_class_init): remove carrier-changed signal
5462                 - (device_carrier_changed_proxy): remove; unused
5463                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5464
5465         * libnm-glib/nm-device-802-3-ethernet.c
5466           libnm-glib/nm-device-802-3-ethernet.h
5467                 - Convert to cached properties like AP and Wireless objects
5468                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5469                         instead of a 'char *', return value should not be freed
5470                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5471                 - (constructor): hook into properties-changed helper
5472                 - (set_property, get_property): new functions
5473                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5474
5475         * test/nm-tool.c
5476                 - (detail_device): strdup the wired hardware address too since it's
5477                         cached now
5478
5479         * libnm-glib/libnm-glib-test.c
5480                 - (dump_wired): strdup the wired hardware address too since it's
5481                         cached now
5482
5483 2008-03-12  Dan Williams  <dcbw@redhat.com>
5484
5485         * libnm-util/nm-setting-ip4-config.c
5486           libnm-util/nm-setting-ip4-config.h
5487                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5488                         the 'autoip' property from the spec
5489
5490 2008-03-11  Dan Williams  <dcbw@redhat.com>
5491
5492         * src/backends/NetworkManagerGeneric.c
5493           src/backends/NetworkManagerGeneric.h
5494                 - (nm_generic_device_get_use_dhcp): remove
5495
5496 2008-03-11  Dan Williams  <dcbw@redhat.com>
5497
5498         * src/nm-device.c
5499                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5500                         already in nm_device_set_ip4_config()
5501                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5502                         due to a DHCP rebind fails
5503                 - (nm_device_set_ip4_config): send property notifications when the
5504                         ip4 config changes
5505                 - (get_property): only report IP4Config property during valid states
5506
5507         * src/NetworkManagerPolicy.c
5508                 - (update_routing_and_dns): ignore devices that don't have an ip4
5509                         config; add parameter 'force_update' to allow callers to specify
5510                         that changes should be made even if the default device doesn't change
5511                 - (device_ip4_config_changed): update DNS and routing when the device's
5512                         IP4Config changes, like for DHCP updates
5513                 - (device_added): listen for ip4-config property changes
5514
5515 2008-03-11  Dan Williams  <dcbw@redhat.com>
5516
5517         Fix address handling as a result of DHCP rebind/renew/reboot.
5518
5519         * src/NetworkManagerSystem.c
5520                 - (check_one_address): delete an address if it doesn't match a given
5521                         one for the same interface
5522                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5523                         be smarter about flushing addresses (only flush ones that don't
5524                         match the one we're about to apply)
5525
5526         * src/backends/NetworkManagerDebian.c
5527           src/backends/NetworkManagerSuSE.c
5528           src/backends/NetworkManagerArch.c
5529           src/backends/NetworkManagerSlackware.c
5530           src/backends/NetworkManagerRedHat.c
5531           src/backends/NetworkManagerPaldo.c
5532           src/backends/NetworkManagerFrugalware.c
5533           src/backends/NetworkManagerGentoo.c
5534                 - (nm_system_delete_default_route): remove
5535
5536         * src/backends/NetworkManagerGeneric.c
5537           src/backends/NetworkManagerGeneric.h
5538                 - (nm_generic_enable_loopback): fix the loopback device label
5539                 - (nm_generic_delete_default_route): remove; no longer used
5540
5541 2008-03-11  Dan Williams  <dcbw@redhat.com>
5542
5543         * src/nm-device-interface.h
5544                 - Delimit property name words with '-', otherwise g_object_notify()
5545                         doesn't work the way we expect
5546
5547 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5548
5549         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5550
5551 2008-03-11  Dan Williams  <dcbw@redhat.com>
5552
5553         * src/NetworkManagerPolicy.c
5554                 - (update_routing_and_dns): don't change anything if the default device
5555                         hasn't changed; print something out when switching the default route
5556                         and DNS
5557
5558 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5559
5560         Implement PPPoE.
5561
5562         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5563         setting. Use "nic-$eth".
5564
5565         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5566         the device is activating here to fix a race condition.
5567
5568         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5569
5570         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5571         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5572         (nm_ppp_manager_start): Take activation request instead of connection, we might
5573         need it for asking secrets.
5574         (nm_ppp_manager_update_secrets): Implement.
5575
5576         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5577         ppp manager start. It might be needed for asking secrets.
5578
5579         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5580         (ppp_state_changed): Handle pppd daemon disappearing.
5581         (pppoe_stage2_config): Send activation request to ppp manager start.
5582
5583         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5584
5585         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5586         username and password.
5587         
5588 2008-03-10  Dan Williams  <dcbw@redhat.com>
5589
5590         * src/nm-device.c
5591                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5592                         response to a DHCP lease change
5593                 - (dhcp_state_changed): handle DHCP lease changes while activated
5594                 - (nm_device_set_ip4_config): remove a previously set named config
5595                         when setting an ip4 config
5596
5597 2008-03-10  Dan Williams  <dcbw@redhat.com>
5598
5599         * src/nm-serial-device.c
5600                 - (nm_serial_device_send_command): report errno on error
5601                 - (get_reply_got_data): limit the size of the overall buffer
5602                 - (wait_for_reply_info_destroy): destroy result string
5603                 - (wait_for_reply_got_data): append received data to an overall buffer
5604                         until timeout, filled buffer, or error instead of keeping a per-call
5605                         buffer.  Some devices send data slowly enough that this function
5606                         gets called multiple times for the same command stream.
5607                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5608                         wait_for_reply_got_data() here
5609
5610 2008-03-10  Dan Williams  <dcbw@redhat.com>
5611
5612         * src/nm-cdma-device.c
5613                 - (do_dial, init_modem): handle errors from
5614                         nm_serial_device_send_command_string()
5615
5616         * src/nm-gsm-device.c
5617                 - (do_dial, manual_registration, automatic_registration_get_network,
5618                    automatic_registration, enter_pin, check_pin, init_modem): handle
5619                         errors from nm_serial_device_send_command_string()
5620
5621 2008-03-10  Dan Williams  <dcbw@redhat.com>
5622
5623         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5624
5625         * src/named-manager/nm-named-manager.c
5626                 - (compute_searches): prefer searches before domains
5627                 - (compute_domain): new function
5628                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5629                 - (merge_one_ip4_config): if there are no searches in the source config,
5630                         merge domains of the source config into the target config
5631                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5632
5633 2008-03-10  Dan Williams  <dcbw@redhat.com>
5634
5635         * src/nm-serial-device.c
5636                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5637                 - (wait_for_reply_got_data): try to handle slower serial devices where
5638                         the reply is broken up into multiple reads by concatenating replies
5639                         together until either an error is received or the search string is
5640                         found
5641
5642 2008-03-10  Dan Williams  <dcbw@redhat.com>
5643
5644         * src/nm-device.c
5645                 - (nm_device_bring_down): deactivate the device if it's activating too,
5646                         not just if it's already activated.  This makes sure that everything
5647                         from an association attempt is cleaned up (like DHCP for example)
5648
5649 2008-03-10  Dan Williams  <dcbw@redhat.com>
5650
5651         * src/nm-serial-device.c
5652                 - (config_fd): report error from TCSETA
5653                 - (nm_serial_device_open): fail when config_fd() fails
5654
5655 2008-03-10  Dan Williams  <dcbw@redhat.com>
5656
5657         * src/nm-ip4-config.c
5658                 - (nm_ip4_config_init): allocate searches list
5659                 - (finalize): free searches list
5660
5661 2008-03-09  Dan Williams  <dcbw@redhat.com>
5662
5663         Patch from Bas Zoetekouw <bas@debian.org>
5664
5665         * src/dhcp-manager/nm-dhcp-manager.c
5666                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5667
5668 2008-03-09  Dan Williams  <dcbw@redhat.com>
5669
5670         Patch from Bas Zoetekouw <bas@debian.org>
5671
5672         * src/nm-ip4-config.c
5673           src/nm-ip4-config.h
5674                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5675                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5676                         domains.  'searches' is the correct way to store multiple search
5677                         domains, whereas 'domains' is really just supposed to store one
5678                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5679                         search domains to the client.
5680                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5681
5682 2008-03-09  Dan Williams  <dcbw@redhat.com>
5683
5684         * src/dhcp-manager/nm-dhcp-manager.c
5685                 - (dhclient_run): send interface-specific config files to dhclient
5686
5687 2008-03-07  Dan Williams  <dcbw@redhat.com>
5688
5689         * system-settings/plugins/ifcfg-fedora/parser.c
5690                 - (is_wireless_device): new function; test a device for wireless
5691                         extensions
5692                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5693                         test the device for wireless extensions to determine the type
5694
5695 2008-03-07  Dan Williams  <dcbw@redhat.com>
5696
5697         Change manager's StateChange signal to StateChanged for consistency.
5698
5699         * introspection/nm-manager.xml
5700                 - Add 'StateChanged' signal
5701                 - Move 'StateChange' down to the deprecated section
5702
5703         * src/nm-hal-manager.c
5704                 - (nm_hal_manager_new): connect to 'state-changed' instead
5705
5706         * src/NetworkManagerPolicy.c
5707                 - (nm_policy_new): connect to 'state-changed' instead
5708
5709         * src/nm-manager.c
5710           src/nm-manager.h
5711                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5712                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5713                         of 'state-change'
5714
5715         * libnm-glib/nm-client.c
5716           libnm-glib/nm-client.h
5717                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5718                         track and proxy 'state-changed' instead of 'state-change'
5719
5720 2008-03-07  Dan Williams  <dcbw@redhat.com>
5721
5722         First pass of multiple active device support.  Expect bugs.
5723
5724         * src/nm-ip4-config.c
5725           src/nm-ip4-config.h
5726                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5727                         there are better ways to do this in the named manager
5728
5729         * src/nm-device.c
5730           src/nm-device.h
5731                 - (nm_device_can_activate): return whether the device can activate a
5732                         connection right now; taking into account things like carrier state
5733                         and rfkill state
5734                 - (nm_device_get_best_auto_connection): renamed from
5735                         nm_device_get_best_connection
5736                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5737                         device subclasses themselves, so that each device can override the
5738                         MTU from it's NMSetting subclass if needed
5739                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5740                         in NetworkManagerSystem.c, not here
5741
5742         * src/named-manager/nm-named-manager.c
5743           src/named-manager/nm-named-manager.h
5744                 - (nm_named_manager_name_owner_changed,
5745                    nm_named_manager_dbus_connection_changed): fix for changes to
5746                         rewrite_resolv_conf()
5747                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5748                         from parameter list
5749                 - (merge_one_ip4_config): new function; merge ip4 configs together
5750                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5751                         ip4 configs; the VPN config takes precedence, then the best
5752                         device config, then the rest of the configs
5753                 - (get_domain_for_config): take the NMNamedManager as an argument
5754                         to check whether the config is the VPN config
5755                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5756                         attribute from ip4 configs
5757                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5758                 - (remove_ip4_config_from_named): fix for changes to
5759                         get_domain_for_config()
5760                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5761                         based on its type; callers must pass in the type now
5762                 - (get_last_default_domain): remove, unused
5763                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5764
5765         * src/nm-device-802-11-wireless.c
5766                 - (real_can_activate): new function
5767                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5768                 - (real_act_stage4_get_ip4_config): handle MTU override
5769
5770         * src/nm-device-802-3-ethernet.c
5771                 - (real_can_activate): new function
5772                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5773                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5774
5775         * src/vpn-manager/nm-vpn-connection.c
5776                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5777                         attribute on the ip4 config
5778
5779         * src/NetworkManagerPolicy.c
5780                 - (nm_policy_auto_get_best_device): remove
5781                 - (nm_policy_device_change_check): remove
5782                 - (update_default_route): new function; set the default route via
5783                         the specified device
5784                 - (get_device_priority): new function; return the priority number of
5785                         a device type WRT which one should have the default route.  Order is
5786                         (highest to lowest)  wired, wireless, GSM, CDMA.
5787                 - (update_routing_and_dns): new function; determine which device should
5788                         have the default route, then update the routing table and DNS
5789                 - (maybe_auto_activate_device): new function; if a device is now
5790                         available for activation, find out what connection it would like to
5791                         activate and do it
5792                 - (schedule_activate_check): new function; if a device can be activated
5793                         now, schedule the activation.  Each device may have only one
5794                         pending activation at a given time.
5795                 - (device_state_changed): if activation was canceled, try again,
5796                         possibly with another connection; if the device was activated,
5797                         update routing and DNS; if the device was deactivated, try again
5798                         with another connection
5799                 - (device_carrier_changed): if there is no carrier, deactivate the
5800                         device; otherwise schedule an activation check for the device
5801                 - (wireless_networks_changed): schedule an activation check for the
5802                         device
5803                 - (device_added): keep track of the signal handler IDs so they can
5804                         be removed when the device goes away
5805                 - (device_removed): remove any signal handlers that might be attached
5806                         to the device; update routing and DNS
5807                 - (schedule_activate_all): new function
5808                 - (connections_added, connection_added, connection_updated): when
5809                         connections change, schedule all devices for an activation check
5810                 - (connection_removed): when a device is deactivated because its
5811                         connection was removed, schedule another activation check for it
5812                 - (nm_policy_destroy): destroy pending activations and disconnect
5813                         all device signal handlers
5814
5815         * src/nm-manager.c
5816                 - (nm_manager_activate_device): if the device was already actived,
5817                         deactivate it
5818                 - (deactivate_old_device): remove
5819                 - (connection_added_default_handler, impl_manager_activate_device):
5820                         don't deactivate other devices when activating this one
5821
5822         * src/backends/NetworkManagerGentoo.c
5823           src/backends/NetworkManagerFrugalware.c
5824           src/backends/NetworkManagerPaldo.c
5825           src/backends/NetworkManagerRedHat.c
5826           src/backends/NetworkManagerSlackware.c
5827           src/backends/NetworkManagerArch.c
5828           src/backends/NetworkManagerSuSE.c
5829           src/backends/NetworkManagerDebian.c
5830                 - (nm_system_get_mtu): remove; MTU should be provided through the
5831                         distro's system settings service plugin instead
5832                 - (nm_system_device_add_default_route_via_device): remove
5833                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5834                 - (nm_system_device_replace_default_route): new function; call
5835                         generic implementation
5836
5837         * src/backends/NetworkManagerGeneric.c
5838           src/backends/NetworkManagerGeneric.h
5839                 - (nm_generic_device_add_default_route_via_device,
5840                    nm_generic_device_add_default_route_via_device_with_iface): remove
5841                 - (nm_generic_device_replace_default_route): replace the default route
5842                         with the given route via some gateway
5843
5844         * src/NetworkManagerSystem.c
5845           src/NetworkManagerSystem.h
5846                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5847                         to routing and DNS; but set the MTU here
5848                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5849                         ip_iface of the active device; use the standard MTU setting function
5850                 - (nm_system_set_mtu): remove
5851                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5852
5853 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5854
5855         Rework the interaction between ppp manager and pppd plugin. Register a well
5856         known DBUS service in manager and let the plugin call it's methods instead
5857         of listening plugin's signals.
5858
5859         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5860         of emitting signals.
5861
5862         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5863
5864         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5865
5866         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5867         nm_ppp_manager_start().
5868
5869         * introspection/nm-ppp-manager.xml: New file.
5870
5871         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5872         the case correctly where driver is trying to send -1 for the speed, which gets
5873         casted to u16 and thus is always > 0.
5874
5875 2008-03-07  Dan Williams  <dcbw@redhat.com>
5876
5877         * src/nm-hal-manager.c
5878                 - (nm_get_device_driver_name): use net.originating_device first, fall
5879                         back to physical device.  HAL has deprecated physical_device.
5880
5881         * libnm-glib/nm-device.c
5882                 - (get_product_and_vendor): use net.originating_device first, fall
5883                         back to physical device.  HAL has deprecated physical_device.
5884                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5885
5886 2008-03-07  Dan Williams  <dcbw@redhat.com>
5887
5888         * src/nm-netlink.c
5889                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5890                         last commit; fix that
5891                 - (get_link_cache): print error string
5892
5893 2008-03-07  Dan Williams  <dcbw@redhat.com>
5894
5895         * src/nm-netlink.c
5896                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5897                         don't need this hack any more (Benoit Boissinot)
5898
5899 2008-03-06  Dan Williams  <dcbw@redhat.com>
5900
5901         * autogen.sh
5902                 - Die gnome-common, die
5903
5904 2008-03-04  Dan Williams  <dcbw@redhat.com>
5905
5906         Patch from Michael Biebl <biebl@debian.org>
5907
5908         * NetworkManager.pc.in
5909                 - doesn't actually depend on dbus-1
5910
5911         * libnm-util/nm-utils.h
5912                 - remove unused #include <dbus/dbus.h>
5913
5914         * libnm-glib/libnm_glib.pc.in
5915                 - depends on glib and dbus-glib
5916
5917 2008-03-02  Dan Williams  <dcbw@redhat.com>
5918
5919         * src/NetworkManagerPolicy.c
5920                 - s/device_state_changed_idle_id/update_state_id/
5921
5922 2008-03-02  Dan Williams  <dcbw@redhat.com>
5923
5924         * src/nm-device.c
5925           src/nm-device.h
5926           src/nm-device-802-11-wireless.c
5927           src/nm-device-802-3-ethernet.c
5928           src/NetworkManagerPolicy.c
5929                 - s/link_active/carrier
5930                 - nm_device_set_active_link() -> nm_device_set_carrier()
5931                 - nm_device_has_active_link() -> nm_device_get_carrier()
5932
5933 2008-03-02  Dan Williams  <dcbw@redhat.com>
5934
5935         * system-settings/plugins/ifcfg-fedora/parser.c
5936                 - (make_wireless_setting): fail connection creation on missing SSID
5937
5938 2008-02-29  Dan Williams  <dcbw@redhat.com>
5939
5940         * src/NetworkManagerPolicy.c
5941                 - (nm_policy_device_change_check): ensure that a previously active
5942                         device with a system connection has a link before denying a switch
5943                         to a user connection
5944
5945 2008-02-29  Dan Williams  <dcbw@redhat.com>
5946
5947         * src/nm-device-802-11-wireless.c
5948                 - (link_timeout_cb): try again if scanning; deactivate the device when
5949                         activated if the link dies
5950                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5951                         15 seconds
5952
5953 2008-02-29  Dan Williams  <dcbw@redhat.com>
5954
5955         * src/nm-device-802-11-wireless.c
5956           src/nm-device-802-11-wireless.h
5957                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5958                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5959                 - (device_cleanup): reset the scan interval lower when the device
5960                         deactivates
5961                 - (can_scan): base decision mostly off device state, not supplicant
5962                         interface state since the supplicant interface state isn't a
5963                         great indicator of whether the device is active or not
5964                 - (request_wireless_scan): clean up; schedule the next scan here
5965                 - (schedule_scan): only back the scan interval off if a new scan
5966                         actually gets scheduled; and make scan intervals tighter when the
5967                         device is disconnected
5968                 - (supplicant_iface_state_cb_handler): fold in the bits of
5969                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5970                         interval to minimum
5971                 - (activation_success_handler): reset scan interval to something
5972                         reasonable 
5973
5974 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5975
5976         reviewed by: Steev <steev@steev.net>
5977
5978         * configure.in:
5979         * src/backends/NetworkManagerGentoo.c:
5980         (nm_system_restart_mdns_responder):
5981                 Howl is no longer a supported mDNS provider
5982
5983 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5984
5985         Get rid of a bunch of unused distro specific functions.
5986
5987 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5988
5989         Implement suse plugin for system settings daemon.
5990
5991         * system-settings/plugins/ifcfg-suse/*: Implement.
5992
5993         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5994         suse.
5995
5996         * configure.in: Check (without failing) for gio.
5997         Create ifcfg-suse plugin's Makefile.
5998
5999 2008-02-20  Dan Williams  <dcbw@redhat.com>
6000
6001         * libnm-util/nm-connection.c
6002           libnm-util/nm-connection.h
6003                 - (nm_connection_compare): accept compare flags and pass them to the
6004                         setting compare function
6005
6006         * libnm-util/nm-setting.c
6007           libnm-util/nm-setting.h
6008                 - (nm_setting_compare): accept compare flags; ignore properties that are
6009                         marked fuzzy
6010
6011         * libnm-util/nm-setting-connection.c
6012           libnm-util/nm-setting-wireless.c
6013           libnm-util/nm-setting-ppp.c
6014           libnm-util/nm-setting-wired.c
6015                 - Mark some setting properties as ignorable when doing a fuzzy compare
6016
6017         * src/nm-device.c
6018                 - (device_activation_precheck): use exact compare
6019
6020 2008-02-20  Dan Williams  <dcbw@redhat.com>
6021
6022         * src/NetworkManagerPolicy.c
6023                 - (nm_policy_device_change_check): get scope off the connection, not
6024                         using the manager helper
6025
6026         * src/nm-manager.c
6027           src/nm-manager.h
6028                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6029                 - (connection_get_settings_cb): set scope and path on connection, not
6030                         using GObject data items
6031                 - (get_connection_for_proxy): don't need to return path, since that
6032                         can be gotten from the connection
6033                 - (get_connection_for_proxy): get path off the connection, not from
6034                         parameters
6035                 - (connection_removed_cb, connection_updated_cb): don't need to get
6036                         path from get_connection_for_proxy(); get scope off the connection
6037                         instead of using GObject data items
6038                 - (connection_added_default_handler, add_one_connection_element): use
6039                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6040                 - (nm_manager_get_connection_dbus_path): remove
6041                 - (nm_manager_get_connection_scope): remove
6042
6043 2008-02-20  Dan Williams  <dcbw@redhat.com>
6044
6045         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6046                 on confusing names
6047
6048         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6049                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6050                 NMExportedConnection
6051
6052         * Internally rename NMConnectionType -> NMConnectionScope
6053
6054         * Provide default implementations of the 'get_id' and 'get_settings' methods
6055                 of NMExportedConnection
6056
6057 2008-02-15  Dan Williams  <dcbw@redhat.com>
6058
6059         * src/nm-device-802-11-wireless.c
6060                 - (device_cleanup): release the AP list here too so that the AP list
6061                         doesn't survive across suspend/resume and up/down.  There is some
6062                         room for optimization, for example blow the list away when the card
6063                         brought back up, but only if the device has only been down for a
6064                         minute or more.
6065
6066 2008-02-15  Dan Williams  <dcbw@redhat.com>
6067
6068         * src/nm-hal-manager.c
6069                 - (modem_device_creator): recognize new HAL modem capabilities
6070
6071 2008-02-12  Dan Williams  <dcbw@redhat.com>
6072
6073         * system-settings/plugins/ifcfg-fedora/plugin.c
6074                 - (watch_path): handle IN_DELETE_SELF too
6075                 - (handle_connection_changed): notify when removing a connection
6076                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6077                         case of a file moving out of the profile directory
6078
6079 2008-02-12  Dan Williams  <dcbw@redhat.com>
6080
6081         * system-settings/plugins/ifcfg-fedora/parser.c
6082                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6083
6084 2008-02-12  Dan Williams  <dcbw@redhat.com>
6085
6086         * libnm-util/nm-utils.c
6087                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6088                         just any empty array
6089
6090 2008-02-12  Dan Williams  <dcbw@redhat.com>
6091
6092         * system-settings/src/nm-system-config-interface.c
6093           system-settings/src/nm-system-config-interface.h
6094                 - (load_connections): get_connections() should now return an allocated
6095                         GSList that the system settings service will free
6096
6097         * system-settings/plugins/ifcfg-fedora/plugin.c
6098           system-settings/plugins/ifcfg-fedora/parser.h
6099           system-settings/plugins/ifcfg-fedora/parser.c
6100                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6101                         in the profile directory, handle resolv.conf file changes
6102
6103 2008-02-10  Dan Williams  <dcbw@redhat.com>
6104
6105         * src/nm-device-802-3-ethernet.c
6106                 - (real_bring_up): save the supplicant interface state signal id
6107                 - (real_bring_down): disconnect from the supplicant interface state
6108                         signal
6109
6110 2008-02-07  Dan Williams  <dcbw@redhat.com>
6111
6112         * initscript/RedHat/NetworkManager.in
6113           initscript/RedHat/NetworkManagerDispatcher.in
6114                 - Add new-style LSB init headers
6115
6116 2008-02-07  Dan Williams  <dcbw@redhat.com>
6117
6118         * system-settings/src/dbus-settings.c
6119           system-settings/src/dbus-settings.h
6120                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6121                         table of secrets
6122                 - (connection_settings_get_secrets): consolidate error returns into
6123                         one place; use the new get_secrets() plugin interface function to
6124                         get secrets from the plugin itself rather than using GObject data
6125                         magic
6126
6127         * system-settings/src/main.c
6128                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6129                    load_connections): keep a private list of the plugin-returned
6130                         connections, don't use the plugin's GSList
6131
6132         * system-settings/plugins/ifcfg-fedora/plugin.c
6133                 - (watch_path): watch the path, not the filename (duh)
6134                 - (reload_all_connections): use the direct hash/equal functions; the
6135                         ones for int aren't appropriate here
6136                 - (get_secrets, system_config_interface_init): implement the
6137                         get_secrets() function
6138                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6139                         now in the connection's ConnectionData instead of being a GObject
6140                         data property
6141                 - (handle_profile_item_changed): ifcfg file path is now in the
6142                         connection's ConnectionData instead of being a GObject data property;
6143                         be sure to copy secrets over from the new connection to the existing
6144                         connection when updating the connection's settings
6145                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6146                         file descriptor
6147
6148         * system-settings/plugins/ifcfg-fedora/parser.c
6149           system-settings/plugins/ifcfg-fedora/parser.h
6150                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6151                    connection_data_copy_secrets, connection_data_free,
6152                    connection_data_add): new functions; connection data manipulation
6153                 - (make_wireless_security_setting): stuff secrets into the
6154                         connection data, not as GObject data items; make sure to close
6155                         the keys ifcfg file
6156                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6157                         connection data to the connection
6158
6159 2008-02-07  Dan Williams  <dcbw@redhat.com>
6160
6161         * system-settings/src/nm-system-config-interface.c
6162           system-settings/src/nm-system-config-interface.h
6163                 - Add a get_secrets() interface function to retrieve secrets for a
6164                         specific setting of a specific connection.  Document the interface
6165                         a bit more too.
6166
6167 2008-02-07  Dan Williams  <dcbw@redhat.com>
6168
6169         * src/nm-device-802-11-wireless.c
6170                 - (handle_auth_or_fail): new function; consolidate device activation
6171                         failure check after a certain number of failures getting secrets
6172                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6173                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6174                         the connection if secrets were requested more than a few times
6175                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6176                         tries here; otherwise they are cleared before the IP configure
6177                         timeout, which happens with open system WEP when key is wrong
6178                 - (activation_success_handler): clear wireless secrets tries here too
6179
6180 2008-02-07  Dan Williams  <dcbw@redhat.com>
6181
6182         * src/NetworkManagerPolicy.c
6183                 - (connection_updated): clear invalid tag when connection gets updated
6184                         to allow that connection to be tried again
6185                 - (nm_policy_new): save signal ids so they can be disconnected when
6186                         the policy is destroyed
6187                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6188                         and disconnect all signals from the manager object so that none
6189                         of the policy functions gets called after the policy is destroyed
6190
6191 2008-02-06  Dan Williams  <dcbw@redhat.com>
6192
6193         * src/nm-manager.c
6194                 - (finalize): remove devices a bit earlier; clean up system settings
6195                         poke
6196                 - (nm_manager_name_owner_changed): clean up system settings poke when
6197                         the service appears, and try to restart it if it fails
6198                 - (poke_system_settings_daemon_cb): try to get the system settings
6199                         service started through D-Bus service activation
6200                 - (initial_get_connections): start the system settings daemon if it's
6201                         not already running
6202
6203 2008-02-05  Dan Williams  <dcbw@redhat.com>
6204
6205         * src/supplicant-manager/nm-supplicant-config.c
6206                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6207                         broadcast networks too
6208
6209 2008-02-04  Dan Williams  <dcbw@redhat.com>
6210
6211         * system-settings/plugins/ifcfg-fedora/parser.c
6212                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6213                         need key_mgmt set too
6214                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6215                         .bak files; ensure that an error is set whenever NULL gets returned
6216
6217 2008-02-04  Dan Williams  <dcbw@redhat.com>
6218
6219         * system-settings/src/Makefile.am
6220                 - Install D-Bus service activation file for the system settings
6221                         service
6222
6223         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6224                 - D-Bus service activation file for system settings service
6225
6226 2008-02-04  Dan Williams  <dcbw@redhat.com>
6227
6228         * system-settings/src/main.c
6229                 - (parse_config_file): parse a config file
6230                 - (main): accept --config option and read plugins from config file
6231
6232 2008-02-04  Dan Williams  <dcbw@redhat.com>
6233
6234         * system-settings/plugins/ifcfg-fedora/plugin.c
6235                 - Change reported name to 'ifcfg-fedora'
6236                 - Use IFCFG_PLUGIN_NAME
6237
6238         * system-settings/plugins/ifcfg-fedora/plugin.c
6239                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6240
6241 2008-02-04  Dan Williams  <dcbw@redhat.com>
6242
6243         * system-settings/plugins/ifcfg-fedora/parser.c
6244                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6245                 - (make_connection_setting): use get_ifcfg_name()
6246                 - (make_wireless_security_setting): handle shadow key files
6247                 - (get_one_wep_key): treat empty string as NULL
6248
6249 2008-02-04  Dan Williams  <dcbw@redhat.com>
6250
6251         * src/supplicant-manager/nm-supplicant-manager.c
6252                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6253                         glib automatically reschedule
6254                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6255                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6256                         the supplicant
6257
6258 2008-02-01  Dan Williams  <dcbw@redhat.com>
6259
6260         * src/NetworkManagerPolicy.c
6261                 - (device_state_changed): schedule a change check when a device gets
6262                         deactivated so something happens if you disconnect GSM/CDMA
6263
6264 2008-01-31  Dan Williams  <dcbw@redhat.com>
6265
6266         * src/nm-device-802-11-wireless.h
6267           src/nm-device-802-11-wireless.c
6268                 - (ap_list_get_ap_by_ssid, is_associated,
6269                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6270                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6271                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6272                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6273                         function
6274
6275 2008-01-30  Dan Williams  <dcbw@redhat.com>
6276
6277         * system-settings/plugins/ifcfg
6278         * system-settings/plugins/ifcfg-fedora
6279                 - Move the ifcfg plugin to ifcfg-fedora
6280
6281 2008-01-24  Dan Williams  <dcbw@redhat.com>
6282
6283         * libnm-glib/nm-device-802-11-wireless.c
6284                 - (get_access_point): move the "/" check here; check for invalid path
6285                         too
6286                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6287                         to get_access_point()
6288                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6289                         to send signals for non-existent access points
6290
6291 2008-01-24  Dan Williams  <dcbw@redhat.com>
6292
6293         * libnm-glib/nm-device-802-11-wireless.c
6294                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6295
6296 2008-01-23  Dan Williams  <dcbw@redhat.com>
6297
6298         * libnm-glib/libnm_glib.c
6299                 - (libnm_glib_init): make thread joinable
6300                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6301
6302 2008-01-23  Dan Williams  <dcbw@redhat.com>
6303
6304         * test/libnm_glib_test.c
6305                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6306                 - (main): set up signal handlers; call libnm_glib_shutdown
6307
6308 2008-01-21  Dan Williams  <dcbw@redhat.com>
6309
6310         * include/NetworkManager.h
6311                 - Add CDMA mobile broadband card device type
6312
6313         * src/nm-hal-manager.c
6314                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6315                         must now be tagged with 'cdma' or 'gsm' capability
6316
6317         * src/nm-cdma-device.c
6318           src/nm-cdma-device.h
6319           src/Makefile.am
6320                 - Add the CDMA mobile broadband card device class
6321
6322         * libnm-util/nm-connection.c
6323                 - (register_default_settings): add NMSettingCdma
6324
6325         * libnm-util/nm-setting-cdma.c
6326           libnm-util/nm-setting-cdma.h
6327           libnm-util/Makefile.am
6328                 - Add the CDMA mobile broadband card setting class
6329
6330         * libnm-glib/nm-cdma-device.c
6331           libnm-glib/nm-cdma-device.h
6332           libnm-glib/Makefile.am
6333                 - Add the CDMA mobile broadband card GLib proxy class
6334
6335         * libnm-glib/nm-client.c
6336                 - (get_device): handle CDMA devices too
6337
6338 2008-01-21  Dan Williams  <dcbw@redhat.com>
6339
6340         * src/ppp-manager/nm-ppp-manager.c
6341                 - (ip4_config_get): set peer address too
6342
6343         * src/ppp-manager/nm-pppd-plugin.c
6344                 - (nm_ip_up): try harder to get the peer's address
6345
6346         * src/NetworkManagerSystem.c
6347                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6348                         address, use that too.  Otherwise, some PPP connections won't work.
6349
6350 2008-01-19  Dan Williams  <dcbw@redhat.com>
6351
6352         * src/NetworkManagerPolicy.c
6353                 - (nm_policy_device_change_check): system connections override user
6354                         connections; don't activate a user connection if there's a currently
6355                         active system connection, and new, better system connections always
6356                         interrupt user connections
6357
6358 2008-01-19  Dan Williams  <dcbw@redhat.com>
6359
6360         * src/nm-manager.h
6361                 - (nm_manager_get_connection_type): new function
6362
6363 2008-01-19  Dan Williams  <dcbw@redhat.com>
6364
6365         * src/nm-device-802-11-wireless.c
6366                 - (real_get_best_connection): collapse find_best_connection() into this
6367                         function
6368
6369 2008-01-19  Dan Williams  <dcbw@redhat.com>
6370
6371         * src/nm-device-802-3-ethernet.c
6372                 - (real_get_best_connection): collapse find_best_connection() into this
6373                         function
6374
6375 2008-01-18  Dan Williams  <dcbw@redhat.com>
6376
6377         * src/nm-device-802-3-ethernet.c
6378                 - (find_best_connection): check MAC address too
6379                 - (real_get_best_connection): let autoconnect=True connections activate
6380                         for devices that don't have carrier detection
6381
6382         * src/nm-device-802-11-wireless.c
6383                 - (find_best_connection): check MAC address too
6384
6385 2008-01-18  Dan Williams  <dcbw@redhat.com>
6386
6387         * system-settings/plugins/ifcfg/parser.c
6388                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6389
6390 2008-01-17  Dan Williams  <dcbw@redhat.com>
6391
6392         * src/nm-device-802-3-ethernet.c
6393                 - (nm_device_802_3_ethernet_carrier_on,
6394                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6395                         carrier events that might come in for devices that don't support
6396                         carrier detect
6397
6398 2008-01-17  Dan Williams  <dcbw@redhat.com>
6399
6400         * src/nm-device-interface.c
6401                 - (nm_device_interface_check_connection_conflicts): need to actually
6402                         get the interface, not cast to the object
6403
6404         * src/nm-device.c
6405                 - (nm_device_check_connection_conflicts): need to get the device class,
6406                         not cast the device to the device class
6407
6408 2008-01-17  Dan Williams  <dcbw@redhat.com>
6409
6410         * src/nm-device-802-11-wireless.c
6411                 - (real_check_connection_conflicts): ignore connections that aren't
6412                         wireless connections
6413
6414 2008-01-17  Dan Williams  <dcbw@redhat.com>
6415
6416         * src/NetworkManagerPolicy.c
6417                 - (nm_policy_device_change_check): clear change check idle here
6418                 - (device_change_check_done): remove
6419                 - (schedule_change_check): simplify
6420
6421 2008-01-17  Dan Williams  <dcbw@redhat.com>
6422
6423         * src/nm-manager.c
6424                 - (check_connection_allowed): take an NMDeviceInterface instead of
6425                         an NMDevice object as an argument
6426                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6427                         check_connection_allowed()
6428
6429 2008-01-13  Dan Williams  <dcbw@redhat.com>
6430
6431         * libnm-glib/nm-device-802-11-wireless.c
6432                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6433
6434 2008-01-12  Dan Williams  <dcbw@redhat.com>
6435
6436         * src/nm-device-802-11-wireless.c
6437                 - (activation_success_handler): if a match was found in the scan list
6438                         and that match is a hidden AP, update that AP's SSID
6439
6440 2008-01-11  Dan Williams  <dcbw@redhat.com>
6441
6442         * src/NetworkManagerAP.c
6443                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6444
6445         * src/nm-device-802-11-wireless.c
6446                 - (get_active_ap): do two passes over the scan list if the caller
6447                         requests that hidden APs get matched too; during the second pass
6448                         when matching hidden APs, ignore the SSID since hidden APs in the
6449                         scan list don't have an SSID yet
6450                 - (periodic_update): move some checks to
6451                         nm_device_802_11_periodic_update() because not all callers need them
6452                 - (nm_device_802_11_periodic_update): move some checks here from
6453                         perodic_update()
6454                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6455                         matching on incoming scan results, because the fake AP's flags
6456                         might be slightly different (yet still compatible) with the incoming
6457                         scan result's flags and they might actually be the same AP; update
6458                         the rate on merged APs too
6459                 - (activation_success_handler): update the frequency of the fake AP
6460                         on successful connection; match hidden APs too since if the
6461                         current AP is fake, there might already be a scan result in the
6462                         scan list for the desired AP, just without it's SSID filled in yet
6463
6464 2008-01-10  Dan Williams  <dcbw@redhat.com>
6465
6466         * src/NetworkManagerAP.c
6467                 - (foreach_property_cb): catch more hidden SSID formats
6468
6469 2008-01-10  Dan Williams  <dcbw@redhat.com>
6470
6471         Fix gnome.org #464215.  Requires the kernel patch titled
6472         "Introduce WEXT scan capabilities" but will handle the patch not being
6473         present, you'll just continue to have problems with hidden SSIDs when
6474         using mac80211-based drivers.
6475
6476         * src/supplicant-manager/nm-supplicant-config.h
6477           src/supplicant-manager/nm-supplicant-config.c
6478                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6479                         whether the driver supports SSID scans or not.  If it does, and if
6480                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6481
6482         * src/nm-device-802-11-wireless.c
6483                 - (constructor): check whether or not the driver supports SSID scans
6484                 - (build_supplicant_config): pass driver SSID scan capability when
6485                         building the wireless bits of the supplicant config
6486
6487 2008-01-09  Dan Williams  <dcbw@redhat.com>
6488
6489         * src/nm-device.c
6490           src/nm-device.h
6491                 - (device_activation_precheck, check_connection_complete): remove this
6492                         virtual function; incomplete connections should be invalid by
6493                         definition, complete-ness should be checked in the setting's
6494                         verify function
6495
6496         * src/nm-serial-device.c
6497           src/nm-gsm-device.c
6498                 - (real_check_connection_complete): remove
6499
6500         * libnm-util/nm-setting-serial.c
6501                 - (verify): new function; ensure there is a PPP setting too
6502
6503         * libnm-util/nm-setting-gsm.c
6504                 - (verify): ensure there is a serial setting too
6505
6506 2008-01-06  Dan Williams  <dcbw@redhat.com>
6507
6508         * src/dhcp-manager/nm-dhcp-manager.c
6509                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6510                         (gnome.org #332953)
6511
6512 2008-01-04  Dan Williams  <dcbw@redhat.com>
6513
6514         * src/named-manager/nm-named-manager.c
6515                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6516                         nameservers if the secondary config doesn't have any
6517                         (gnome.org #346833)
6518
6519 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6520
6521         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6522         with G_PARAM_CONSTRUCT so that they get the default values.
6523
6524         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6525         the monitoring device and prints out the output for now. Or more precicely, doesn't
6526         do absolutely anything right now since the montoring device argument is never set.
6527
6528         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6529         requires it's own knob to turn it on.
6530         (config_fd): Add NMSettingSerial to the arguments list.
6531         (nm_serial_device_open): Ditto.
6532         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6533         (nm_serial_device_get_io_channel): Implement.
6534
6535         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6536         a new reference every time (and forgetting to release it sometimes) is a pain and
6537         it's not like NMManager could work without dbus.
6538         (nm_manager_add_device): Register the added device on dbus here.
6539
6540         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6541         device.
6542
6543         * src/nm-device.c (constructor): Don't export the device here, instead export
6544         it when it's added to the NMManager's device list.
6545
6546 2007-12-31  Dan Williams  <dcbw@redhat.com>
6547
6548         * src/nm-device-interface.c
6549           src/nm-device-interface.h
6550                 - (nm_device_interface_check_connection_conflicts): new function
6551
6552         * src/nm-device.c
6553           src/nm-device.h
6554                 - (nm_device_check_connection_conflicts): new function
6555                 - (device_activation_precheck): don't require subclasses to implement
6556                         check_connection_complete()
6557                 - check_connection() -> check_connection_complete()
6558
6559         * src/nm-device-802-11-wireless.c
6560                 - (real_check_connection): remove; unused
6561                 - (real_check_connection_conflicts): implement, handle lockdown for
6562                         system connections
6563
6564         * src/nm-device-802-3-ethernet.c
6565                 - (real_check_connection): remove; unused
6566
6567         * src/nm-manager.c
6568                 - (check_connection_allowed): new function
6569                 - (nm_manager_activate_device): ensure the connection being requested
6570                         is allowed to be activated
6571
6572         * src/nm-serial-device.c
6573           src/nm-gsm-device.c
6574                 - real_check_connection() -> real_check_connection_complete()
6575
6576 2007-12-27  Dan Williams  <dcbw@redhat.com>
6577
6578         * src/nm-device-interface.c
6579           src/nm-device-interface.h
6580                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6581                         normalize and expand errors
6582                 - (nm_device_interface_init): register errors so they can be marshalled
6583                         through dbus-glib
6584                 - (nm_device_interface_activate): ensure that failure of activation
6585                         returns an error
6586
6587         * src/nm-device.c
6588           src/nm-device.h
6589                 - (device_activation_precheck): implementations of check_connection()
6590                         now take a GError and must fill it in if the check fails.  Return
6591                         more descriptive error if the requested connection is already
6592                         activating
6593                 - (nm_device_activate): actually try to return descriptive errors on
6594                         failures
6595
6596         * src/nm-device-802-11-wireless.c
6597           src/nm-device-802-3-ethernet.c
6598           src/nm-serial-device.c
6599           src/nm-gsm-device.c
6600                 - (real_check_connection): return more descriptive errors on failure
6601
6602         * src/NetworkManagerPolicy.c
6603                 - (nm_policy_device_change_check): print activation errors in the logs
6604
6605         * src/nm-manager.c
6606                 - (nm_manager_error_quark, nm_manager_error_get_type,
6607                    nm_manager_class_init): new errors
6608                 - (nm_manager_activate_device): handle errors
6609                 - (nm_manager_error_new): removed
6610                 - (wait_for_connection_expired, connection_added_default_handler,
6611                    impl_manager_activate_device): better error handling
6612
6613 2007-12-27  Dan Williams  <dcbw@redhat.com>
6614
6615         Fixes gnome.org #466954
6616
6617         * src/supplicant-manager/nm-supplicant-settings-verify.c
6618                 - Allow 'frequency' network property
6619
6620         * src/supplicant-manager/nm-supplicant-config.c
6621           src/supplicant-manager/nm-supplicant-config.h
6622                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6623                         for callers to specify the frequency an Ad-Hoc network should operate
6624                         on.  Some drivers require this to successfully create an Ad-Hoc
6625                         network.
6626
6627         * src/nm-device-802-11-wireless.c
6628                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6629                         guint32 value in MHz
6630                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6631                         iw_freq_to_uint32()
6632                 - (find_supported_frequency): new function; find a free supported
6633                         frequency for a user-created Ad-Hoc network
6634                 - (build_supplicant_config): if no frequency was specified for a user-
6635                         created Ad-Hoc network, find a free one to use
6636                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6637                         a specific object as user-created
6638
6639 2007-12-27  Dan Williams  <dcbw@redhat.com>
6640
6641         * libnm-util/nm-utils.c
6642           libnm-util/nm-utils.h
6643                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6644                         for adhoc networks
6645
6646 2007-12-24  Dan Williams  <dcbw@redhat.com>
6647
6648         * libnm-util/nm-setting-wireless.c
6649                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6650                         185, 187, 188, 192, and 196
6651
6652 2007-12-24  Dan Williams  <dcbw@redhat.com>
6653
6654         * src/nm-device-802-11-wireless.c
6655                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6656                         a channel # instead of a frequency
6657
6658 2007-12-24  Dan Williams  <dcbw@redhat.com>
6659
6660         * src/NetworkManagerAP.c
6661           src/NetworkManagerAP.h
6662                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6663                 - (freq_to_channel): handle split band tables
6664                 - (channel_to_freq): handle split band tables, take a band argument
6665
6666 2007-12-24  Dan Williams  <dcbw@redhat.com>
6667
6668         * libnm-util/nm-setting-connection.h
6669           libnm-util/nm-setting-connection.c
6670                 - Add 'lockdown' member
6671
6672 2007-12-22  Dan Williams  <dcbw@redhat.com>
6673
6674         * libnm-util/nm-setting-wireless.c
6675                 - (nm_setting_wireless_class_init): add missing 'rate' property
6676                         specification
6677
6678 2007-12-18  Dan Williams  <dcbw@redhat.com>
6679
6680         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6681
6682         * src/nm-netlink-monitor.c
6683           src/nm-netlink-monitor.h
6684                 - Remove handrolled netlink, use libnl instead
6685
6686         * src/nm-device-802-3-ethernet.c
6687                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6688                    nm_device_802_3_ethernet_carrier_on): use new names
6689
6690 2007-12-17  Dan Williams  <dcbw@redhat.com>
6691
6692         * configure.in
6693                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6694                         and fixes memory leaks)
6695
6696         * src/nm-netlink.c
6697                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6698                         automatically handle the netlink PID
6699
6700 2007-12-17  Dan Williams  <dcbw@redhat.com>
6701
6702         Patch from Michael Biebl <biebl@debian.org>
6703
6704         * configure.in
6705           src/ppp-manager/Makefile.am
6706                 - fix up install dir of pppd plugin
6707                 - clean up configure.in a bit
6708
6709 2007-12-12  Dan Williams  <dcbw@redhat.com>
6710
6711         * system-settings/src/nm-system-settings.conf
6712                 - Allow non-root clients (like the applet) to read settings
6713
6714 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6715
6716         * Replace all occurences of 'UMTS' with 'GSM'.
6717
6718 2007-12-07  Dan Williams  <dcbw@redhat.com>
6719
6720         * src/nm-serial-device.c
6721                 - (real_is_up): serial devices are always "up"
6722
6723 2007-12-07  Dan Williams  <dcbw@redhat.com>
6724
6725         * src/nm-netlink.c
6726           src/NetworkManagerSystem.c
6727                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6728                         twice (gnome.org #491047)
6729                 - Make more robust against allocation-related failures should they occur
6730
6731 2007-12-07  Dan Williams  <dcbw@redhat.com>
6732
6733         Noticed by Christian Persch <chpe@gnome.org>
6734
6735         Always chain up to parent object in dispose and finalize handlers.
6736                 (gnome.org #433112)
6737
6738 2007-12-07  Dan Williams  <dcbw@redhat.com>
6739
6740         * src/nm-device-802-11-wireless.c
6741                 - Wrap #include of linux/mii.h to fix redefined structures due to
6742                         incorrect kernel headers (gnome.org #350061)
6743
6744 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6745
6746         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6747         before doing anything else.
6748         (init_modem): Move modem initialization here.
6749
6750         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6751         (nm_serial_device_flash): Implement.
6752
6753         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6754         changes signal is "StateChanged" and not "Status".
6755         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6756
6757 2007-12-06  Dan Williams  <dcbw@redhat.com>
6758
6759         * src/supplicant-manager/nm-supplicant-config.c
6760                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6761                         to only send some options when they make sense; also send phase2
6762                         option to the supplicant (possible fix for rh #399631)
6763
6764 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6765
6766         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6767         arguments: This whole file shouldn't really know anything about NMDevices, it
6768         should deal only with device interfaces. Devices might have different ifaces for
6769         different stuff and this place shouldn't know anything about it.
6770
6771         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6772         (global_state_changed): Implement. In the current NM it's not really important,
6773         but will be required in the case of multiple active devices. (Or even better,
6774         if stuff like that gets moved out from NM).
6775
6776         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6777         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6778         instead.
6779
6780         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6781         devices like serial devices (ttyS0 and ppp0 for example).
6782         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6783         set.
6784         (nm_device_set_ip_iface): Implement.
6785         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6786         after setting ip4_config from here ...
6787         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6788         than this function should call nm_system_device_set_from_ip4_config() because no
6789         other code has enough information on which arguments to use. So instead, other code
6790         could just set the new ip4 config using this function and everyone is happy.
6791
6792         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6793         if we happen to get deactivated while something is pending.
6794         (automatic_registration): Handle the response that indicates pending network
6795         registration and wait until the pending registration is done.
6796         (real_deactivate_quickly): If there's a pending operation, cancel it.
6797
6798         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6799         (real_deactivate_quickly): ... and remove it when it's down.
6800         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6801         it if needed.
6802         (nm_serial_device_wait_for_reply): Ditto.
6803
6804 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6805
6806         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6807         (get_network_done): Remove newline, nm_info() does it already.
6808         (real_act_stage1_prepare): Turn the modem echo off.
6809
6810         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6811         device, set the route to the device interface. This is a hack.
6812
6813         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6814         return, no need for a new-line.
6815         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6816         Change the device iface here (ugh).
6817         (real_act_stage4_get_ip4_config): Implement.
6818         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6819         Restore the device iface.
6820
6821         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6822         device is not wired or wireless (eg, automatically upped) device.
6823
6824         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6825         it isn't.
6826         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6827
6828         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6829         before calling it's is_device_fn().
6830
6831 2007-12-05  Dan Williams  <dcbw@redhat.com>
6832
6833         * libnm-util/nm-utils.c
6834                 - (nm_utils_register_value_transformations,
6835                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6836                         GHashTables of GValues too
6837
6838 2007-12-04  Dan Williams  <dcbw@redhat.com>
6839
6840         * initscript/RedHat/NetworkManager.in
6841                 - No longer start named; it's D-Bus interface is going away
6842
6843 2007-12-04  Dan Williams  <dcbw@redhat.com>
6844
6845         Patch from Michael Biebl <biebl@debian.org>
6846
6847         * system-settings/plugins/ifcfg/Makefile.am
6848           system-settings/src/main.c
6849           system-settings/src/Makefile.am
6850                 - Put system settings plugins in NM plugins dir
6851
6852         * src/ppp-manager/Makefile.am
6853           src/ppp-manager/nm-ppp-manager.c
6854                 - Move pppd plugin to NM plugins dir
6855
6856 2007-12-04  Dan Williams  <dcbw@redhat.com>
6857
6858         * libnm-util/nm-setting-vpn-properties.h
6859                 - Clarify usage of the 'data' member of the setting
6860
6861         * libnm-util/nm-setting-vpn-properties.c
6862                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6863                 - (set_property): just remove all the settings; don't recreate the has
6864                 - (update_one_secret): don't need to create the hash table here since
6865                         it should always be present
6866
6867 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6868
6869         Implement PIN and PUK requesting.
6870
6871         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6872         (enter_pin): Handle PIN and PUK requests.
6873         (real_act_stage1_prepare): Clear the secret type.
6874         (real_connection_secrets_updated): Implement this class method to get
6875         notified when new secrets arrive.
6876         (nm_umts_device_class_init): Add private data back to the umts device class
6877         to store the required secret type.
6878
6879 2007-12-01  Dan Williams  <dcbw@redhat.com>
6880
6881         * system-settings/plugins/ifcfg/parser.c
6882                 - (parser_parse_file): don't try to verify NULL connections
6883
6884 2007-12-01  Dan Williams  <dcbw@redhat.com>
6885
6886         * system-settings/src/main.c
6887                 - (load_connections, add_connection_to_settings): actually export
6888                         plugin-provided connections over D-Bus so NM can get them
6889
6890 2007-12-01  Dan Williams  <dcbw@redhat.com>
6891
6892         * system-settings/plugins/ifcfg/parser.c
6893           system-settings/plugins/ifcfg/parser.h
6894           system-settings/plugins/ifcfg/plugin.c
6895                 - Hook up more inotify bits (untested)
6896
6897 2007-11-29  Dan Williams  <dcbw@redhat.com>
6898
6899         * system-settings/src/nm-system-config-interface.h
6900           system-settings/src/nm-system-config-interface.c
6901                 - (nm_system_config_interface_init,
6902                    nm_system_config_interface_get_connections): add
6903
6904         * system-settings/src/main.c
6905                 - (load_plugins, load_connections, main): use a GSList for plugins
6906                         to ensure priority ordering
6907
6908         * system-settings/plugins/ifcfg/parser.c
6909                 - (ifcfg_error_quark): move to plugin.c, and rename
6910
6911         * system-settings/plugins/ifcfg/plugin.h
6912           system-settings/plugins/ifcfg/plugin.c
6913                 - (ifcfg_plugin_error_quark): move here from parser.c
6914                 - rework connection loading and initialization
6915                 - Add preliminary inotify support for network profile config file
6916
6917 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6918
6919         Merge the beginnings of the new GSM card support.
6920
6921         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6922         ppp watch source before killing pppd - If this happens from g_object_unref()
6923         then the ppp manager is already destroyed by the time the watch callback runs.
6924
6925         * src/nm-hal-manager.c: Add a device_type_name string to the device
6926         creators, so that we can print a nice human readable string when a
6927         device is added.
6928
6929         * src/nm-umts-device.c (automatic_registration_get_network): Query
6930         for the activated network, not much is done with the result thought.
6931
6932         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6933         (ppp_ip4_config): Change the device state to activated here for now.
6934         (real_check_connection): Make sure the connection includes ppp setting.
6935
6936         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6937
6938         * libnm-glib/Makefile.am: Add the new files to build.
6939
6940         * libnm-glib/nm-umts-device.c: 
6941         * libnm-glib/nm-umts-device.h: Implement.
6942
6943 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6944
6945         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6946         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6947
6948         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6949         the timeout source - this function is only called when the timeout source has
6950         been removed.
6951         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6952         to be big enough to contain the terminating zero element as well.
6953         The timeout argument is meant to be in seconds now.
6954         (real_deactivate_quickly): Implement.
6955
6956         * src/NetworkManager.conf: Allow root to own 
6957         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6958
6959         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6960         (not unsigned ints).
6961
6962         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6963         small issue with parity bounds - capital letters have lower ascii codes
6964         than lower case letters.
6965
6966         * libnm-util/nm-connection.c (register_default_settings): Register serial
6967         and umts settings.
6968
6969 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6970
6971         Remove the "index" property from devices as not all device types have this.
6972
6973         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6974
6975         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6976         (wired_device_creator): Get the device interface from hal to create the device.
6977         (wireless_device_creator): Ditto.
6978
6979         * src/nm-device.c (nm_device_init): Remove the index member.
6980         (constructor): Remove the checks for index property, make interface property
6981         a require constructor property.
6982         Use the HAL udi for DBus path for devices.
6983         (nm_device_get_index): Remove.
6984         (set_property): Remove index handling.
6985         (get_property): Ditto.
6986         (nm_device_get_dbus_path): Remove.
6987
6988         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6989         property.
6990
6991         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6992         Access the device index through it's interface.
6993         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6994         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6995         index argument. Add interface argument.
6996
6997         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6998         the useless test_dev argument. Remove index argument. Add interface arugment.
6999
7000         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7001         device index through interface.
7002         (nm_system_set_mtu): Ditto.
7003
7004         * introspection/nm-device.xml: Remove the "Index" property.
7005
7006 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7007
7008         * src/nm-serial-device.c: 
7009         * src/nm-serial-device.c: 
7010         * src/nm-umts-device.c:
7011         * src/nm-umts-device.h: Implement.
7012
7013         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7014         allocated by libhal.
7015         (modem_device_creator): Implement.
7016         (register_built_in_creators): Register the modem creator.
7017
7018         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7019         Remove the unused test_dev argument.
7020
7021         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7022
7023         * src/Makefile.am: Add new files to build.
7024         Link in ppp-manager.
7025
7026         * libnm-util/nm-setting-umts.c: 
7027         * libnm-util/nm-setting-umts.h: 
7028         * libnm-util/nm-setting-serial.c: 
7029         * libnm-util/nm-setting-serial.h: Implement.
7030
7031         * libnm-util/Makefile.am: Add new files to build.
7032
7033 2007-11-28  Dan Williams  <dcbw@redhat.com>
7034
7035         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7036
7037         Support DHCP-provided static routes.
7038
7039         * src/nm-ip4-config.h
7040           src/nm-ip4-config.c
7041                 - Add get/set functions for static routes
7042
7043         * src/dhcp-manager/nm-dhcp-manager.c
7044                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7045                         DHCP response
7046
7047         * src/NetworkManagerSystem.c
7048                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7049                         interface when applying the IP4Config
7050
7051 2007-11-28  Dan Williams  <dcbw@redhat.com>
7052
7053         * src/nm-device-802-11-wireless.c
7054                 - (real_act_stage1_prepare): mark APs created for hidden networks
7055                         as non-broadcasting
7056
7057 2007-11-27  Dan Williams  <dcbw@redhat.com>
7058
7059         * system-settings/src/nm-system-config-interface.h
7060                 - Note how to store secrets on NMSetting objects
7061
7062         * system-settings/src/dbus-settings.c
7063                 - (connection_settings_get_secrets): implement
7064
7065 2007-11-27  Dan Williams  <dcbw@redhat.com>
7066
7067         * system-settings/plugins/ifcfg/Makefile.am
7068           system-settings/plugins/ifcfg/parser.c
7069           system-settings/plugins/ifcfg/parser.h
7070           system-settings/plugins/ifcfg/plugin.c
7071                 - Parse wireless connections too
7072
7073         * system-settings/src/dbus-settings.c
7074           system-settings/src/dbus-settings.h
7075           system-settings/src/main.c
7076                 - Handle connection update/removal if the plugin supports it
7077
7078 2007-11-27  Dan Williams  <dcbw@redhat.com>
7079
7080         * src/nm-dbus-manager.h
7081           src/nm-hal-manager.c
7082                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7083                         do it for them
7084
7085         * src/Makefile.am
7086           src/NetworkManagerDbusUtils.c
7087           src/NetworkManagerDbusUtils.h
7088                 - Remove these two source files; they are unused
7089
7090 2007-11-27  Dan Williams  <dcbw@redhat.com>
7091
7092         * src/vpn-manager/nm-vpn-manager.c
7093                 - (impl_vpn_manager_connect): fix system settings check (found by
7094                         James M. Leddy)
7095
7096 2007-11-26  Dan Williams  <dcbw@redhat.com>
7097
7098         * Fix warnings so everything compiles with --enable-more-warnings
7099
7100 2007-11-25  Dan Williams  <dcbw@redhat.com>
7101
7102         * system-settings/*
7103                 - Rework structure and code to use GModule-loaded plugins and a plugin
7104                         interface that plugins export to the system settings service
7105
7106 2007-11-21  Dan Williams  <dcbw@redhat.com>
7107
7108         * system-settings/*
7109                 - Add Soren's system settings service.  Needs work for distros other
7110                         than Fedora; the backends from NM should mostly migrate to here
7111                         and be converted to GObjects
7112
7113 2007-11-21  Dan Williams  <dcbw@redhat.com>
7114
7115         * libnm-util/nm-setting-vpn-properties.c
7116                 - (set_property): must deep-copy the given settings hash, otherwise
7117                         double-free errors occur when the setting is disposed of
7118
7119 2007-11-21  Dan Williams  <dcbw@redhat.com>
7120
7121         * src/vpn-manager/nm-vpn-act-request.h
7122           src/vpn-manager/nm-vpn-act-request.c
7123                 - Remove; unused
7124
7125 2007-11-20  Dan Williams  <dcbw@redhat.com>
7126
7127         * libnm-util/nm-utils.c
7128                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7129                    nm_utils_convert_ip4_addr_struct_array_to_string,
7130                    nm_utils_register_value_transformations): print out the readable
7131                         values of more types of properties of NMSettings subclasses
7132
7133 2007-11-20  Dan Williams  <dcbw@redhat.com>
7134
7135         * libnm-util/nm-setting-ip4-config.c
7136                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7137                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7138                         marshal GValueArrays inside collections, so switch to types that it
7139                         can actually marshal/demarshal
7140
7141 2007-11-16  Dan Williams  <dcbw@redhat.com>
7142
7143         * libnm-util/nm-setting-wireless-security.c
7144                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7145                         minimal verification of EAP methods too
7146                 - (verify): verify phase1 eap methods too
7147
7148 2007-11-15  Dan Williams  <dcbw@redhat.com>
7149
7150         * libnm-glib/nm-device.h
7151           libnm-glib/nm-device.c
7152                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7153                         const char *
7154
7155 2007-11-15  Dan Williams  <dcbw@redhat.com>
7156
7157         * libnm-glib/nm-device.c
7158                 - (get_product_and_vendor): don't try to free things that should be
7159                         freed
7160
7161 2007-11-15  Dan Williams  <dcbw@redhat.com>
7162
7163         * src/NetworkManagerUtils.c
7164                 - (nm_ethernet_address_is_valid): unbreak previous fix
7165
7166 2007-11-15  Dan Williams  <dcbw@redhat.com>
7167
7168         * src/supplicant-manager/nm-supplicant-config.c
7169                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7170                         options
7171
7172 2007-11-15  Dan Williams  <dcbw@redhat.com>
7173
7174         * src/NetworkManagerUtils.c
7175                 - (nm_ethernet_address_is_valid): fix style, clarify
7176                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7177
7178         * src/nm-device-802-11-wireless.c
7179                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7180                 - (nm_device_802_11_wireless_get_ssid,
7181                    nm_device_802_11_wireless_get_bssid,
7182                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7183                         before calling the ioctl; fixes valgrind-reported jump depends on
7184                         uninitialized value errors
7185
7186 2007-11-15  Dan Williams  <dcbw@redhat.com>
7187
7188         * libnm-util/nm-setting.c
7189                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7190                         unecessary to serialize 'name'
7191
7192         * src/nm-activation-request.c
7193                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7194                         the GetSecrets call
7195
7196 2007-11-15  Dan Williams  <dcbw@redhat.com>
7197
7198         * libnm-util/nm-setting-connection.h
7199           libnm-util/nm-setting-connection.c
7200                 - Rename the 'name' property to 'id', because it conflicted with the
7201                         NMSetting superclass' 'name' property.
7202
7203         * libnm-util/nm-setting.c
7204                 - (nm_setting_to_hash): serialize the 'name' property
7205                 - (one_property_cb): ignore 'name' on deserialization of a connection
7206
7207         * src/nm-device-802-11-wireless.c
7208           src/vpn-manager/nm-vpn-connection.c
7209           src/NetworkManagerPolicy.c
7210                 - Fix up for NMSettingConnection 'name'->'id' changes
7211
7212 2007-11-13  Dan Williams  <dcbw@redhat.com>
7213
7214         * libnm-glib/nm-device-802-11-wireless.h
7215           libnm-glib/nm-device-802-11-wireless.c
7216                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7217
7218         * test/nm-tool.c
7219           libnm-glib/libnm-glib-test.c
7220                 - Fixes for above change
7221
7222 2007-11-12  Dan Williams  <dcbw@redhat.com>
7223
7224         * src/supplicant-manager/nm-supplicant-settings-verify.c
7225                 - Allow fragment_size option
7226
7227         * src/supplicant-manager/nm-supplicant-settings-verify.c
7228                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7229                         EAP fragment size than the default to help some TLS connections
7230
7231 2007-11-12  Dan Williams  <dcbw@redhat.com>
7232
7233         Make certs actually work.  The private key is now a secret, and should be
7234         decrypted when requested by NM.  The private key and phase2 private key
7235         passwords are no longer interesting to NM because they should be used by
7236         the settings service to decrypt the private key itself before passing it
7237         to NM, and hence have been removed as fields.
7238
7239         * libnm-util/nm-setting-wireless-security.h
7240           libnm-util/nm-setting-wireless-security.c
7241                 - Remove private-key-passwd and phase2-private-key-passwd from
7242                         properties
7243                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7244                    need_secrets): use property #defines instead strings to keep things
7245                         consistent
7246                 - (need_secrets_tls): if a client certificate is present but no
7247                         private key, request the private key
7248                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7249                         remove private key password stuff, mark private keys as secret
7250
7251         * src/supplicant-manager/nm-supplicant-settings-verify.c
7252                 - Remove private_key_passwd and private_key2_passwd from opt_table
7253
7254 2007-11-09  Dan Williams  <dcbw@redhat.com>
7255
7256         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7257         Since the vpn-properties are managed and known by the VPN daemons themselves,
7258         libnm-util doesn't know what's secret and what's in the setting's 'data'
7259         member.
7260
7261         * libnm-util/nm-setting.h
7262           libnm-util/nm-setting.c
7263                 - Add the ability for subclasses to override update_one_secret
7264
7265         * libnm-util/nm-setting-vpn-properties.c
7266                 - Override update_one_secret and just copy the values into the
7267                         internal table
7268
7269 2007-11-09  Dan Williams  <dcbw@redhat.com>
7270
7271         * libnm-glib/nm-settings.h
7272           libnm-glib/nm-settings.c
7273                 - (nm_settings_new_error): remove
7274                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7275                         clients should use g_set_error() with NM_SETTINGS_ERROR
7276
7277 2007-11-09  Dan Williams  <dcbw@redhat.com>
7278
7279         * src/supplicant-manager/nm-supplicant-config.c
7280                 - (nm_supplicant_config_add_setting_wireless_security): private key
7281                         passwords are never sent to wpa_supplicant, because the supplicant
7282                         should never be reading random files from the disk.  Clients like
7283                         the applet are required to decrypt the private keys and send NM
7284                         the decrypted blobs.
7285
7286 2007-11-08  Dan Williams  <dcbw@redhat.com>
7287
7288         * libnm-util/nm-setting-wireless-security.h
7289           libnm-util/nm-setting-wireless-security.c
7290                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7291                         members to 802-11-wireless-security structure.  This should be used
7292                         to indicate that the values in private-key and phase2-private-key
7293                         are already decrypted by the user agent, and that no
7294                         private-key-passwd or phase2-private-key-passwd should be expected.
7295                         It is not meant to be a stored configuration value, but meant to
7296                         be set when the conneciton is sent to NM over dbus.
7297
7298 2007-11-08  Dan Williams  <dcbw@redhat.com>
7299
7300         * libnm-util/nm-connection.h
7301           libnm-util/nm-connection.c
7302                 - (nm_connection_need_secrets): add argument to return hints
7303
7304         * src/nm-device-802-11-wireless.c
7305                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7306                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7307                         nm_connection_need_secrets() change
7308
7309 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7310
7311         Rework NMSetting structures: Move each setting to it's own file.
7312         Convert to GObject. Remove home grown setting types and use GTypes.
7313         Use GObject property introspection for hash conversion, enumerating
7314         properties, etc.
7315
7316         * libnm-util/nm-setting-connection.[ch]
7317         * libnm-util/nm-setting-ip4-config.[ch]
7318         * libnm-util/nm-setting-ppp.[ch]
7319         * libnm-util/nm-setting-vpn.[ch]
7320         * libnm-util/nm-setting-vpn-properties.[ch]
7321         * libnm-util/nm-setting-wired.[ch]
7322         * libnm-util/nm-setting-wireless.[ch]
7323         * libnm-util/nm-setting-wireless-security.[ch]
7324
7325         New files, each containing a setting.
7326
7327         * libnm-util/nm-setting-template.[ch]: A template for creating new
7328         settings. To use it, just replace 'template' with the new setting
7329         name, and you're half-way done.
7330
7331         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7332         introspection instead of internal types and tables.
7333
7334         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7335
7336         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7337         GValue types defined by dbus-glib for composed types like collections,
7338         structures and maps.
7339
7340         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7341         a setting from connection takes the setting type now. Also, since
7342         the settings are in multiple files, include relevant settings.
7343
7344 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7345
7346         * configure.in:
7347         * src/backends/NetworkManagerGentoo.c:
7348         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7349         providers in Gentoo.
7350
7351 2007-10-31  Dan Williams  <dcbw@redhat.com>
7352
7353         * libnm-util/nm-connection.c
7354                 - (gvalue_to_string): handle UINT32 arrays
7355
7356 2007-10-31  Dan Williams  <dcbw@redhat.com>
7357
7358         * libnm-glib/nm-device.h
7359           libnm-glib/nm-device.c
7360                 - (nm_device_get_description): remove
7361                 - (nm_device_get_product, nm_device_get_vendor): add
7362                 - (nm_device_update_description): new function (private); walk HAL
7363                         devices to get product and vendor IDs for a specific device
7364
7365 2007-10-31  Dan Williams  <dcbw@redhat.com>
7366
7367         * src/nm-device-802-11-wireless.c
7368                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7369
7370 2007-10-29  Dan Williams  <dcbw@redhat.com>
7371
7372         * src/nm-hal-manager.c
7373                 - (device_added, device_new_capability): ignore device additions while
7374                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7375                         kernel module is unloaded and reloaded and recognized by NM again.
7376
7377 2007-10-26  Dan Williams  <dcbw@redhat.com>
7378
7379         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7380
7381         * src/NetworkManagerAP.c
7382           src/NetworkManagerAP.h
7383           libnm-glib/nm-access-point.c
7384           libnm-glib/nm-access-point.h
7385                 - Make 'rate' property a guint32 to better match with WEXT and
7386                         wpa_supplicant and to allow representation of higher bitrates
7387
7388         * src/nm-device-802-11-wireless.c
7389           introspection/nm-device-802-11-wireless.xml
7390           libnm-glib/nm-device-802-11-wireless.c
7391           libnm-glib/nm-device-802-11-wireless.h
7392                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7393
7394         * src/nm-device-802-3-ethernet.c
7395           src/nm-device-802-3-ethernet.h
7396           introspection/nm-device-802-3-ethernet.xml
7397           libnm-glib/nm-device-802-3-ethernet.c
7398           libnm-glib/nm-device-802-3-ethernet.h
7399                 - Make 'speed' property a guint32 to match other speed/rate types
7400                 - Make nm_device_802_3_ethernet_get_speed() static
7401
7402         * test/nm-tool.c
7403                 - Update for the changes above
7404
7405 2007-10-26  Dan Williams  <dcbw@redhat.com>
7406
7407         * src/named-manager/nm-named-manager.c
7408                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7409                     not calling fclose() twice on some error conditions
7410
7411 2007-10-26  Dan Williams  <dcbw@redhat.com>
7412
7413         * src/nm-activation-request.c
7414                 - (dispose): clean up indentation; get the right DBusGProxy object to
7415                         cancel the GetSecrets pending call on.  Need to use the Secrets
7416                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7417                         pending call doesn't get canceled, and pressing Cancel in the
7418                         applet's password dialog could cause get_secrets_cb() to be called
7419                         after the activation request has already been destroyed
7420
7421 2007-10-24  Dan Williams  <dcbw@redhat.com>
7422
7423         * src/supplicant-manager/nm-supplicant-config.c
7424                 - (nm_supplicant_config_add_blob): pass blob data and length for
7425                         verification
7426                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7427
7428 2007-10-24  Dan Williams  <dcbw@redhat.com>
7429
7430         * src/supplicant-manager/nm-supplicant-settings-verify.c
7431                 - (opt_table): max length for certificates should be 65536
7432
7433 2007-10-24  Dan Williams  <dcbw@redhat.com>
7434
7435         * src/supplicant-manager/nm-supplicant-interface.c
7436                 - (blob_free): correctly free blob data after use
7437                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7438
7439 2007-10-24  Dan Williams  <dcbw@redhat.com>
7440
7441         * libnm-util/nm-setting.c
7442                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7443                         EAP method need secrets
7444
7445 2007-10-24  Dan Williams  <dcbw@redhat.com>
7446
7447         * src/backends/NetworkManagerRedHat.c
7448                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7449
7450 2007-10-23  Dan Williams  <dcbw@redhat.com>
7451
7452         * libnm-util/nm-setting.c
7453           libnm-util/nm-setting.c
7454                 - (nm_setting_compare): implement
7455                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7456                    compare_one_hash_gvalue): compare the contents of a setting
7457
7458         * libnm-util/nm-connection.c
7459                 - (nm_connection_compare): implement
7460
7461 2007-10-23  Dan Williams  <dcbw@redhat.com>
7462
7463         * src/nm-activation-request.c
7464                 - (get_secrets_cb): handle getting a setting back that is more than
7465                         just secrets (ie, user changed auth or EAP method or something)
7466
7467 2007-10-23  Dan Williams  <dcbw@redhat.com>
7468
7469         * libnm-util/nm-setting.c
7470           libnm-util/nm-setting.h
7471                 - (nm_setting_verify): new function; verify one setting
7472                 - (nm_settings_verify_all): rename from nm_settings_verify()
7473                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7474                         all_settings
7475
7476         * libnm-util/nm-connection.c
7477                 - (nm_connection_replace_settings, nm_connection_verify,
7478                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7479
7480 2007-10-23  Dan Williams  <dcbw@redhat.com>
7481
7482         * src/nm-device-802-11-wireless.c
7483                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7484                         desired behavior
7485
7486 2007-10-23  Dan Williams  <dcbw@redhat.com>
7487
7488         * src/supplicant-manager/nm-supplicant-settings-verify.c
7489                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7490                         nm-settings.c
7491
7492 2007-10-23  Dan Williams  <dcbw@redhat.com>
7493
7494         * src/nm-device-802-11-wireless.c
7495                 - (real_act_stage2_config): after the first association failure,
7496                         if the connection still needs secrets ask the user for them
7497                         explicitly.  After the fourth association failure due to bad
7498                         secrets, fail the connection entirely.  Handles the GetSecrets
7499                         loop that NM gets into when the provided secrets don't match up
7500                         with the connection details.
7501
7502 2007-10-23  Dan Williams  <dcbw@redhat.com>
7503
7504         * src/supplicant-manager/nm-supplicant-config.c
7505                 - (nm_supplicant_config_add_setting_wireless_security): only add
7506                         WPA-specific options when WPA is in use
7507
7508 2007-10-23  Dan Williams  <dcbw@redhat.com>
7509
7510         * src/supplicant-manager/nm-supplicant-config.c
7511                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7512                         secret doesn't need to be unhexified
7513
7514 2007-10-23  Dan Williams  <dcbw@redhat.com>
7515
7516         * libnm-util/nm-setting.c
7517                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7518                         before trying to do something with it
7519
7520 2007-10-23  Dan Williams  <dcbw@redhat.com>
7521
7522         * src/nm-device-802-11-wireless.c
7523                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7524
7525 2007-10-23  Dan Williams  <dcbw@redhat.com>
7526
7527         * src/nm-device-802-11-wireless.c
7528                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7529                         non-SSID-broadcasting APs
7530
7531 2007-10-23  Dan Williams  <dcbw@redhat.com>
7532
7533         * src/NetworkManagerAP.c
7534                 - (match_cipher, security_compatible): remove
7535                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7536                         libnm-util instead
7537
7538 2007-10-23  Dan Williams  <dcbw@redhat.com>
7539
7540         * libnm-util/nm-utils.c
7541           libnm-util/nm-utils.h
7542                 - (nm_utils_ap_security_compatible): common function for checking
7543                         whether a specific AP is compatible with an NMConnection
7544
7545 2007-10-23  Dan Williams  <dcbw@redhat.com>
7546
7547         * libnm-util/nm-setting.c
7548                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7549                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7550                    need_secrets_password, setting_wireless_security_verify): fix
7551                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7552                         secrets logic for each supported EAP method
7553
7554 2007-10-23  Dan Williams  <dcbw@redhat.com>
7555
7556         * src/supplicant-manager/nm-supplicant-config.c
7557                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7558                         config option name, should be "private_key2_passwd"
7559
7560 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7561
7562         Implement support for static IP addresses, additional/overridden DNS and
7563         DNS domain search lists.
7564
7565         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7566         (ip4_addresses_to_gvalue): Implement.
7567         (convert_array_to_byte_array): Implement.
7568         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7569         NM_S_TYPE_IP4_ADDRESSES.
7570         (nm_setting_hash): Ditto.
7571         (default_setting_clear_secrets): Add a default case for the switch: IP address
7572         shouldn't be secret, ever.
7573         (setting_ip4_config_verify): Update, requires addresses in case of manual
7574         configurations.
7575         (setting_ip4_config_destroy): Free stuff.
7576
7577         * src/nm-device.c (merge_ip4_config): Implement.
7578         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7579
7580 2007-10-22  Dan Williams  <dcbw@redhat.com>
7581
7582         * libnm-util/nm-setting.c
7583                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7584                         pairwise cipher options for Dynamic WEP
7585
7586 2007-10-21  Dan Williams  <dcbw@redhat.com>
7587
7588         * src/NetworkManagerAP.c
7589           src/NetworkManagerAP.h
7590                 - Rename 'articifical' -> 'fake' since that's what they are until
7591                         noticed in scans
7592                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7593                         from the attributes in an NMConnection object
7594                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7595                         WPA Enterprise
7596                 - (nm_ap_match_in_list): find a matching AP in a scan list
7597
7598         * src/nm-device-802-11-wireless.c
7599                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7600                         AP when searching the scan list; match on frequency and mode too
7601                 - (nm_device_802_11_wireless_get_frequency): implement
7602                 - (merge_scanned_ap): replace duplicate matching logic with
7603                         nm_ap_match_in_list()
7604                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7605                         the user is trying to connect to a hidden network that is not yet
7606                         known from the scan list
7607                 - (activation_success_handler): now that the card knows the AP's BSSID,
7608                         there may already be a scanned AP in the scan list that is what
7609                         we really wanted to connect to, but didn't know at the time.  Use
7610                         that instead of the 'fake' AP created at activation start and get
7611                         rid of the 'fake' AP 
7612                 - (cull_scan_list): don't remove fake APs
7613
7614 2007-10-21  Dan Williams  <dcbw@redhat.com>
7615
7616         * src/nm-activation-request.h
7617           src/nm-activation-request.c
7618                 - (nm_act_request_set_specific_object): new function; allow setting the
7619                         specific object if one isn't set yet
7620
7621 2007-10-20  Dan Williams  <dcbw@redhat.com>
7622
7623         * src/supplicant-manager/nm-supplicant-config.h
7624           src/supplicant-manager/nm-supplicant-config.c
7625                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7626                         table to store blobs
7627                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7628                         blob hash table
7629                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7630                 - (nm_supplicant_config_add_setting_wireless_security): handle
7631                         options that use certificates (ie, blobs)
7632
7633         * src/nm-device-802-11-wireless.c
7634                 - (build_supplicant_config): pass a UID (just use the connection path)
7635                         to the supplicant config as now required
7636
7637         * src/supplicant-manager/nm-supplicant-interface.c
7638                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7639                         there are any blobs to send to wpa_supplicant, send those first
7640                         before sending the network configuration
7641
7642 2007-10-19  Dan Williams  <dcbw@redhat.com>
7643
7644         Split the GetSecrets() call off to a separate D-Bus interface so that it
7645         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7646         should be able to call GetSecrets().
7647
7648         * include/NetworkManager.h
7649                 - Define the connection secrets D-Bus interface
7650
7651         * src/vpn-manager/nm-vpn-connection.c
7652                 - (clear_need_auth): get the right proxy object for the connection
7653                         secrets interface
7654                 - (get_connection_secrets): use the connection secrets proxy; send
7655                         empty hints in get secrets request
7656
7657         * src/nm-activation-request.c
7658                 - (nm_act_request_request_connection_secrets): use the connection
7659                         secrets proxy; send empty hints in get secrets request
7660
7661         * src/nm-manager.c
7662           src/nm-manager.h
7663                 - (connection_get_settings_cb): set the connection secrets proxy on
7664                         the connection object too
7665                 - (internal_new_connection_cb): create the connection secrets proxy
7666
7667         * introspection/nm-settings-connection.xml
7668                 - Define Connection.Secrets interface and move GetSecrets there
7669                 - Add a 'hints' argument to GetSecrets
7670
7671         * libnm-glib/nm-settings.c
7672           libnm-glib/nm-settings.h
7673                 - (impl_connection_settings_get_secrets): add 'hints' argument
7674
7675 2007-10-19  Dan Williams  <dcbw@redhat.com>
7676
7677         * src/nm-device.c
7678                 - (constructor): add message about what path a device is exported as
7679                         to help in debugging rh #339011
7680
7681 2007-10-17  Dan Williams  <dcbw@redhat.com>
7682
7683         * libnm-util/nm-utils.h
7684           libnm-util/nm-utils.c
7685                 - (nm_utils_security_valid): common function to help find the intersection
7686                         of capabilities of devices and (optionally) access points
7687
7688 2007-10-17  Dan Williams  <dcbw@redhat.com>
7689
7690         * src/nm-device-802-11-wireless.c
7691                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7692                         don't get erroneously cleared
7693
7694 2007-10-17  Dan Williams  <dcbw@redhat.com>
7695
7696         * src/nm-manager.h
7697           src/nm-manager.c
7698           src/nm-hal-manager.c
7699                 - (device_removed, finalize, nm_manager_remove_device,
7700                    nm_manager_sleep): add a 'deactivate' argument to 
7701                    nm_manager_remove_device() to fully deactivate devices when necessary
7702                    (ie, always except when waking up)
7703
7704 2007-10-16  Dan Williams  <dcbw@redhat.com>
7705
7706         * libnm-util/nm-setting.c
7707                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7708                         also isn't valid phase2 autheap method
7709
7710 2007-10-16  Dan Williams  <dcbw@redhat.com>
7711
7712         * libnm-glib/nm-client.c
7713                 - (update_wireless_status): consolidate updates of wireless status
7714                 - (constructor): use update_wireless_status()
7715                 - (manager_running): set wireless status off when NM goes away; requery
7716                         the wireless status when NM comes back
7717
7718 2007-10-16  Dan Williams  <dcbw@redhat.com>
7719
7720         * libnm-glib/nm-client.c
7721                 - (nm_client_activate_device): actually use the fixed-up specific
7722                         object path
7723
7724 2007-10-16  Dan Williams  <dcbw@redhat.com>
7725
7726         * src/nm-hal-manager.c
7727                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7728                         killswitch error messages once
7729
7730 2007-10-16  Dan Williams  <dcbw@redhat.com>
7731
7732         * src/nm-manager.c
7733                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7734                         if it's disabled in hardware; don't touch network devices while
7735                         NM is asleep
7736
7737 2007-10-16  Dan Williams  <dcbw@redhat.com>
7738
7739         * libnm-util/nm-client.c
7740                 - (nm_client_activate_device): convert NULL specific_object to "/",
7741                         which is used in place of NULL
7742
7743         * src/nm-manager.c
7744                 - (impl_manager_activate_device): convert "/" specific_object back into
7745                         NULL
7746
7747 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7748
7749         Implement a generic NMSetting creator from setting name.
7750         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7751         add a virtual function 'populate_fn'.
7752
7753         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7754         (register_default_creators): Register setting creators instead of functions
7755         that create and then populate.
7756         (parse_one_setting): Use the common setting creator and then setting specific
7757         poplulation function.
7758
7759         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7760         they all looked exactly the same.
7761         Add a 'populate_fn' virtual function to NMSetting.
7762         Use default virtual functions in case they are not overriden.
7763         (nm_setting_populate_from_hash): Implement.
7764
7765         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7766         name, use a defined string.
7767         (real_act_stage4_get_ip4_config): Ditto.
7768
7769 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7770
7771         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7772         HAL is int, not uint.
7773
7774 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7775
7776         Implement killswitch polling through HAL.
7777
7778         * src/nm-manager.c: Add wireless hardware status property. Add 
7779         'properties-changed' signal for changes in wireless and wireless hardware
7780         state changes.
7781
7782         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7783         and update NMManager's wireless hardware state when it has changed.
7784         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7785         already does that.
7786
7787         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7788         values of wireless state and wireless hardware state. Listen for the
7789         'properties-changed' signals, update the cached values and emit notify.
7790
7791         * include/NetworkManager.h: Fix a typo in a comment.
7792
7793 2007-10-14  Dan Williams  <dcbw@redhat.com>
7794
7795         * libnm-util/nm-setting.c
7796                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7797
7798 2007-10-13  Dan Williams  <dcbw@redhat.com>
7799
7800         * libnm-util/nm-setting.h
7801           libnm-util/nm-setting.c
7802           src/supplicant-manager/nm-supplicant-config.c
7803                 - Make the 'proto' field of the 802-11-wireless-security field a
7804                         string list
7805
7806 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7807
7808         Rework the "properties-changed" signal listening implementation.
7809         Add a generic implementation to NMObject class that listens for
7810         the signal and calls property setters of the target NMObject.
7811
7812         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7813
7814         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7815         code to the end of file so that all the static functions are available
7816         without extra declarations.
7817         Remove the "properties-changed" signal handling and use the framework from
7818         NMObject.
7819         Implement property setters for properties that change with 
7820         "properties-changed" signal.
7821
7822         * libnm-glib/nm-access-point.c: Ditto.
7823
7824 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7825
7826         Rework the "properties-changed" signal implementation.
7827         In classes that need to use it, just emit "GObject::notify" and the new
7828         framework takes care of the rest to make the signal available on dbus.
7829         The framework queues the notifications and tries to send as many together
7830         in one signal as possible.
7831
7832         * src/nm-properties-changed-signal.c:
7833         * src/nm-properties-changed-signal.h: Implement.
7834
7835         * src/Makefile.am: Add new files to build.
7836
7837         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7838         signal.
7839
7840         * src/nm-device-802-11-wireless.c: Ditto.
7841
7842 2007-10-10  Dan Williams  <dcbw@redhat.com>
7843
7844         * src/nm-manager.c
7845                 - (wait_for_connection_expired): ensure info is valid
7846                 - (connection_added_default_handler): Should only remove pending
7847                         connection info when the manager has the connection that it's
7848                         waiting for.  Fixes segfault in wait_for_connection_info().  
7849
7850 2007-10-10  Dan Williams  <dcbw@redhat.com>
7851
7852         * libnm-util/nm-setting.c
7853           libnm-util/nm-setting.h
7854                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7855                         can use if they choose.  Should be filled in by the settings service
7856                         on-the-fly with the currently logged in user's username
7857
7858 2007-10-10  Dan Williams  <dcbw@redhat.com>
7859
7860         * src/nm-device-802-11-wireless.c
7861                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7862                         as such, because even if the manager fills in the SSID, NM still
7863                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7864                         its SSID
7865
7866 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7867
7868         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7869         code that used NM's own version of dbus signal handling and custom dictionary
7870         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7871         and we get to maintain over 2000 lines less code.
7872
7873         * libnm-util/dbus-dict-helpers.c:
7874         * libnm-util/dbus-dict-helpers.h: Remove.
7875
7876         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7877
7878         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7879
7880         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7881         handlers.
7882
7883         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7884
7885         * configure.in: Remove test/libnm-util/Makefile creation.
7886
7887         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7888
7889         * test/libnm-util/: Remove the whole directory.
7890
7891 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7892
7893         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7894         device_state_changed_idle_id variable or it would contain some random value and the
7895         schedule_change_check calls would not do anything.
7896
7897 2007-10-09  Dan Williams  <dcbw@redhat.com>
7898
7899         * src/nm-device-802-11-wireless.c
7900                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7901                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7902                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7903                         merging of non-SSID-broadcasting APs
7904
7905 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7906
7907         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7908         "guint8 *" since it's usually used with GByteArray->data.
7909         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7910
7911 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7912
7913         * src/NetworkManagerUtils.c
7914         (nm_utils_is_empty_ssid):
7915         (nm_utils_escape_ssid):
7916         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7917         lot of places, so they belong to libnm-utils instead.
7918
7919         Now with 100% less compiler warnings:
7920
7921         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7922         (nm_dbus_unescape_object_path): Ditto.
7923         (nm_utils_ssid_to_utf8): Ditto.
7924         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7925         (nm_utils_escape_ssid): Ditto.
7926         (nm_utils_same_ssid): Ditto.
7927
7928         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7929         (add_one_connection_element): Remove an unused variable.
7930         (impl_manager_get_active_connections): Ditto.
7931
7932         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7933         variable.
7934
7935         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7936         from the previous commit.
7937
7938         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7939         (real_act_stage1_prepare): Ditto.
7940         (activation_success_handler): Ditto.
7941         (get_property): Ditto.
7942
7943         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7944         variable.
7945
7946         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7947         it's always set.
7948
7949         * src/supplicant-manager/nm-supplicant-config.c 
7950         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7951         to expected "char *".
7952         (nm_supplicant_config_add_setting_wireless): Ditto.
7953         (nm_supplicant_config_remove_option): Remove, not used.
7954
7955         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7956         not double.
7957         (test_wireless_enabled): Ifdef out unused function.
7958         (device_deactivate): Ditto.
7959         (device_state_changed): Ditto.
7960         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7961         (nm_utils_escape_ssid): Ditto.
7962
7963         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7964         (nm_utils_is_empty_ssid): Ditto.
7965
7966         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7967         unused variable.
7968
7969         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7970         (setting_vpn_properties_update_secrets): Ditto.
7971         (int_to_gvalue): Ifdef out for now, not used.
7972         (byte_to_gvalue): Ditto.
7973
7974         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7975         Unused, remove.
7976
7977 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7978
7979         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7980         about dbus manager, not named manager.
7981         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7982
7983         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7984         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7985         However, the same signal is emitted when we destroy it and there's 
7986         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7987
7988         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7989         releasing the DBusGConnection, since proxy needs a conneciton.
7990         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7991
7992 2007-10-08  Dan Williams  <dcbw@redhat.com>
7993
7994         * src/NetworkManager.c
7995                 - (main): error on unknown command-line options
7996
7997 2007-10-08  Dan Williams  <dcbw@redhat.com>
7998
7999         Reimplement the invalid connection list.  Don't try to re-activate a
8000         connection that just failed or was canceled.
8001
8002         * src/nm-device.c
8003                 - (connection_secrets_failed_cb): fail device activation, don't just
8004                         deactivate the device.  Listeners have to know about the failure.
8005
8006         * src/NetworkManagerPolicy.c
8007                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8008                         the connection list given to a device's get_best_connection()
8009                         method
8010                 - (device_state_changed): tag failed connections as invalid; clear the
8011                         tag from successful connections
8012
8013 2007-10-08  Dan Williams  <dcbw@redhat.com>
8014
8015         Fix problems with interrupted activation.  Previously, choosing an AP
8016         from the menu, then choosing another one before the first connection was
8017         successful wouldn't deactivate the device before starting the new connection
8018         on that same device.
8019
8020         * src/NetworkManagerPolicy.c
8021                 - (deactivate_old_device, device_state_changed, state_changed,
8022                    nm_policy_new): wrong place to deactivate old devices
8023
8024         * src/nm-manager.c
8025                 - (pending_connection_info_destroy, finalize,
8026                    wait_for_connection_expired): decouple destruction of the pending
8027                         connection info from the manager device
8028                 - (connection_added_default_handler): deactivate any active or
8029                         activating device before starting a new activation
8030                 - (impl_manager_activate_device): deactivate any active or activating
8031                         device before starting a new activation; be sure not to leak
8032                         pending connection info if a new activation request arrives but
8033                         there's already a pending one in-process
8034
8035 2007-10-08  Dan Williams  <dcbw@redhat.com>
8036
8037         * src/NetworkManagerAP.h
8038           src/NetworkManagerAP.c
8039                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8040                         should handle default SSIDs and whether or not to autoconnect
8041                         to them
8042
8043 2007-10-08  Dan Williams  <dcbw@redhat.com>
8044
8045         * src/NetworkManagerPolicy.c
8046                 - (nm_policy_device_change_check): print out connection name where
8047                         possible
8048
8049 2007-10-08  Dan Williams  <dcbw@redhat.com>
8050
8051         * src/nm-device-802-11-wireless.c
8052           src/nm-device-802-11-wireless.h
8053                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8054                         'hidden-ap-found' signal (for internal use only) that allows the
8055                         NMManager to fill in the AP's SSID if a connection has that AP's
8056                         BSSID in its seen-bssids list
8057
8058         * src/nm-manager.c
8059                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8060                         wireless device's hidden-ap-found signal and fill in the APs SSID
8061                         if possible
8062
8063 2007-10-07  Dan Williams  <dcbw@redhat.com>
8064
8065         * src/nm-manager.c
8066           src/nm-manager.h
8067                 - Add a 'connections-added' signal to batch together updates of large
8068                         numbers of connections, like when reading from a settings service
8069                         the first time.  Otherwise, the policy would just activate the first
8070                         suitable connection it saw rather than waiting for the full list
8071                         to arrive.
8072                 - (nm_manager_class_init): register new signal
8073                 - (get_type_for_proxy, connection_get_settings_cb,
8074                    get_connection_for_proxy): centralize places where a proxy's setting
8075                         service is determined
8076                 - (free_get_settings_info): if the call being freed is the last call
8077                         in a pending call group, fire off the connections-added signal
8078                 - (internal_new_connection_cb): add call to a pending call group if
8079                         requested
8080                 - (list_connections_cb): always create a call group here, because this
8081                         call results in a batch of new connections
8082                 - (initial_get_connections): start getting system connections first
8083                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8084                         removed signal when destroying connections
8085
8086         * src/NetworkManagerPolicy.c
8087                 - (nm_policy_new, connections_added): handle connections-added signal
8088                         from the manager
8089
8090 2007-10-06  Dan Williams  <dcbw@redhat.com>
8091
8092         * src/nm-device-802-11-wireless.c
8093                 - (constructor): fix leaked socket
8094
8095 2007-10-06  Dan Williams  <dcbw@redhat.com>
8096
8097         * src/NetworkManagerPolicy.c
8098                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8099                         connection in the list returned by nm_manager_get_connections() is
8100                         reffed, but they weren't getting unreffed before returning
8101
8102 2007-10-06  Dan Williams  <dcbw@redhat.com>
8103
8104         * src/nm-manager.c
8105                 - (connections_to_slist): sort connections first on autoconnect, then
8106                         on timestamp
8107
8108 2007-10-06  Dan Williams  <dcbw@redhat.com>
8109
8110         * libnm-util/nm-connection.c
8111                 - (gvalue_to_string): handle UINT64
8112
8113 2007-10-06  Dan Williams  <dcbw@redhat.com>
8114
8115         * src/NetworkManagerPolicy.c
8116                 - (connection_updated, nm_policy_new): recheck state when a connection
8117                         gets updated
8118
8119 2007-10-06  Dan Williams  <dcbw@redhat.com>
8120
8121         * src/nm-manager.c
8122           src/nm-manager.h
8123                 - (nm_manager_get_connection_dbus_path): make static
8124                 - (nm_manager_update_connections): remove; unused
8125                 - Add a connection-updated signal
8126                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8127                         handle connection object updates
8128
8129 2007-10-06  Dan Williams  <dcbw@redhat.com>
8130
8131         * src/NetworkManagerPolicy.c
8132                 - (connection_removed): deactivate removed connections
8133
8134 2007-10-06  Dan Williams  <dcbw@redhat.com>
8135
8136         * libnm-util/nm-connection.c
8137           libnm-util/nm-connection.h
8138                 - (nm_connection_replace_settings): new function
8139
8140 2007-10-06  Dan Williams  <dcbw@redhat.com>
8141
8142         * libnm-glib/nm-device-802-11-wireless.c
8143                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8144                         on error when getting the active access point over D-Bus from NM
8145
8146 2007-10-05  Dan Williams  <dcbw@redhat.com>
8147
8148         * libnm-util/nm-setting.c
8149                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8150                         to the NMSettingWireless table; it's now a string array not an array
8151                         of byte arrays
8152
8153 2007-10-05  Dan Williams  <dcbw@redhat.com>
8154
8155         * libnm-glib/nm-device-802-11-wireless.c
8156                 - Cache properties and update cached properties on D-Bus signals from NM
8157
8158 2007-10-05  Dan Williams  <dcbw@redhat.com>
8159
8160         * src/nm-device-802-11-wireless.c
8161                 - (set_current_ap): consolidate current_ap handling code into one place
8162                         to ensure that PropertiesChanged signals are emitted in all cases
8163                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8164                    nm_device_802_11_wireless_dispose): use set_current_ap()
8165
8166 2007-10-05  Dan Williams  <dcbw@redhat.com>
8167
8168         * libnm-glib/nm-access-point.c
8169           libnm-glib/nm-access-point.h
8170                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8171                         because the value is cached internally now.  Callers should not
8172                         free the internal value.
8173                 - Make signal name defines private
8174
8175         * test/nm-tool.c
8176           libnm-glib/libnm-glib-test.c
8177                 - Don't free value returned from nm_access_point_get_hw_address()
8178
8179 2007-10-04  Dan Williams  <dcbw@redhat.com>
8180
8181         * introspection/nm-device-802-11-wireless.xml
8182           src/nm-device-802-11-wireless.h
8183           src/nm-device-802-11-wireless.c
8184                 - Add a PropertiesChanged signal for wireless device
8185                 - Store currently associated access point
8186                 - (periodic_update): generalize; update rate here too and emit the
8187                         correct PropertiesChanged signal when stuff changes
8188                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8189                    real_activation_cancel_handler): clear current_ap when device is
8190                         deactivated
8191                 - (link_to_specific_ap, get_ap_blacklisted,
8192                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8193                         code
8194                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8195                         outside this file
8196                 - (real_set_hw_address): emit property changed signal if the card's
8197                         MAC address changes
8198                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8199                         the card is supposed to be connecting to
8200                 - (activation_success_handler): send out property updates on successful
8201                         activation
8202                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8203                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8204                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8205                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8206                         is now boxed; add PropertiesChanged signal
8207
8208 2007-10-04  Dan Williams  <dcbw@redhat.com>
8209
8210         * libnm-util/nm-connection.c
8211           libnm-util/nm-connection.h
8212                 - (nm_connection_verify): new function
8213
8214 2007-10-04  Dan Williams  <dcbw@redhat.com>
8215
8216         * libnm-util/nm-setting.c
8217                 - (nm_settings_verify): use #defines when possible rather than strings
8218                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8219                 - (setting_vpn_verify): tighter validity check on 'service_type'
8220
8221 2007-10-04  Dan Williams  <dcbw@redhat.com>
8222
8223         * libnm-glib/nm-settings.c
8224                 - (nm_connection_settings_class_init): provide correct type for argument
8225                         to the Updated signal so that dbus-glib knows how to marshal it
8226
8227 2007-10-03  Dan Williams  <dcbw@redhat.com>
8228
8229         * src/nm-device-802-3-ethernet.c
8230                 - (real_get_best_connection): don't create automatic connections
8231                         internally; clients should provide a setting that applies to
8232                         the device with 'autoconnect: True'.  Problem was that these
8233                         internally auto-created connections don't have a proxy or service
8234                         name becuase they weren't created by a settings daemon, and therefore
8235                         clients have no idea what to do with them.
8236
8237 2007-10-03  Dan Williams  <dcbw@redhat.com>
8238
8239         * src/nm-device-802-11-wireless.c
8240           src/nm-device-802-11-wireless.h
8241           introspection/nm-device-802-11-wireless.xml
8242                 - GetActiveNetworks -> GetAccessPoints
8243                 - ActiveNetwork -> ActiveAccessPoint
8244                 - NetworkAdded -> AccessPointAdded
8245                 - NetowrkRemoved -> AccessPointRemoved
8246
8247         * libnm-glib/nm-device-802-11-wireless.c
8248           libnm-glib/nm-device-802-11-wireless.h
8249                 - network-added signal -> access-point-added
8250                 - network-removed signal -> access-point-removed
8251                 - nm_device_802_11_wireless_get_active_network() ->
8252                         nm_device_802_11_wireless_get_active_access_point()
8253                 - nm_device_802_11_wireless_get_network_by_path() ->
8254                         nm_device_802_11_wireless_get_access_point_by_path()
8255                 - nm_device_802_11_wireless_get_networks() ->
8256                         nm_device_802_11_wireless_get_access_points()
8257
8258         * libnm-glib/libnm-glib-test.c
8259           test/nm-tool.c
8260           src/NetworkManagerPolicy.c
8261                 - Fixups for Network -> AccessPoint
8262
8263 2007-10-03  Dan Williams  <dcbw@redhat.com>
8264
8265         Add a GetActiveConnections() method on the Manager object.
8266
8267         * src/nm-manager.c
8268           src/nm-manager.h
8269           introspection/nm-manager.xml
8270                 - (connection_get_settings_cb): keep connection type around too
8271                 - (impl_manager_get_active_connections, add_one_connection_element):
8272                         implement; returns all active connections and what devices they
8273                         apply to
8274
8275         * libnm-glib/nm-client.c
8276           libnm-glib/nm-client.h
8277           introspection/nm-manager-client.xml
8278                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8279                         by the caller; free here to avoid memory leak
8280                 - (nm_client_get_active_connections): implement; return the list of
8281                         active connections
8282                 - (nm_client_free_active_connection_element): implement; free an element
8283                         of the GSList returned by nm_client_get_active_connections()
8284
8285 2007-10-03  Dan Williams  <dcbw@redhat.com>
8286
8287         * src/nm-device-802-11-wireless.c
8288                 - (nm_device_802_11_wireless_update_bssid): remove
8289                 - (get_active_ap): new function; find the AP in the scan list which
8290                         matches the current BSSID and SSID of the wireless device
8291                 - (nm_device_802_11_periodic_update): get current AP using
8292                         get_active_ap() and print AP roam messages
8293
8294 2007-10-01  Dan Williams  <dcbw@redhat.com>
8295
8296         * libnm-util/nm-setting.h
8297                 - Add a 'timestamp' option to NMSettingConnection
8298                 - Add a UINT64 type
8299
8300         * libnm-util/nm-setting.c
8301                 - (uint64_to_gvalue): new function
8302                 - (nm_setting_populate_from_hash, nm_setting_hash,
8303                    default_setting_clear_secrets): handle UINT64 type
8304                 - con_table: add 'timestamp' member
8305
8306 2007-10-01  Dan Williams  <dcbw@redhat.com>
8307
8308         * src/nm-manager.c
8309                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8310                         value when the connection can be activated immediately
8311
8312 2007-10-01  Dan Williams  <dcbw@redhat.com>
8313
8314         * libnm-glib/nm-device.c
8315                 - (nm_device_class_init): actually tell glib about the carrier-changed
8316                         signal
8317
8318 2007-10-01  Dan Williams  <dcbw@redhat.com>
8319
8320         * configure.in
8321           src/marshallers/Makefile.am
8322           src/marshallers/nm-marshal.list
8323           src/marshallers/nm-marshal-main.c
8324                 - Consolidate glib marshallers into one place
8325
8326         * src/dhcp-manager/Makefile.am
8327           src/dhcp-manager/nm-dhcp-manager.c
8328           src/supplicant-manager/Makefile.am
8329           src/supplicant-manager/nm-supplicant-manager.c
8330           src/supplicant-manager/nm-supplicant-interface.c
8331           src/ppp-manager/Makefile.am
8332           src/ppp-manager/nm-ppp-manager.c
8333           src/vpn-manager/Makefile.am
8334           src/vpn-manager/nm-vpn-connection.c
8335           src/Makefile.am
8336                 - Use consolidated marshallers
8337
8338         * src/dhcp-manager/nm-dhcp-marshal.list
8339           src/dhcp-manager/nm-dhcp-marshal-main.c
8340           src/supplicant-manager/nm-supplicant-marshal-main.c
8341           src/supplicant-manager/nm-supplicant-marshal.list
8342           src/nm-marshal-main.c
8343           src/nm-marshal.list
8344           src/ppp-manager/nm-ppp-marshal-main.c
8345           src/ppp-manager/nm-ppp-marshal.list
8346           src/vpn-manager/nm-vpn-marshal-main.c
8347           src/vpn-manager/nm-vpn-marshal.list
8348                 - Remove
8349
8350 2007-10-01  Dan Williams  <dcbw@redhat.com>
8351
8352         * include/NetworkManagerVPN.h
8353                 - define VPN connection state change reason codes
8354
8355         * src/vpn-manager/Makefile.am
8356           src/vpn-manager/nm-vpn-marshal.list
8357           src/vpn-manager/nm-vpn-marshal-main.c
8358                 - Add marshallers for StateChanged signal
8359
8360         * introspection/nm-vpn-connection.xml
8361                 - New Banner property
8362                 - StateChanged signal now includes a 'reason' argument
8363
8364         * src/vpn-manager/nm-vpn-connection.c
8365           src/vpn-manager/nm-vpn-connection.h
8366                 - Add a "Banner" property that contains the returned VPN server login
8367                         banner (if any); valid only in the ACTIVATED state
8368                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8369                         a 'reason' argument and emits that reason along with the
8370                         state-changed signal
8371                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8372                 - (nm_vpn_connection_ip4_config_get): save banner for later
8373                 - (nm_vpn_connection_get_banner, get_property,
8374                    nm_vpn_connection_class_init): implement Banner property
8375
8376         * src/vpn-manager/nm-vpn-service.c
8377                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8378                         connection list because elements may get added/removed from it
8379                         while iterating over the list
8380                 - (connection_state_changed): signal now includes the 'reason' argument
8381
8382         * libnm-glib/nm-vpn-connection.c
8383           libnm-glib/nm-vpn-connection.h
8384                 - (nm_vpn_connection_get_banner): new function
8385                 - (state_changed_proxy): handle reason argument
8386
8387 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8388
8389         * src/nm-manager.c:
8390         * src/nm-manager.h:
8391         Implement device activation through NMManager.
8392         Implement "pending device activation" here - If the connection isn't found,
8393         we try to wait for up to 5 seconds for the connection to be provided.
8394         Add NMConnectionType argument to "connection-added" and "connection-removed"
8395         signals.
8396         (nm_manager_get): Remove. Finally.
8397
8398         * src/nm-activation-request.c: 
8399         * src/nm-activation-request.h: 
8400         Remove all the deferred activation code.
8401
8402         * src/nm-device.c: Remove all the deferred activation code. Once the device
8403         activation is started, it's started. Update the activation virtual function
8404         signature.
8405
8406         * src/nm-device-interface.c:
8407         * src/nm-device-interface.h:
8408         Device activation now takes only NMActRequest argument.
8409         Don't expose device activation directly on dbus, it's supposed to go through
8410         NMManager now.
8411
8412         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8413         a bit more compact.
8414         Use the new device activation methods through NMManager.
8415
8416         * introspection/nm-manager-client.xml: 
8417         * introspection/nm-manager.xml: 
8418         * libnm-glib/nm-client.c:
8419         * libnm-glib/nm-client.h:
8420         Add device activation method.
8421         
8422         * libnm-glib/nm-device.c: 
8423         * libnm-glib/nm-device.h: 
8424         * introspection/nm-device.xml: 
8425         Remove device activation method. It's done through NMManager now.
8426
8427         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8428         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8429
8430 2007-09-28  Dan Williams  <dcbw@redhat.com>
8431
8432         * libnm-glib/nm-vpn-connection.c
8433                 - (nm_vpn_connection_get_state): try to update state if the current
8434                         state is UNKNOWN
8435
8436 2007-09-27  Dan Williams  <dcbw@redhat.com>
8437
8438         Patch from Bill Nottingham
8439
8440         * src/supplicant-manager/nm-supplicant-config.c
8441                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8442                         data to the supplicant
8443
8444 2007-09-27  Dan Williams  <dcbw@redhat.com>
8445
8446         * src/NetworkManagerSystem.c
8447                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8448                         and all address manipulation here should be happening on the
8449                         _VPN_ device, not the active device
8450
8451 2007-09-26  Dan Williams  <dcbw@redhat.com>
8452
8453         * src/nm-manager.c
8454           src/nm-manager.h
8455           src/nm-activation-request.c
8456           src/nm-activation-request.h
8457                 - Move the GetSecrets stuff out of the NMManager instance because it
8458                         doesn't really need to be there and complicates things
8459
8460         * src/nm-device.c
8461                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8462                         connection-secrets-failed signal and deactivate the device if
8463                         the GetSecrets call fails
8464
8465         * src/nm-device-802-11-wireless.c
8466                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8467                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8468                         secrets and give correct hints about whether new secrets should be
8469                         asked for by the client or not
8470
8471 2007-09-26  Dan Williams  <dcbw@redhat.com>
8472
8473         * src/vpn-manager/nm-vpn-connection.c
8474                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8475                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8476                         to the secrets-updated signal of the NMConnection since updating
8477                         the secrets is done within the scope of the NMVPNConnection object
8478                         already
8479                 - (get_connection_secrets): fix an uninialized variable usage error
8480
8481 2007-09-26  Dan Williams  <dcbw@redhat.com>
8482
8483         * libnm-util/nm-setting.c
8484                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8485                         actually get updated when the user enters them
8486
8487 2007-09-26  Dan Williams  <dcbw@redhat.com>
8488
8489         * libnm-glib/nm-vpn-plugin.c
8490                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8491
8492 2007-09-26  Dan Williams  <dcbw@redhat.com>
8493
8494         * include/NetworkManagerVPN.h
8495                 - Add a NEED_AUTH state
8496
8497         * src/vpn-manager/nm-vpn-connection.c
8498                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8499                         the connection needs secrets, and if so, then ask the settings
8500                         service to fill in the secrets.  Then start the connection.
8501
8502 2007-09-26  Dan Williams  <dcbw@redhat.com>
8503
8504         * src/vpn-manager/nm-vpn-manager.c
8505                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8506
8507 2007-09-26  Dan Williams  <dcbw@redhat.com>
8508
8509         * introspection/nm-vpn-plugin.xml
8510           libnm-glib/nm-vpn-plugin.c
8511           libnm-glib/nm-vpn-plugin.h
8512                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8513                         the name of the NMSetting in an NMConnection that may require
8514                         secrets specific to that VPN plugin
8515
8516 2007-09-26  Dan Williams  <dcbw@redhat.com>
8517
8518         * src/nm-manager.c
8519           src/nm-manager.h
8520                 - (nm_manager_get_connection_secrets): make static, unused outside
8521                         the file
8522                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8523
8524 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8525
8526         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8527         method.
8528         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8529         unreference the connection.
8530
8531         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8532         passing properties hash and routes string list, pass NMConnection (in hashed form).
8533
8534         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8535         as GSList, no need to copy stuff around anymore.
8536         (nm_vpn_connection_activate): Update the plugin activation method.
8537
8538         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8539         routes argument to GSList.
8540
8541 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8542
8543         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8544         state and try to get the secrets.
8545
8546         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8547         connections from NMManager and let the device to choose the best from the list.
8548         Since the connection list is sorted by system ones first and user ones later,
8549         the devices still prefer system connections like they did before.
8550         (deactivate_old_device): Implement. When a device starts activation, we have a
8551         policy (for now at least) to deactivate any other device that might be either
8552         active or still activating.
8553
8554         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8555         It's set on construction, there will be no other way to access it.
8556
8557         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8558         device events and drive the device, not the other way around.
8559
8560         * src/nm-device-802-3-ethernet.c: Ditto.
8561
8562         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8563         sent along, pass it on to virtual functions.
8564
8565         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8566         for now, but should really be public instead of nm_device_get_iface() since iface
8567         is a property of the DeviceInterface, not Device.
8568         (impl_device_activate): Don't touch NMManager!
8569
8570 2007-09-26  Jürg Billeter  <j@bitron.ch>
8571
8572         * initscript/paldo/NetworkManager.in:
8573         * initscript/paldo/NetworkManagerDispatcher.in:
8574         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8575         (nm_system_flush_loopback_routes): update paldo backend
8576
8577 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8578
8579         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8580         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8581         which means none of the devices get brought down properly, which in turn leaves
8582         DHCP client running.
8583
8584         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8585         (supplicant_connection_timeout_cb): Ditto.
8586
8587 2007-09-25  Dan Williams  <dcbw@redhat.com>
8588
8589         * src/nm-device.c
8590                 - (device_activation_go): small hack to work around race when
8591                         activating deferred connections; should solve this in a better way
8592
8593 2007-09-25  Dan Williams  <dcbw@redhat.com>
8594
8595         * introspection/nm-device.xml
8596           libnm-glib/nm-device.c
8597           libnm-glib/nm-device.h
8598                 - Add 'Carrier' property to exported NMDevice objects
8599
8600         * src/nm-device-interface.h
8601           src/nm-device-interface.c
8602           src/nm-device.c
8603                 - Add a 'carrier' property to internal NMDevice objects
8604
8605 2007-09-25  Dan Williams  <dcbw@redhat.com>
8606
8607         * src/nm-device-802-11-wireless.c
8608                 - (ap_auth_enforced): also return the encryption status of the AP so
8609                         that callers can differentiate easily between unencrypted APs
8610                         and encrypted ones, in addition to whether the AP has an
8611                         authenticator
8612                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8613                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8614                         previously would request secrets from unencrypted APs at times
8615
8616 2007-09-25  Dan Williams  <dcbw@redhat.com>
8617
8618         * src/nm-manager.c
8619                 - (nm_manager_update_state): new function; updates state and emits
8620                         appropriate signals ensuring a state-change signal for the same state
8621                         never gets emitted twice in a row.
8622                 - (manager_device_state_changed): handle more device state to get a
8623                         better picture of the overall NM state
8624
8625 2007-09-25  Dan Williams  <dcbw@redhat.com>
8626
8627         * libnm-glib/nm-settings.c
8628           libnm-glib/nm-settings.h
8629                 - (new_error -> nm_settings_new_error): make public so that subclasses
8630                         can use the same error domain.  Also pass a valid error code to
8631                         g_error_new_literal() so that libdbus doesn't assert when converting
8632                         the GError into a DBusError
8633                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8634                    impl_connection_settings_get_settings,
8635                    impl_connection_settings_get_secrets): use new error creator
8636                         function
8637
8638 2007-09-25  Dan Williams  <dcbw@redhat.com>
8639
8640         * src/NetworkManager.c
8641                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8642
8643 2007-09-25  Dan Williams  <dcbw@redhat.com>
8644
8645         * src/supplicant-manager/nm-supplicant-manager.c
8646                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8647                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8648                    nm_supplicant_manager_startup): when the supplicant isn't running,
8649                         try to start it periodically via system bus activation.  Fixes
8650                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8651                         for the supplicant to come back
8652
8653 2007-09-25  Dan Williams  <dcbw@redhat.com>
8654
8655         Ensure that old activation requests are forgotten about; previously
8656         hitting Cancel in the password dialog would deactivate whatever device
8657         that password was requested for, even if that wasn't the currently
8658         activating connection.
8659
8660         * src/nm-manager.c
8661           src/nm-manager.h
8662                 - (nm_manager_get_connection_secrets): track the pending call
8663                         object so it can be canceled later if needed
8664                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8665                         GetSecrets call for a particular connection
8666
8667         * src/nm-activation-request.c
8668                 - (dispose): cancel any outstanding GetSecrets calls on the
8669                         connection
8670
8671 2007-09-25  Dan Williams  <dcbw@redhat.com>
8672
8673         * src/NetworkManagerPolicy.c
8674                 - (nm_policy_device_change_check): handle devices that have a
8675                         deferred activation.  These devices are not really active _yet_,
8676                         but need to be treated as such here.  Don't interrupt them
8677                         automatically.
8678
8679         * src/nm-device-interface.c
8680                 - (impl_device_activate): handle devices that have a deferred activation
8681                         like activating or active devices.  When multiple active devices
8682                         get committed, the device shouldn't be deactivated until the
8683                         connection details are available to avoid DoS and such.  Currently,
8684                         any active, activating, or deferred activation device is deactivated
8685                         here before starting the new activation request.
8686
8687 2007-09-25  Dan Williams  <dcbw@redhat.com>
8688
8689         Properly re-query secrets from the settings daemon when stuff fails.
8690
8691         * src/nm-device-802-11-wireless.c
8692                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8693                         between Shared Key and Open System auth modes
8694                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8695                    real_act_stage4_ip_config_timeout): clear existing secrets and
8696                         request new ones when something fails due to a suspected wrong key
8697                 - (real_act_stage2_config): fix for new request_new argument to
8698                         nm_manager_get_connection_secrets()
8699
8700         * src/nm-manager.c
8701           src/nm-manager.h
8702                 - (nm_manager_get_connection_secrets): return error status; pass
8703                         new request_new argument on to the settings daemon
8704
8705         * introspection/nm-settings-connection.xml
8706                 - New 'request_new' argument to the GetSecrets call that hints to the
8707                         settings daemon to ask the user for completely new secrets
8708
8709         * libnm-glib/nm-settings.c
8710           libnm-glib/nm-settings.h
8711                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8712                         argument
8713
8714 2007-09-25  Dan Williams  <dcbw@redhat.com>
8715
8716         * libnm-util/nm-connection.c
8717           libnm-util/nm-connection.h
8718                 - (nm_connection_clear_secrets): new function; clear secrets out of
8719                         each NMSetting in an NMConnection
8720
8721         * libnm-util/nm-setting.h
8722           libnm-util/nm-setting.c
8723                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8724                         secrets out of an NMSetting
8725                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8726                    nm_setting_wired_new, nm_setting_wireless_new,
8727                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8728                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8729                         to default handler default_setting_clear_secrets()
8730
8731 2007-09-25  Dan Williams  <dcbw@redhat.com>
8732
8733         * src/nm-activation-request.c
8734           src/nm-activation-request.h
8735                 - (nm_act_request_is_deferred): new function
8736
8737 2007-09-24  Dan Williams  <dcbw@redhat.com>
8738
8739         * src/nm-device-802-11-wireless.c
8740                 - (activation_success_handler): update signal strength immediately
8741                         after activation
8742
8743 2007-09-24  Dan Williams  <dcbw@redhat.com>
8744
8745         * libnm-util/nm-setting.c
8746                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8747
8748 2007-09-24  Dan Williams  <dcbw@redhat.com>
8749
8750         * src/NetworkManagerPolicy.c
8751                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8752                         device by deactivating it because it doesn't have a "best connection".
8753                         Since autoconnect=False connections aren't automatically chosen,
8754                         NM would interrupt activation of such a connection because it
8755                         would never be "best" due to autoconnect=False.
8756
8757 2007-09-24  Dan Williams  <dcbw@redhat.com>
8758
8759         * src/nm-manager.c
8760                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8761                         actually has some time to enter a key before the GetSecrets call
8762                         times out
8763
8764 2007-09-24  Dan Williams  <dcbw@redhat.com>
8765
8766         * introspection/nm-manager.xml
8767           src/nm-manager.c
8768                 - (impl_manager_legacy_state): fix 'state' method call return value
8769
8770 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8771
8772         * test/Makefile.am: Install nm-tool
8773
8774 2007-09-24  Dan Williams  <dcbw@redhat.com>
8775
8776         Patch from Ross Burton <ross@burtonini.com>
8777
8778         * test/nm-tool.c
8779           callouts/nm-dhcp-client-action.c
8780           src/nm-netlink.c
8781           src/vpn-manager/nm-vpn-connection.c
8782           libnm-glib/libnm-glib-test.c
8783                 - warning fixes
8784
8785 2007-09-24  Dan Williams  <dcbw@redhat.com>
8786
8787         * libnm-util/nm-utils.h
8788           libnm-util/nm-utils.c
8789                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8790                         remove, unused
8791
8792 2007-09-23  Dan Williams  <dcbw@redhat.com>
8793
8794         * vpn-daemons/vpnc/properties/nm-vpnc.c
8795                 - Update for new VPN properties API bits; instead of passing around
8796                         a lot of random things, everything goes into the NMConnection
8797                         object.
8798
8799 2007-09-23  Dan Williams  <dcbw@redhat.com>
8800
8801         * libnm-util/nm-setting.c
8802                 - Correctly dispose of settings objects if creating them from a hash
8803                         table fails
8804
8805 2007-09-23  Dan Williams  <dcbw@redhat.com>
8806
8807         * libnm-util/nm-setting.c
8808                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8809                         the hash table in a standard manner.  Clients of libnm-util should
8810                         only call g_hash_table_remove_all(), never destroy the hash table
8811                         and recreate it.
8812
8813 2007-09-22  Dan Williams  <dcbw@redhat.com>
8814
8815         * src/nm-device-802-11-wireless.c
8816                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8817                         real reason to do it so often, and reduces wakeups for clients.
8818
8819 2007-09-21  Dan Williams  <dcbw@redhat.com>
8820
8821         * src/nm-device-802-11-wireless.c
8822                 - (build_supplicant_config): wpa_supplicant requires the option
8823                         key_mgmt=NONE for unencrypted networks
8824                 - (real_act_stage2_config): clarify log message on activation
8825
8826 2007-09-21  Dan Williams  <dcbw@redhat.com>
8827
8828         * test/nm-supplicant-test.c
8829           test/Makefile.am
8830                 - Remove supplicant test binary; no longer applicable
8831
8832 2007-09-21  Dan Williams  <dcbw@redhat.com>
8833
8834         * src/supplicant-manager/nm-supplicant-manager.c
8835                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8836                         activate it on the system bus
8837
8838 2007-09-20  Dan Williams  <dcbw@redhat.com>
8839
8840         * initscript/RedHat/NetworkManager.in
8841                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8842
8843 2007-09-20  Dan Williams  <dcbw@redhat.com>
8844
8845         * src/nm-device.c
8846                 - (nm_device_is_activating): work around a race between auto-activation
8847                         and the user activating the same device that is being auto-activated
8848
8849 2007-09-20  Dan Williams  <dcbw@redhat.com>
8850
8851         * src/nm-device-interface.c
8852                 - (impl_device_activate): until multiple active device support lands,
8853                         ensure only one device can be active at a time
8854
8855 2007-09-20  Dan Williams  <dcbw@redhat.com>
8856
8857         * src/supplicant-manager/nm-supplicant-config.c
8858           src/supplicant-manager/nm-supplicant-config.h
8859                 - (nm_supplicant_config_add_option): hide secrets from system logs
8860
8861 2007-09-20  Dan Williams  <dcbw@redhat.com>
8862
8863         * src/NetworkManagerPolicy.c
8864                 - (nm_policy_device_change_check): re-enable the wireless device change
8865                         checking code; insted of checking for SSIDs, check for the same
8866                         connection instead
8867
8868 2007-09-20  Dan Williams  <dcbw@redhat.com>
8869
8870         * src/nm-device-802-11-wireless.c
8871                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8872                         composite link state when determining when to start the disconnection
8873                         timer; that link state is already based on the supplicant interface's
8874                         status which is exactly what's already being examined, plus the link
8875                         state is a conglomeration of various things that we don't want here
8876
8877 2007-09-20  Dan Williams  <dcbw@redhat.com>
8878
8879         * libnm-glib/nm-access-point.c
8880                 - (handle_property_changed): strength is a UCHAR
8881
8882 2007-09-20  Dan Williams  <dcbw@redhat.com>
8883
8884         * src/supplicant-manager/nm-supplicant-config.c
8885                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8886                         string list keywords too since that's what wpa_supplicant wants
8887
8888 2007-09-20  Dan Williams  <dcbw@redhat.com>
8889
8890         * libnm-util/nm-setting.c
8891                 - (convert_strv_to_slist): dupe the values in the list because since
8892                         the list is a boxed value, it'll get destroyed when it's container
8893                         (like a hash table or whatever) gets destroyed
8894
8895 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8896
8897         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8898         GSList.
8899
8900         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8901
8902         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8903         just use (g_object_set_data_full).
8904
8905         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8906         that NMSettingVPN->routes is a GSList, convert it to char **.
8907         (nm_vpn_connection_ip4_config_get): Free routes when done.
8908         (nm_vpn_connection_activate): Ditto.
8909
8910         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8911         (real_act_stage2_config): Use defined setting names.
8912
8913 2007-09-20  Dan Williams  <dcbw@redhat.com>
8914
8915         * src/nm-device-802-11-wireless.c
8916           src/nm-manager.c
8917           src/nm-manager.h
8918                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8919                         so that the device can be deactivated if secrets are wrong
8920
8921 2007-09-20  Dan Williams  <dcbw@redhat.com>
8922
8923         * introspection/nm-settings-connection.xml
8924           libnm-glib/nm-settings.c
8925           libnm-glib/nm-settings.h
8926                 - Make GetSecrets asynchronous on the server side
8927
8928 2007-09-20  Dan Williams  <dcbw@redhat.com>
8929
8930         * src/nm-manager.h
8931           src/nm-device.c
8932                 - (nm_device_activate): actually check if a given connection
8933                         exists before assuming it doesn't
8934
8935 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8936
8937         * libnm-util/nm-connection.c (register_default_creators): Use defined
8938         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8939
8940         * libnm-util/nm-setting.c: Define property name strings, use them.
8941         Implement NMSettingVPN and NMSettingVPNProperties settings.
8942         Implement NM_S_TYPE_GVALUE_HASH.
8943         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8944         (setting_connection_verify): Rename 'devtype' property to 'type'.
8945
8946         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8947         properties.
8948
8949         * src/vpn-manager/nm-vpn-service.c: Ditto.
8950
8951         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8952
8953         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8954         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8955
8956         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8957         names. NMSettingConnection->devtype got renamed to 'type'.
8958
8959         * src/nm-device-802-3-ethernet.c (find_best_connection):
8960         (real_get_best_connection): Ditto.
8961
8962         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8963
8964         * libnm-glib/nm-vpn-manager.[ch]: Update.
8965
8966 2007-09-19  Dan Williams  <dcbw@redhat.com>
8967
8968         * src/NetworkManagerAP.c
8969           src/NetworkManagerAP.h
8970           introspection/nm-access-point.xml
8971                 - Change strength-changed signal into a properties-changed signal
8972                         for all properties, not just strength.  Export that signal over dbus
8973                         so listeners don't have to poll NM for changes.
8974                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8975                         get exported over D-Bus, so break up the logic and let other bits
8976                         decided when to export the AP
8977                 - (nm_ap_new_from_ap): remove, unused
8978
8979         * src/nm-device-802-11-wireless.c
8980                 - (merge_scanned_ap): only export APs that are actually on the device
8981                         list, not every AP created internally
8982
8983         * libnm-glib/nm-access-point.c
8984           libnm-glib/nm-access-point.h
8985                 - Cache properties internally and only hit DBus when needed.  Get
8986                         property updates from NM signals
8987
8988 2007-09-16  Dan Williams  <dcbw@redhat.com>
8989
8990         * libnm-util/nm-connection.c
8991           libnm-util/nm-connection.h
8992                 - (nm_connection_for_each_setting_value): new function; iterate over
8993                         each setting's value and call a user-provided function with details
8994                         about that value
8995
8996         * libnm-util/nm-setting.c
8997           libnm-util/nm-setting.h
8998                 - (nm_setting_enumerate_values): new function; enumerate the values
8999                         of a specific NMSetting subclass for a user-provided function with
9000                         details about that value
9001                 - Change wep_tx_keyidx to a uint32
9002                 - Create settings value tables for each setting defining their type,
9003                         key name, offset into the NMSetting subclass' structure, and whether
9004                         they are required and/or a secret
9005                 - (nm_setting_populate_from_hash): generic function to populate an
9006                         NMSetting from a GHash table, make all settings use it
9007                 - (nm_setting_hash): generic function to derive a GHashTable from
9008                         an NMSetting object, make all settings use it
9009
9010 2007-09-14  Dan Williams  <dcbw@redhat.com>
9011
9012         Remove unused stuff in libnm-util
9013
9014         * configure.in
9015           libnm-util/Makefile.am
9016           libnm-util/cipher-private.h
9017           libnm-util/cipher-wep-ascii.c
9018           libnm-util/cipher-wep-ascii.h
9019           libnm-util/cipher-wep-hex.c
9020           libnm-util/cipher-wep-hex.h
9021           libnm-util/cipher-wep-passphrase.c
9022           libnm-util/cipher-wep-passphrase.h
9023           libnm-util/cipher-wpa-psk-hex.c
9024           libnm-util/cipher-wpa-psk-hex.h
9025           libnm-util/cipher-wpa-psk-passphrase.c
9026           libnm-util/cipher-wpa-psk-passphrase.h
9027           libnm-util/cipher.c
9028           libnm-util/cipher.h
9029           libnm-util/dbus-helpers.c
9030           libnm-util/dbus-helpers.h
9031           libnm-util/gnome-keyring-md5.c
9032           libnm-util/gnome-keyring-md5.h
9033           libnm-util/sha1.c
9034           libnm-util/sha1.h
9035           src/nm-device-802-11-wireless.c
9036           test/libnm-util/Makefile.am
9037           test/libnm-util/test-ciphers.c
9038           test/libnm-util/test-dbus-helpers.c
9039           test/libnm-util/test-inputs.h
9040                 - Removed
9041
9042 2007-09-14  Dan Williams  <dcbw@redhat.com>
9043
9044         * libnm-util/dbus-method-dispatcher.c
9045           libnm-util/dbus-method-dispatcher.h
9046                 - Remove, unused
9047
9048 2007-09-14  Dan Williams  <dcbw@redhat.com>
9049
9050         Implement deferred activation support in the device class.
9051
9052         * src/nm-device-interface.c
9053           src/nm-device-interface.h
9054                 - (nm_device_interface_activate): take more arguments to support
9055                         deferred activation; callers must pass one of (connection) OR
9056                         (service_name, connection_path)
9057                 - (impl_device_activate): connection validation is punted to the device
9058                         to be able to handle deferred activation.  Yes, this means errors
9059                         don't get returned from the Activate() dbus call, and yes, that
9060                         should be fixed somehow later.
9061
9062         * src/nm-device.c
9063           src/nm-device.h
9064                 - (clear_act_request): clear additional deferred activation stuff too
9065                 - (deferred_activation_timeout_cb): new function; clean up when
9066                         deferred activation times out.
9067                 - (deferred_activation_start_cb): new function; when the connection
9068                         finally becomes available, start device activation
9069                 - (nm_device_activate): attach to the right signals of the activation
9070                         request if we need to defer activation until the connection is valid
9071
9072         * src/NetworkManagerPolicy.c
9073                 - (nm_policy_device_change_check): update for additional arguments
9074                         required for nm_device_interface_activate().  Pass NULL for these
9075                         though because this function already knows exactly which
9076                         NMConnection to use
9077
9078 2007-09-14  Dan Williams  <dcbw@redhat.com>
9079
9080         Implement deferred activation handling in the NMActRequest class.  When a
9081         client wants to activate a device but must create the NMConnection details
9082         on the fly, there likely hasn't been enough time yet for NM to receive the
9083         new connection signal and grab all the connection details.  So the
9084         activation is deferred (and bounded by a timer) for a while, and if the
9085         connection appears within the window, it is activated.
9086
9087         * src/nm-activation-request.c
9088           src/nm-activation-request.h
9089                 - (nm_act_request_class_init): two new signals to support deferred
9090                         activation, to allow the listener to handle both timeout and success
9091                 - (nm_act_request_new_deferred): new function, starts the deferred
9092                         activation timeout handler and listens to the NMManager for
9093                         new-connection signals to notice when the connection comes in
9094
9095 2007-09-14  Dan Williams  <dcbw@redhat.com>
9096
9097         * src/nm-manager.h
9098           src/nm-manager.c
9099                 - (nm_manager_get_connection_service_name,
9100                    nm_manager_get_connection_dbus_path): get details about a connection
9101                         known internally by the NMManager
9102                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9103                         because NMConnection is now a GObject subclass
9104                 - Use constant for the gobject data tag used on NMConnection objects for
9105                         storing the associated DBusGProxy
9106
9107 2007-09-14  Dan Williams  <dcbw@redhat.com>
9108
9109         * utils/Makefile.am
9110           utils/nm-utils.c
9111           utils/nm-utils.h
9112           src/supplicant-manager/Makefile.am
9113           src/dhcp-manager/Makefile.am
9114           src/backends/Makefile.am
9115           src/named-manager/Makefile.am
9116           src/ppp-manager/Makefile.am
9117           src/vpn-manager/Makefile.am
9118           test/libnm-util/Makefile.am
9119           test/test-common/Makefile.am
9120                 - Remove utils/; it was unused
9121
9122 2007-09-13  Dan Williams  <dcbw@redhat.com>
9123
9124         * libnm-glib/nm-vpn-manager.h
9125           libnm-glib/nm-vpn-manager.c
9126                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9127
9128 2007-09-13  Dan Williams  <dcbw@redhat.com>
9129
9130         * src/nm-device-802-3-ethernet.c
9131                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9132                         netlink monitor carrier signals on dispose, not bring down.  The
9133                         carrier signals should be handled over the entire lifetime of the
9134                         device anyway, not created/destroyed on up or down.
9135
9136 2007-09-13  Dan Williams  <dcbw@redhat.com>
9137
9138         * libnm-glib/nm-device.c
9139           libnm-glib/nm-device.h
9140                 - (nm_device_activate): take a connection object path rather than an
9141                         NMConnection because NMConnection isn't exported over D-Bus and
9142                         therefore it dbus-glib can't automatically get an object path from it
9143
9144 2007-09-13  Dan Williams  <dcbw@redhat.com>
9145
9146         * libnm-util/nm-setting.c
9147                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9148
9149 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9150
9151         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9152
9153 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9154
9155         * src/vpn-manager/nm-vpn-connection.[ch]: 
9156         * src/vpn-manager/nm-vpn-manager.[ch]:
9157         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9158         dbus-glib, GObjects, signals etc.
9159
9160         * libnm-glib/nm-vpn-manager.[ch]: 
9161         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9162         so much, rewrite these too.
9163
9164         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9165         the new introspection files.
9166
9167         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9168
9169         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9170         the header with the same name from libnm-utils.
9171
9172         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9173
9174         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9175
9176         * introspection/nm-vpn-plugin.xml: Implement.
9177
9178         * introspection/nm-vpn-connection.xml: Implement.
9179
9180         * introspection/nm-vpn-manager.xml: Implement.
9181
9182         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9183         the named manager argument, it can just as easily get it as the caller.
9184         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9185
9186         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9187
9188         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9189
9190         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9191         libnm-utils.
9192
9193         * libnm-util/nm-connection.c: Ditto.
9194
9195         * src/NetworkManagerMain.h: Remove, it's finally empty.
9196
9197         * configure.in: Remove utils/ from build.
9198
9199         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9200         of hard-coded strings.
9201
9202         * utils/: Move it over to libnm-util.
9203
9204         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9205
9206         * dispatcher-daemon/Makefile.am: Ditto.
9207
9208         * src/Makefile.am: Ditto.
9209
9210 2007-09-12  Dan Williams  <dcbw@redhat.com>
9211
9212         Wireless connections can be made with config data from the applet now.
9213         
9214         Yay.
9215
9216         * src/supplicant-manager/nm-supplicant-config.h
9217           src/supplicant-manager/nm-supplicant-config.c
9218                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9219                 - (nm_supplicant_config_add_setting_wireless,
9220                    nm_supplicant_config_add_setting_wireless_security): new functions;
9221                         add key/value pairs from the settings objects to the supplicant
9222                         config
9223
9224         * src/nm-device-802-11-wireless.c
9225                 - (cull_scan_list): fix check to not prune currently associated AP
9226                 - (build_supplicant_config, real_act_stage2_config): call the functions
9227                         of the NMSupplicantConfig that parse settings objects rather than
9228                         doing it manually here
9229
9230 2007-09-12  Dan Williams  <dcbw@redhat.com>
9231
9232         * src/supplicant-manager/nm-supplicant-interface.c
9233           src/supplicant-manager/nm-supplicant-marshal.list
9234                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9235                         "connection-error" signal arguments should be STRING not CHAR
9236
9237 2007-09-12  Dan Williams  <dcbw@redhat.com>
9238
9239         * src/NetworkManagerUtils.c
9240           src/NetworkManagerUtils.h
9241                 - (nm_utils_hexstr2bin): new function
9242
9243 2007-09-11  Dan Williams  <dcbw@redhat.com>
9244
9245         * src/nm-manager.c
9246                 - (connection_get_settings_cb): emit connection-added signal
9247                 - (connection_removed_cb): uncomment bits for system settings service,
9248                         send connection-removed when appropriate
9249                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9250                         the stack by trying to g_object_set_data() on something that's
9251                         not a GObject; handle case where settings service returns
9252                         empty settings hash table
9253
9254 2007-09-11  Dan Williams  <dcbw@redhat.com>
9255
9256         * src/NetworkManagerPolicy.c
9257                 - (connection_added, connection_removed): trigger device change checks
9258                         on connection changes
9259
9260 2007-09-11  Dan Williams  <dcbw@redhat.com>
9261
9262         * src/nm-activation-request.c
9263                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9264
9265 2007-09-11  Dan Williams  <dcbw@redhat.com>
9266
9267         * src/nm-device-802-11-wireless.c
9268                 - (real_connection_secrets_updated): fix erroneous check
9269
9270 2007-09-11  Dan Williams  <dcbw@redhat.com>
9271
9272         * introspection/nm-device.xml
9273           libnm-glib/nm-device.c
9274           libnm-glib/nm-device.c
9275                 - Fix Activate call argument borkage; Activate takes 3 arguments
9276
9277 2007-09-11  Dan Williams  <dcbw@redhat.com>
9278
9279         * libnm-glib/nm-access-point.c
9280           libnm-glib/nm-access-point.c
9281                 - (nm_access_point_get_frequency): now returns guint32 to match
9282                         property change on 2007-09-10
9283
9284 2007-09-11  Dan Williams  <dcbw@redhat.com>
9285
9286         * src/nm-device-802-11-wireless.c
9287                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9288                         somewhere defines 'index' and I missed this one when I fixed the
9289                         shadow declaration errors earlier
9290
9291 2007-09-11  Dan Williams  <dcbw@redhat.com>
9292
9293         * libnm-util/nm-connection.c
9294                 - (nm_connection_update_secrets, need_secrets_check): move
9295                         802-11-wireless-security need_secrets checks to the setting object
9296                         itself, where it belongs
9297
9298         * libnm-util/nm-setting.c
9299           libnm-util/nm-setting.h
9300                 - (nm_setting_need_secrets): new function
9301                 - (setting_wireless_security_verify,
9302                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9303                 - (setting_wireless_security_need_secrets): mostly copy code over
9304                         from nm-connection.c
9305
9306 2007-09-11  Dan Williams  <dcbw@redhat.com>
9307
9308         * libnm-util/nm-setting.c
9309           libnm-util/nm-setting.h
9310                 - (nm_setting_update_secrets): new function; add a virtual function that
9311                         subclasses can implement to update their secrets
9312                 - (setting_wireless_security_update_secrets): implement that function
9313                         for the 802-11-wireless-security subclass
9314
9315         * libnm-util/nm-connection.c
9316           libnm-util/nm-connection.h
9317                 - (nm_connection_update_secrets): update secrets for a Setting and
9318                         emit a signal on success
9319
9320         * src/nm-manager.c
9321           src/nm-manager.h
9322           src/nm-marshal.list
9323                 - (connection_get_settings_cb): enable system settings bits
9324                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9325                         to request secrets from the settings dbus service and to
9326                         push those secrets to the NMConnection itself
9327
9328         * src/nm-activation-request.c
9329           src/nm-activation-request.h
9330                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9331                         currently being activated, and proxy that signal to other listeners.
9332                         Goes through the activation request because the activation request
9333                         is the thing that manages the lifetime of the NMConnection that's
9334                         being activated.
9335
9336         * src/nm-device-802-11-wireless.c
9337                 - (real_connection_secrets_updated): implement the connection secrets
9338                         updated notification and restart activation when secrets are
9339                         received
9340                 - (real_act_stage2_config): request secrets from the settings dbus
9341                         service if secrets are needed
9342
9343         * src/nm-device.c
9344           src/nm-device.h
9345                 - (clear_act_request, nm_device_activation_cancel,
9346                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9347                         where the activation request is cleared
9348                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9349                         updated secrets signal of activation request and add a function
9350                         that subclasses can override to handle it easily
9351
9352 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9353
9354         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9355         removal of NetworkManagerAPList.
9356
9357 2007-09-10  Dan Williams  <dcbw@redhat.com>
9358
9359         * src/NetworkManagerAP.c
9360           src/NetworkManagerAP.h
9361           introspection/nm-access-point.xml
9362                 - Change 'freq' property to a guint32 instead of a double since we
9363                         weren't using the floating point bits anyway
9364
9365 2007-09-10  Dan Williams  <dcbw@redhat.com>
9366
9367         * NetworkManagerAP.c
9368           NetworkManagerAP.h
9369           NetworkManagerPolicy.c
9370           NetworkManagerSystem.c
9371           NetworkManagerUtils.c
9372           NetworkManagerUtils.h
9373           nm-device-802-11-wireless.c
9374           nm-device-802-3-ethernet.c
9375           nm-hal-manager.c
9376           nm-manager.c
9377           vpn-manager/nm-dbus-vpn.c
9378                 - Warning fixes; casts and removal of unused variables
9379
9380 2007-09-10  Dan Williams  <dcbw@redhat.com>
9381
9382         * include/NetworkManager.h
9383                 - Kill NMNetworkType; AP types don't matter any more
9384
9385         * src/NetworkManagerAPList.c
9386           src/NetworkManagerAPList.h
9387           src/Makefile.am
9388                 - Kill; NMAccessPointList has outlived it's usefulness
9389
9390         * src/NetworkManagerAP.c
9391           src/NetworkManagerAP.h
9392                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9393                         functions; check if an NMConnection object is compatible with the
9394                         settings of this AP
9395                 - (freq_to_channel, channel_to_freq): utility functions for
9396                         channel <-> frequency conversion
9397
9398         * src/nm-device.c
9399           src/nm-device.h
9400                 - (nm_device_get_best_connection): pass the specific object around
9401                          (which might be the object path of a specific AP to connect to).
9402                          The get_best_connection() call should populate this on return
9403                          if needed (wireless does).
9404
9405         * src/nm-device-802-3-ethernet.c
9406                 - (real_get_best_connection): handle specific_object argument
9407
9408         * src/NetworkManager.c
9409           src/NetworkManagerMain.h
9410                 - Remove unused includes
9411
9412         * src/nm-device-802-11-wireless.c
9413           src/nm-device-802-11-wireless.h
9414                 - Convert the ap_list into a GSList from an NMAccessPointList
9415                 - No need for caching the 'activation_ap' since this is now determined
9416                         from the specific_object of the activation request, which is
9417                         populated from the get_best_connection() call or from a user request
9418                 - (nm_device_802_11_wireless_update_bssid): fix warning
9419                 - (get_wireless_capabilities): fix error message format arguments
9420                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9421                 - (find_best_connection, real_get_best_connection): implement
9422                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9423                         move here from NetworkManagerAPList
9424                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9425                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9426                         already verified earlier
9427                 - (real_act_stage2_config): use nm_connection_need_secrets()
9428
9429         * src/NetworkManagerPolicy.c
9430                 - (nm_policy_auto_get_best_device): handle specific objects
9431                 - (create_connection): remove; automatic connection creation functionality
9432                         is handled by the Connection objects
9433                 - (nm_policy_device_change_check): handle specific_object
9434
9435         * libnm-util/nm-connection.c
9436                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9437
9438 2007-09-10  Dan Williams  <dcbw@redhat.com>
9439
9440         * src/nm-manager.c
9441                 - (query_connections): fix uninitialized variable problem that caused
9442                         segfault
9443                 - (nm_manager_add_device): take devices down on startup so that we can
9444                         be assured that nm_device_is_up() won't short-circuit the init
9445                         process.  Hack until the is_up check gets split into two pieces
9446                         that aren't behaviorally confusing.
9447
9448 2007-09-09  Dan Williams  <dcbw@redhat.com>
9449
9450         * introspection/nm-device.xml
9451                 - The 'Activate' method now takes 3 arguments, a service name for the
9452                 settings service (user or system), the object path of the connection
9453                 to activate, and the specific object to activate, if any
9454
9455         * src/nm-device-interface.c
9456                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9457                 Add error bits
9458                 - (impl_device_activate): adapt to new Activate arguments; validate
9459                 the service name and get the Connection object from the NMManager
9460                 before starting to activate the device with the specified connection
9461
9462         * src/nm-device-802-3-ethernet.c
9463                 - (real_get_best_connection): find the best connection, or create a
9464                 default one if no existing connections can be used
9465
9466         * src/NetworkManagerPolicy.c
9467                 - (nm_policy_auto_get_best_device): Get the device's best connection
9468                 and only pick the device if it has one
9469                 - (nm_policy_device_change_check): disable wireless bits for now until
9470                 wireless get_best_connection() can be implemented (replacing "best_ap");
9471                 don't create a default connection here as the device subclass will do
9472                 that if needed
9473
9474         * src/nm-manager.h
9475           src/nm-manager.c
9476                 - (nm_manager_get): make NMManager a singleton and expose the getter
9477                 internally
9478                 - Rework internal NMManager connection handling to use the same
9479                 routines for both the system and user settings services.  Most calls
9480                 take a new NMConnectionType argument specifying either system or user
9481                 connections
9482                 - (nm_manager_get_connection_by_object_path): new function; get a
9483                 connection keyed on its object path
9484
9485         * src/NetworkManager.c
9486                 - (main): use nm_manager_get()
9487
9488 2007-09-09  Dan Williams  <dcbw@redhat.com>
9489
9490         * src/nm-device.h
9491           src/nm-device.c
9492                 - (nm_device_get_best_connection): new function; get best connection
9493                         for the device at that time
9494
9495 2007-09-09  Dan Williams  <dcbw@redhat.com>
9496
9497         * src/nm-device-interface.h
9498                 - Add NMDeviceInterfaceError with an UnknownConnection error
9499
9500 2007-09-09  Dan Williams  <dcbw@redhat.com>
9501
9502         Stupid mistake on my part; object path and interface for settings service
9503         and connection objects can be the same, only the service name must be
9504         different for the system and user settings services.
9505
9506         * include/NetworkManager.h
9507           src/nm-manager.c
9508           introspection/nm-settings-connection.xml
9509           introspection/nm-settings.xml
9510           libnm-glib/nm-settings.c
9511                 - (nm_connection_settings_init, query_user_connections,
9512                    new_connection_cb): Unify NetworkManagerSettings and Connection
9513                    interface name and object path
9514
9515 2007-09-06  Dan Williams  <dcbw@redhat.com>
9516
9517         * libnm-glib/nm-object.c
9518                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9519                    nm_object_get_int_property, nm_object_get_uint_property,
9520                    nm_object_get_boolean_property, nm_object_get_byte_property,
9521                    nm_object_get_double_property, nm_object_get_byte_array_property):
9522                         clear GValues after copying their contents, fixes memory leaks
9523                         after every property access because dbus-glib copies the values
9524                         from the DBusMessage into the GValue already.
9525
9526 2007-09-06  Dan Williams  <dcbw@redhat.com>
9527
9528         * introspection/nm-access-point.xml
9529                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9530                         them to be.  There's some magic property name parsing going on in
9531                         dbus-glib that breaks up property names based on studly-caps and
9532                         puts - between words.
9533
9534         * libnm-glib/nm-access-point.c
9535                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9536                         Fix property names
9537
9538 2007-09-06  Dan Williams  <dcbw@redhat.com>
9539
9540         * src/nm-manager.c
9541                 - (nm_manager_user_connections_destroy): clear the user connections hash
9542                         table, don't destroy it
9543                 - (finalize): only destroy the hash table on NMManager finalization
9544
9545 2007-09-02  Dan Williams  <dcbw@redhat.com>
9546
9547         * include/NetworkManager.h
9548           libnm-glib/nm-settings.c
9549                 - defines for the user settings daemon D-Bus bits
9550
9551         * src/NetworkManager.c
9552                 - Remove stuff that referred to the old NetworkManagerInfo service
9553
9554         * src/vpn-manager/nm-dbus-vpn.h
9555                 - Move old NMI defines to the only place they are used still
9556
9557         * libnm-util/nm-connection.c
9558           libnm-util/nm-connection.h
9559           src/nm-activation-request.c
9560                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9561
9562         * src/nm-manager.c
9563           src/nm-manager.h
9564                 - Get connections and their settings from the user settings daemon
9565                         at the appropriate times
9566
9567 2007-09-02  Dan Williams  <dcbw@redhat.com>
9568
9569         * libnm-util/nm-setting.c
9570                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9571                 - (setting_wireless_hash): set the right value on the item
9572
9573 2007-09-02  Dan Williams  <dcbw@redhat.com>
9574
9575         * test/Makefile.am
9576           test/nminfotest.c
9577                 - Remove, no longer useful
9578
9579 2007-08-30  Dan Williams  <dcbw@redhat.com>
9580
9581         * src/Makefile.am
9582           src/NetworkManagerDbus.c
9583           src/NetworkManagerDbus.h
9584           src/vpn-manager/nm-dbus-vpn.c
9585                 - Remove, no longer necessary.  Move last bits to the only place its
9586                 used, in nm-dbus-vpn.c
9587
9588         * src/NetworkManagerAPList.c
9589           src/nm-device.c
9590           src/NetworkManager.c
9591           src/nm-device-802-11-wireless.c
9592           src/vpn-manager/nm-vpn-manager.c
9593           src/vpn-manager/nm-vpn-service.c
9594           src/NetworkManagerPolicy.c
9595           src/nm-manager.c
9596                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9597                 that was message_is_error()
9598
9599 2007-08-30  Dan Williams  <dcbw@redhat.com>
9600
9601         * libnm-util/sha1.c
9602                 - Include config.h to get defines for endiannes (gnome.org #420216)
9603
9604 2007-08-30  Dan Williams  <dcbw@redhat.com>
9605
9606         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9607
9608         * src/ppp-manager/Makefile.am
9609                 - use -fPIC (gnome.org #471825)
9610
9611 2007-08-29  Dan Williams  <dcbw@redhat.com>
9612
9613         * include/NetworkManager.h
9614                 - Keep NMConnection object path in sync
9615
9616         * libnm-glib/nm-settings.c
9617           libnm-glib/nm-settings.h
9618                 - Break D-Bus object registration out of the init function, because
9619                 every object that's exported over D-Bus needs to use the _same_
9620                 DBusConnection.  Otherwise, each object would get a different object
9621                 path tree and wouldn't be callable.
9622
9623 2007-08-29  Dan Williams  <dcbw@redhat.com>
9624
9625         * libnm-util/nm-setting.h
9626           libnm-util/nm-setting.c
9627           libnm-util/nm-connection.c
9628           src/NetworkManagerPolicy.c
9629                 - 'info' settings object should be 'connection' says the spec
9630                 at NetworkManagerConfigurationSpecification
9631
9632 2007-08-29  Dan Williams  <dcbw@redhat.com>
9633
9634         * libnm-glib/nm-settings.c
9635           libnm-glib/nm-settings.h
9636                 - make the dbus path a property of the object, and autogenerate it.
9637                 It can't be composed of the 'id' field becuase that's not available
9638                 yet during the GObject creation in nm_connection_settings_init()
9639
9640 2007-08-29  Dan Williams  <dcbw@redhat.com>
9641
9642         * introspection/nm-settings-connection.xml
9643           introspection/nm-settings.xml
9644                 - Service name -> NetworkManagerUserSettings because two services
9645                 can't share part of the same path.  I'm not really sure how we'll use
9646                 the same code with the system-settings daemon...
9647
9648 2007-08-28  Dan Williams  <dcbw@redhat.com>
9649
9650         * src/nm-device-interface.c
9651           src/nm-device-interface.h
9652                 - Kill one more bit of NMData
9653
9654 2007-08-28  Dan Williams  <dcbw@redhat.com>
9655
9656         * src/NetworkManagerSystem.h
9657           src/nm-device.c
9658           src/nm-device.h
9659           src/nm-hal-manager.c
9660           src/NetworkManager.c
9661           src/nm-device-802-11-wireless.c
9662           src/nm-hal-manager.h
9663           src/nm-device-802-3-ethernet.c
9664           src/vpn-manager/nm-vpn-service.h
9665           src/vpn-manager/nm-vpn-manager.c
9666           src/vpn-manager/nm-vpn-manager.h
9667           src/vpn-manager/nm-vpn-service.c
9668           src/nm-device-802-11-wireless.h
9669           src/NetworkManagerMain.h
9670           src/nm-device-802-3-ethernet.h
9671           src/backends/NetworkManagerGentoo.c
9672           src/backends/NetworkManagerPaldo.c
9673           src/backends/NetworkManagerFrugalware.c
9674           src/backends/NetworkManagerRedHat.c
9675           src/backends/NetworkManagerSlackware.c
9676           src/backends/NetworkManagerGeneric.c
9677           src/backends/NetworkManagerArch.c
9678           src/backends/NetworkManagerSuSE.c
9679           src/backends/NetworkManagerGeneric.h
9680           src/backends/NetworkManagerDebian.c
9681                 - Kill NMData
9682
9683 2007-08-28  Dan Williams  <dcbw@redhat.com>
9684
9685         * src/NetworkManagerMain.h
9686           src/nm-device-802-11-wireless.c
9687           src/NetworkManager.c
9688                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9689                 for now we should set the 'invalid' property on individual APs, and when
9690                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9691                 that ESS
9692
9693 2007-08-28  Dan Williams  <dcbw@redhat.com>
9694
9695         * src/NetworkManagerAP.c
9696           src/NetworkManagerAP.h
9697                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9698                         'autoconnect' property instead
9699
9700         * src/NetworkManager.c
9701           src/NetworkManagerMain.h
9702           src/NetworkManagerPolicy.c
9703           src/NetworkManagerPolicy.h
9704                 - Remove the 'allowed_ap_list', which should be replaced by 
9705                         NMConnection/NMSettings instead, since _those_ are the allowed
9706                         things that NM can connect to
9707
9708         * src/nm-device-802-11-wireless.c
9709                 - Remove both allowed_ap_list usage and 'fallback' checking
9710
9711 2007-08-28  Dan Williams  <dcbw@redhat.com>
9712
9713         * src/nm-device.c
9714           src/named-manager/nm-named-manager.c
9715           src/named-manager/nm-named-manager.h
9716           src/NetworkManager.c
9717           src/vpn-manager/nm-vpn-manager.c
9718           src/NetworkManagerMain.h
9719           src/NetworkManagerSystem.c
9720                 - Remove the named-manager object from NMData structure in preparation
9721                 for NMData's timely death.  Make the NMNamedManager the singleton that
9722                 it really is
9723
9724 2007-08-28  Dan Williams  <dcbw@redhat.com>
9725
9726         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9727         each AP's capabilities, and by NMConnection/NMSettings objects for user
9728         defined connections.
9729
9730         * include/NetworkManager.h
9731                 - Redefine 802.11 security properties.  There are now device capabilities
9732                         and AP flags and AP security flags.  It was way to unclear before.
9733
9734         * src/Makefile.am
9735           src/nm-ap-security-leap.h
9736           src/nm-ap-security-leap.c
9737           src/nm-ap-security-wpa-eap.c
9738           src/nm-ap-security-wpa-eap.h
9739           src/nm-ap-security-private.h
9740           src/nm-ap-security-wpa-psk.c
9741           src/nm-ap-security-wpa-psk.h
9742           src/nm-ap-security-wep.c
9743           src/nm-ap-security-wep.h
9744           src/nm-ap-security.c
9745           src/nm-ap-security.h
9746                 - Removed, to be replaced with NMConnection/NMSettings objects
9747
9748         * src/nm-dbus-nmi.c
9749           src/nm-dbus-nmi.h
9750                 - Removed, to be replaced by code that talks to the new info daemon
9751                         interface and gets NMConnection/NMSettings objects
9752
9753         * src/backends/NetworkManagerSuSE.c
9754                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9755                         info-daemon that does the same thing but talks the new info-daemon
9756                         D-Bus interface
9757
9758         * src/NetworkManagerAP.h
9759           src/NetworkManagerAP.c
9760           src/NetworkManagerAPList.c
9761           libnm-glib/libnm-glib-test.c
9762                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9763                         WPA/RSN
9764
9765         * libnm-glib/nm-access-point.c
9766           libnm-glib/nm-access-point.h
9767           introspection/nm-access-point.xml
9768           test/nm-tool.c
9769                 - Adjust to new flags for AP security
9770
9771         * utils/nm-utils.c
9772           utils/nm-utils.h
9773           src/vpn-manager/nm-dbus-vpn.c
9774                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9775                         stuff which is the only place it's used
9776
9777         * src/nm-device-interface.c
9778           src/nm-device-interface.h
9779           introspection/nm-device.xml
9780           src/nm-activation-request.c
9781           src/nm-activation-request.h
9782           src/nm-device.c
9783                 - Add a new 'specific_object' argument that hints to NM what actual
9784                         AP or other device-specific thing the connection should apply to.
9785                         NMConnection objects can apply to more than one actual device/AP.
9786
9787         * libnm-util/nm-connection.c
9788         * libnm-util/nm-connection.h
9789                 - Add 'have_secrets" call stubs
9790
9791         * libnm-util/cipher.h
9792                 - Move NM_AUTH_TYPE_* defines here for now
9793
9794         * src/nm-device-802-11-wireless.c
9795                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9796                         NMSettings objects
9797
9798         * src/NetworkManagerDbus.c
9799         * src/NetworkManagerPolicy.c
9800                 - Remove usage of update_allowed_networks, should be pushing data in
9801                         a different manner
9802
9803 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9804
9805         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9806         dbus-glib frees it when the call is done.
9807
9808 2007-08-26  Dan Williams  <dcbw@redhat.com>
9809
9810         * introspection/nm-device.xml
9811                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9812
9813 2007-08-26  Dan Williams  <dcbw@redhat.com>
9814
9815         * src/nm-device-802-3-ethernet.c
9816                 - (constructor): move connection of interface-connected/disconnected
9817                         signals here from real_bring_up().  Should be listening to netlink
9818                         for carrier events no matter what the initial state of the device
9819                         is.
9820
9821 2007-08-26  Dan Williams  <dcbw@redhat.com>
9822
9823         * src/nm-netlink-monitor.c
9824                 - (nm_netlink_monitor_class_init): fix marshalling types for
9825                         interface-connected/interface-disconnected
9826                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9827                         check
9828
9829 2007-08-26  Dan Williams  <dcbw@redhat.com>
9830
9831         Convert to using interface indexes as the primary method of identifying
9832         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9833         be renamed at any time.  Device object paths now refer to the device
9834         index rather than the name, and you can map those two manually if you like
9835         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9836         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9837         to use interface indexes rather than names.
9838
9839 2007-08-26  Dan Williams  <dcbw@redhat.com>
9840
9841         * src/nm-netlink-monitor.h
9842                 - Remove one last bit of wireless-event signal
9843
9844 2007-08-26  Dan Williams  <dcbw@redhat.com>
9845
9846         * src/nm-netlink-monitor.c
9847                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9848                         don't need the 'wireless-event' signal anymore since that's all
9849                         handled by wpa_supplicant
9850
9851 2007-08-25  Dan Williams  <dcbw@redhat.com>
9852
9853         It's 2007. Remove support for drivers that don't support wireless scanning.
9854
9855         * test/nm-tool.c
9856           include/NetworkManager.h
9857           src/NetworkManagerUtils.c
9858           src/NetworkManagerPolicy.c
9859           src/nm-device-802-11-wireless.c
9860                 - Remove special handling for non-scanning devices and mark them
9861                         as unsupported/unhandled
9862
9863 2007-08-20  Dan Williams  <dcbw@redhat.com>
9864
9865         * src/nm-device-802-11-wireless.c
9866           src/nm-device-802-3-ethernet.c
9867                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9868                         because when the card is pulled or the module removed, the device
9869                         is already !IFF_UP and then device-specific cleanup (removing
9870                         the supplicant interface, periodic checks, etc) never gets done
9871
9872 2007-08-20  Dan Williams  <dcbw@redhat.com>
9873
9874         * src/nm-manager.c
9875                 - (nm_manager_remove_device): bring device down before disconnecting
9876                         signal handlers, so that the 'state' signal will get broadcast when
9877                         the device enters the DOWN state
9878                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9879                         of states that cause the NMManager to recheck its state
9880
9881 2007-08-20  Dan Williams  <dcbw@redhat.com>
9882
9883         * src/supplicant-manager/nm-supplicant-interface.c
9884                 - (interface_disconnect_done): don't try to dispose of the net proxy
9885                         when it may already have been disposed of
9886
9887 2007-08-20  Dan Williams  <dcbw@redhat.com>
9888
9889         * src/nm-device-802-11-wireless.c
9890                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9891                         the SSID isn't available; this can happen when the card is pulled
9892                         or the module unloaded, during the post-removal deactivation
9893                         paths, when the ioctl returns ENODEV
9894
9895 2007-08-20  Dan Williams  <dcbw@redhat.com>
9896
9897         * src/nm-device-802-11-wireless.c
9898                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9899                         frequency, and mode match.  Applets are now responsible for grouping
9900                         access points
9901
9902 2007-08-20  Dan Williams  <dcbw@redhat.com>
9903
9904         * src/NetworkManagerAP.c
9905         * src/NetworkManagerAP.h
9906                 - (nm_ap_print_self): new function
9907
9908         * src/NetworkManagerAPList.c
9909                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9910                         to do it all here
9911         
9912 2007-08-17  Dan Williams  <dcbw@redhat.com>
9913
9914         * src/nm-device-802-3-ethernet.c
9915                 - (real_bring_down): don't try to dispose of stuff that might not
9916                         exist
9917
9918 2007-08-17  Dan Williams  <dcbw@redhat.com>
9919
9920         * src/NetworkManagerAP.c
9921                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9922                         applet.  This ensures that the case between the seen-bssids and
9923                         the bssids reported by the driver match.
9924
9925 2007-08-17  Dan Williams  <dcbw@redhat.com>
9926
9927         * src/nm-device-802-11-wireless.c
9928                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9929                         we dispose of the interface proxy in NM
9930
9931 2007-08-16  Dan Williams  <dcbw@redhat.com>
9932
9933         * libnm-glib/nm-client.c
9934                 - (nm_client_init): create VPN connections hash table with key free
9935                         function
9936                 - (proxy_vpn_connection_added): VPN connections hash table key should
9937                         be a duplicated value, not the same memory address as the VPN
9938                         connection name.  This is because the VPN connection name could
9939                         potentially be freed and set to something else during the lifetime
9940                         of the NMVPNConnection object.
9941
9942 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9943
9944         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9945         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9946         with the file descriptors. Send a child setup function to change the pppd
9947         progress group.
9948
9949 2007-08-15  Dan Williams  <dcbw@redhat.com>
9950
9951         * src/supplicant-manager/nm-supplicant-interface.c
9952                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9953                         an interface
9954                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9955                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9956                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9957                         the interface internally
9958
9959 2007-08-15  Dan Williams  <dcbw@redhat.com>
9960
9961         * src/nm-device-802-11-wireless.c
9962                 - (real_bring_down): move most of this function into device_cleanup()
9963                         so that it can be called from elsewhere
9964                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9965                         and stuff on dispose.  These would normally get cleaned up when
9966                         the device is marked down and deactivated, but when the device is
9967                         hot-unplugged, it's already down and real_down() never gets run
9968
9969 2007-08-15  Dan Williams  <dcbw@redhat.com>
9970
9971         * src/nm-dbus-nmi.c
9972                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9973                         caused a reference leak on device for which NM requested a key
9974
9975 2007-08-15  Dan Williams  <dcbw@redhat.com>
9976
9977         * libnm-glib/nm-client.c
9978                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9979
9980 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9981
9982         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9983         nothing is using it at the moment, but it'll be all useful and stuff later on.
9984
9985         * libnm-util/nm-setting.h: Define NMSettingPPP.
9986
9987         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9988
9989         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9990
9991         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9992
9993         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9994
9995         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9996
9997 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9998
9999         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10000
10001         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10002         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10003         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10004         name and different arguments and it won't compile anymore. To fix this, we now have
10005         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10006         that is new API + compatibility API and used by the daemon. The other, 
10007         nm-manager-client.xml is only the new API without compatibility bits and is used
10008         by libnm-glib to make it compile.
10009
10010         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10011
10012         * src/nm-manager.c (impl_manager_legacy_sleep)
10013         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10014         interface functions for 0.6 branch.
10015
10016 2007-08-14  Dan Williams  <dcbw@redhat.com>
10017
10018         * src/NetworkManagerAP.c
10019                 - (nm_ap_new_from_properties): fix mistaken check of return value
10020                         from memcmp (should expect 0)
10021
10022 2007-08-14  Dan Williams  <dcbw@redhat.com>
10023
10024         (force-commit to fix wrong comment and partial commit of r2685; this
10025          commit actually applies to r2685)
10026
10027         * src/NetworkManagerUtils.c
10028                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10029                         ignores trailing nulls in the SSID to work around mismatches in
10030                         expectations between WEXT and what the info-daemon passes back.  The
10031                         info-daemon would pass back the correct length, but due to the
10032                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10033                         the device would always have an SSID + 1 depending on what versions
10034                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10035                         visible by just quitting the applet and relaunching, which caused
10036                         NM to reassociated to the same network over again when reloading
10037                         the save networks.
10038
10039         * src/NetworkManagerPolicy.c
10040           src/NetworkManagerUtils.h
10041           src/nm-device-802-11-wireless.c
10042                 - Update for new parameter to nm_utils_same_ssid()
10043
10044 2007-08-14  Dan Williams  <dcbw@redhat.com>
10045
10046         * src/NetworkManagerAP.c
10047                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10048                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10049                         setting the BSSID to all 0s.  That confused the heck out of NM,
10050                         plus it's useless and probably out-of-spec.
10051
10052 2007-08-14  Dan Williams  <dcbw@redhat.com>
10053
10054         * callouts/Makefile.am
10055           src/dhcp-manager/nm-dhcp-manager.c
10056           src/dhcp-manager/nm-dhcp-manager.h
10057           src/dhcp-manager/Makefile.am
10058                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10059
10060 2007-08-14  Dan Williams  <dcbw@redhat.com>
10061
10062         * src/dhcp-manager/nm-dhcp-manager.c
10063                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10064                         it's really needed, get rid of unused xtra_args parameter
10065
10066 2007-08-14  Dan Williams  <dcbw@redhat.com>
10067
10068         * include/NetworkManagerVPN.h
10069           src/vpn-manager/nm-dbus-vpn.c
10070           src/vpn-manager/nm-dbus-vpn.h
10071           src/vpn-manager/nm-vpn-act-request.c
10072           src/vpn-manager/nm-vpn-act-request.h
10073           src/vpn-manager/nm-vpn-service.c
10074           src/vpn-manager/nm-vpn-service.h
10075           libnm-glib/nm-vpn-connection.c
10076           libnm-glib/nm-vpn-connection.h
10077           libnm-glib/nm-client.h
10078                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10079                         NMVPNServiceState to clarify what they apply to
10080                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10081                         NMVPNActStage -> NMVPNConnectionState for the same reason
10082
10083         * libnm-glib/nm-client.c
10084                 - Constant + type renames from above
10085                 - Properly handle NameOwnerChanged/manager_running signals
10086                         for NM service; only emit when state really changes
10087                 - Use hash tables correctly so that the key (which was previously owned
10088                         by the D-Bus message) now has the same lifetime as the value, since
10089                         the key is now taken from the the NMVPNConnection itself.  This
10090                         really fixes the double-VPN names in the applet
10091
10092 2007-08-13  Dan Williams  <dcbw@redhat.com>
10093
10094         Patch from Michael Biebl <biebl@debian.org>
10095
10096         * po/POTFILES.in
10097           po/POTFILES.skip
10098                 - Update for vpn-properties move
10099
10100 2007-08-13  Dan Williams  <dcbw@redhat.com>
10101
10102         * libnm-glib/nm-client.c
10103                 - Convert internal VPN connection tracking from a list to a hash table
10104                         to easily avoid duplicates
10105                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10106                         must be freed by the caller, like nm_client_get_devices()
10107                 - (nm_client_remove_vpn_connection): don't let the removal signal
10108                         leak through for NMVPNConnection objects that aren't actually
10109                         tracked.
10110                 - (manager_running): throw away VPN connection list when NM goes away,
10111                         like with the device list
10112
10113 2007-08-13  Dan Williams  <dcbw@redhat.com>
10114
10115         * src/dhcp-manager/nm-dhcp-manager.c
10116                 - Stop any dhclient instance that might be already running for a
10117                         particular interface before starting an NM spawned dhclient.  Fixes
10118                         dhclient processes left over if NM crashes, stuff like that.
10119
10120 2007-08-13  Dan Williams  <dcbw@redhat.com>
10121
10122         * src/NetworkManagerAP.c
10123                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10124                         when the AP wasn't broadcasting it's SSID
10125
10126 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10127
10128         * include/NetworkManager.h: added DBus path for connection settings.
10129
10130         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10131         nm_connection_settings_signal_updated,
10132         nm_connection_settings_signal_removed): new functions to wrap the
10133         objects' signals.
10134         (nm_connection_settings_init): register GObject with DBus.
10135         (nm_connection_settings_get_dbus_object_path): new function.
10136
10137         * libnm-glib/Makefile.am: added libnmutil to link flags.
10138
10139 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10140
10141         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10142
10143         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10144         libnm_glib directory got merged with libnm-glib/.
10145
10146         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10147
10148         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10149         Rename the library from libnm-glib to libnm_glib to maintain the library API
10150         compatibility with 0.6 branch.
10151
10152         * Makefile.am: Remove gnome/ SUBDIR.
10153
10154         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10155
10156         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10157
10158         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10159
10160         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10161         anymore.
10162         Remove checks for wpa_supplicant binary, it's used over dbus.
10163         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10164
10165         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10166         Link the binaries with libnm_glib.la.
10167
10168 2007-08-12  Dan Williams  <dcbw@redhat.com>
10169
10170         * src/NetworkManagerPolicy.c
10171                 - (nm_policy_device_change_check): fix policy to deactivate old device
10172                         before activating new one, at least until the multiple active
10173                         device support lands
10174
10175 2007-08-12  Dan Williams  <dcbw@redhat.com>
10176
10177         * src/NetworkManagerPolicy.c
10178                 - (nm_policy_new): hook up to connection-added / connection-removed
10179                         signals instead of connections-changed
10180
10181 2007-08-12  Dan Williams  <dcbw@redhat.com>
10182
10183         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10184         Robert Frank <rfrank@redhat.com>
10185
10186         * src/dhcp-manager/nm-dhcp-manager.c
10187           src/dhcp-manager/nm-dhcp-manager.c
10188           src/nm-device.c
10189                 - Spawn and communicate with dhclient directly, through means of a
10190                 custom dhclient callout script.  Process callout D-Bus signals
10191                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10192                 sent via gobject signals rather than being driven by the dhcp manager
10193                 directly.
10194
10195 2007-08-12  Dan Williams  <dcbw@redhat.com>
10196
10197         * callouts/nm-dhcp-client-action.c
10198                 - (build_message): ignore non-DHCP-related environment variables
10199
10200 2007-08-12  Dan Williams  <dcbw@redhat.com>
10201
10202         * Makefile.am
10203           configure.in
10204           callouts/Makefile.am
10205           callouts/nm-dhcp-client-action.c
10206           callouts/nm-dhcp-client.conf
10207                 - Add dhclient-executed callout that takes the place of dhclient-script
10208                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10209                 NM then listens for
10210
10211 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10212
10213         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10214
10215         * libnm-glib/nm-client.h:
10216         * libnm-glib/nm-object.h:
10217         * libnm-glib/nm-vpn-connection.h:
10218         * libnm-glib/nm-settings.h:
10219         * libnm-glib/nm-device.h:
10220         * libnm-glib/nm-ip4-config.h:
10221         * libnm-glib/nm-access-point.h:
10222         * libnm-glib/nm-device-802-3-ethernet.h:
10223         * libnm-util/nm-setting.h: 
10224         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10225
10226         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10227
10228         * libnm-glib/nm-access-point.c: Strength has type char.
10229
10230         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10231         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10232
10233         * introspection/nm-access-point.xml: Strength property is char, not int.
10234
10235         * src/NetworkManagerAP.c (set_property): Set strength from char.
10236         (get_property): Handle hidden APs (with empty SSID).
10237         Get strength value from char.
10238         (nm_ap_class_init): Strength property has char type.
10239
10240 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10241
10242         * introspection/Makefile.am:
10243         * introspection/nm-settings.xml:
10244         * introspection/nm-settings-connection.xml: added Settings interfaces.
10245
10246         * libnm-glib/nm-settings.[ch]:
10247         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10248         containing the DBus implementation.
10249
10250 2007-07-26  Dan Williams  <dcbw@redhat.com>
10251
10252         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10253
10254         * src/NetworkManagerSystem.c
10255                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10256                         same subnet (#437396)
10257
10258 2007-07-26  Dan Williams  <dcbw@redhat.com>
10259
10260         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10261
10262         * gnome/vpn-properties/nm-vpn-properties.c
10263                 - Fix translatable strings (#445865)
10264
10265 2007-07-26  Dan Williams  <dcbw@redhat.com>
10266
10267         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10268
10269         * configure.in
10270                 - Remove useless junk (#412530)
10271
10272 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10273
10274         Patch from Robert Buchholz <rbu@gentoo.org>:
10275
10276         * configure.in:
10277         * Makefile.am:
10278         * introspection/Makefile.am:
10279         Make make distcheck work again.
10280
10281 2007-06-27  Dan Williams  <dcbw@redhat.com>
10282
10283         * Make SSIDs GByteArrays everywhere
10284         * Rename "essid" -> "ssid" everywhere that's appropriate
10285         * Refcount activation_ap member of the 802.11 wireless device class
10286
10287 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10288
10289         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10290
10291 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10292
10293         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10294         that we got a new AP when we just update existing AP properties.
10295
10296 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10297
10298         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10299
10300         * nm-utils.[ch]: Remove.
10301
10302         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10303         objects for easy property access and dbus connection handling.
10304
10305         * libnm-glib/nm-client.c: Derive from NMObject.
10306
10307         * libnm-glib/nm-device.c: Ditto.
10308
10309         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10310
10311         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10312
10313         * libnm-glib/nm-ip4-config.c: Ditto.
10314
10315         * libnm-glib/nm-access-point.c: Ditto.
10316
10317         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10318         comparision. Currently used by the device activation code to determine if the new
10319         activation is the same as the old one.
10320
10321         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10322         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10323         able to ask password for the AP.
10324
10325         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10326         up if the device is already connected, tear down it's connection (if it isn't the
10327         same as new one) and start the activation.
10328
10329         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10330
10331         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10332         the issue where all APs are always listed as encrypted.
10333
10334         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10335         their own registered paths.
10336
10337         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10338         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10339
10340 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10341
10342         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10343         (0 & 0 == 0, doh)
10344
10345         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10346         because the handling code will cause the next state change and signal listeners
10347         get the signals in wrong order.
10348
10349         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10350         correctly in case of pending activation.
10351
10352         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10353         Convert the essid byte array to string correctly, including the terminating NULL.
10354
10355         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10356         mode with correct types.
10357
10358         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10359         constructed info to dbus call instead of the activation request.
10360
10361 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10362
10363         Patch from Christian Persch <chpe@gnome.org>
10364
10365         * libnm-glib/Makefile.am:
10366         * dispatcher-daemon/Makefile.am:
10367         Use the correct variables, the correct paths, and correct ordering. (446315)
10368
10369 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10370
10371         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10372         argument. The activation request is easy to retrieve.
10373
10374         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10375         just to be a convenient location for devices to store random stuff.
10376
10377 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10378
10379         Patch from Alex Smith <alex@alex-smith.me.uk>
10380
10381         * src/backends/NetworkManagerFrugalware.c:
10382         Update the FrugalWare backend to fix a few segfaults. (#392642)
10383
10384 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10385
10386         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10387
10388         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10389         setting.
10390         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10391
10392 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10393
10394         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10395         automagically.
10396         Implement NMSettingIP4Config.
10397         Finish NMSettingWired by adding all known members.
10398         (setting_wired_verify): Implement.
10399         Finish NMSettingWireless by adding all known members.
10400         (setting_wireless_verify): Implement.
10401
10402         * libnm-util/nm-connection.c: Register "ipv4" setting.
10403         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10404         dump function, we can introspect the GHashTable which is used for sending connections
10405         over dbus.
10406
10407         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10408         Take GByteArray for essid, it's really not a string.
10409
10410         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10411         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10412         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10413         means overriding the values we got from DHCP.
10414         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10415         (nm_device_deactivate_quickly): Ditto.
10416
10417         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10418         for debugging.
10419
10420 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10421
10422         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10423         NMConnection.
10424
10425         * libnm-glib/nm-device-802-11-wireless.c:
10426         (nm_device_802_3_ethernet_activate): Remove.
10427
10428         * libnm-glib/nm-device-802-3-ethernet.c
10429         (nm_device_802_3_ethernet_activate): Remove.
10430
10431         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10432
10433         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10434         NMConnection.
10435
10436         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10437         activation has started.
10438         Implement the new activation using NMConnection.
10439
10440         * src/nm-activation-request.c: Store a generic connection object instead
10441         of a wireless-specific AP.
10442
10443         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10444         on device type, create a device specific connection object suitable for
10445         device activation.
10446
10447         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10448         specific check to validate the connection and on success start the
10449         activation.
10450
10451         * src/nm-device-interface.h: Add a activate virtual function to the
10452         interface definition.
10453
10454         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10455         (impl_device_activate): Implement.
10456
10457         * introspection/nm-device.xml: Add a generic device activation interface
10458         that accepts an abstract NMConnection structure that has device-specific
10459         information in it.
10460
10461         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10462         activation interface.
10463
10464         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10465         activation interface.
10466
10467         * libnm-util/nm-connection.c: 
10468         * libnm-util/nm-connection.h: 
10469         * libnm-util/nm-setting.c:
10470         * libnm-util/nm-setting.h: Add.
10471
10472         * libnm-util/Makefile.am: Build the added files.
10473
10474         * src/nm-dbus-manager.c
10475         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10476         DbusConnection argument from 'name-owner-changed' signal. The manager
10477         is already passed as a first argument to the signal and the connection
10478         is easy enough to get from it.
10479
10480         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10481         Update the signature of the function.
10482
10483         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10484         Ditto.
10485
10486         * src/NetworkManager.c: Ditto.
10487
10488         * src/named-manager/nm-named-manager.c
10489         (nm_named_manager_name_owner_changed): Ditto.
10490
10491         * src/supplicant-manager/nm-supplicant-manager.c
10492         (nm_supplicant_manager_name_owner_changed): Ditto.
10493
10494         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10495
10496         * src/dhcp-manager/nm-dhcp-manager.c
10497         (nm_dhcp_manager_name_owner_changed): Ditto.
10498
10499         * src/nm-hal-manager.c: Add a list of device detectors and creators
10500         to make it easier to add new devices. Each device type has it's own
10501         entry in the table so adding new device types is only a matter of
10502         implementing a couple of functions, one for device detection and the
10503         other for device creation.
10504
10505 2007-04-25  Dan Williams  <dcbw@redhat.com>
10506
10507         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10508                 (gnome.org #432401)
10509
10510 2007-03-30  Dan Williams  <dcbw@redhat.com>
10511
10512         * src/NetworkManagerSystem.c
10513                 - (nm_system_device_set_ip4_route): clean up and fix argument
10514                         to nm_dev_sock_open()
10515
10516 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10517
10518         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10519         data to correct types instead of always using string.
10520
10521         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10522         _not_ have NM_802_11_CAP_PROTO_NONE.
10523         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10524         is not set.
10525
10526 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10527
10528         * libnm-glib/Makefile.am: Fix the build issue.
10529
10530 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10531
10532         * libnm-glib/nm-vpn-connection.h: 
10533         * libnm-glib/nm-vpn-connection.c: Implement.
10534
10535         * libnm-glib/nm-client.c: Add VPN support.
10536
10537         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10538         handler for VPN.
10539
10540         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10541         on DBUS again.
10542
10543 2007-03-26  Dan Williams  <dcbw@redhat.com>
10544
10545         * src/NetworkManagerAPList.c
10546         * src/nm-device-802-11-wireless.c
10547         * src/NetworkManagerAP.c:
10548                 - Store last seen as glong instead of GTimeVal.
10549                 - Fix the upper bound of capabilities, it's a bitfield.
10550
10551 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10552
10553         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10554
10555         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10556         "manager-running" signal that notifies the appearance/disappearance of NM.
10557         (nm_client_sleep): Implement.
10558
10559         * libnm-glib/nm-device.c:
10560         * libnm-glib/nm-device-802-11-wireless.c: 
10561         * libnm-glib/nm-device-802-3-ethernet.c: 
10562
10563         Don't inherit from DBusGProxy, add a proxy to private
10564         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10565         for anything but their own dbus interface. DBusGProxy objects support only one
10566         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10567         interface. The nice side effect of this change is that we do not create a new
10568         DBusGProxy object for each property access.
10569
10570 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10571
10572         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10573         with zeroes before passing them to functions - the functions never do that and
10574         reading the values back may produce wrong values.
10575         (real_bring_up): Store the signal handler id ...
10576         (real_bring_down): ... So that it can be removed here.
10577         Disconnect the supplicant interface here as well.
10578         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10579         from the access point instead of old $device/Networks/$essid.
10580
10581         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10582         device state is connected (instead of just having link/carrier).
10583
10584         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10585         already easily accessible through the device.
10586
10587         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10588         store it within the object.
10589         (nm_ap_get_dbus_path): Export it to public as well.
10590
10591         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10592         of the singleton.
10593
10594 2007-03-12  Dan Williams  <dcbw@redhat.com>
10595
10596         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10597         for non-carrier-detect capable devices, and useless for carrier-detect
10598         devices since we get notifications from netlink about carrier status anyway.
10599
10600         * src/nm-device-802-3-ethernet.c
10601                 - remove 'link_source_id' member from private data
10602                 - (probe_link): remove and collapse into real_update_link()
10603                 - (nm_device_802_3_periodic_update): remove
10604                 - (real_is_up): check for sup_iface rather than link_source_id
10605                 - (real_bring_up): return gboolean for success/fail; require that
10606                         sup_iface be valid for device bringup to succeed
10607                 - (real_bring_down): zero out link signal ids
10608
10609         * src/nm-device.c
10610                 - (nm_device_activate_stage2_device_config): fail activation if device
10611                         bringup fails
10612                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10613                         fails
10614                 - (nm_device_bring_up): return success/fail
10615
10616         * src/nm-device.h
10617                 - bring_up now returns success/fail
10618
10619         * src/nm-device-802-11-wireless.c
10620                 - (real_bring_up): return success from bringup
10621
10622 2007-03-07  Dan Williams  <dcbw@redhat.com>
10623
10624         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10625         * src/nm-ap-security-wpa-psk.c
10626                 - (real_write_supplicant_config): work with PSKs that may contain
10627                         zeros in the binary format rather than treating it as a string
10628
10629 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10630
10631         * libnm-glib/nm-device-802-11-wireless.c
10632         (nm_device_802_11_wireless_get_capabilities): Implement.
10633
10634         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10635
10636         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10637
10638         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10639         reply only if it's not NULL. Not sure why this started happening right now.
10640
10641         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10642         code paths for when devices get removed on shutdown or when a device is just
10643         removed.
10644         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10645         gets freed so any signal from a device (disconnected for instance) would invoke
10646         NMState update which would crash.
10647         (nm_manager_remove_device): Bring the device down when it gets removed.
10648
10649         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10650         the unused dev_type.
10651
10652         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10653         reference to the added device, NMManager will own it (if it wants).
10654
10655         * test/nm-tool.c: Rewrite using libnm-glib.
10656
10657         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10658         We get signalled when it changes.
10659
10660         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10661         when it changes.
10662
10663         * libnm-glib/nm-device.c: Cache the device state property.
10664
10665         * libnm-glib/nm-access-point.c: Cache the strength property.
10666
10667         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10668         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10669         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10670         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10671         the device is down, activating, or activated (in case of A/B/G cards).
10672         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10673         it's all done through supplicant now.
10674
10675         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10676         counting issues with pending calls which caused leaks and crashes when
10677         interface was removed (now that the interface actually gets removed).
10678
10679         * src/nm-call-store.c: Make a copy of data before running a foreach
10680         with user callback on it - The most common usage pattern is to cancel
10681         (and thus remove) all pending calls with foreach which would modify
10682         the hash table we're iterating over.
10683
10684         * src/nm-manager.c: When a device is added, make sure it is "up". When
10685         it's removed or disabled due to disabling wireless or networking, bring
10686         it down.
10687
10688         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10689
10690         * src/nm-device-802-11-wireless.c: 
10691         * src/nm-device-802-3-ethernet.c: 
10692         * src/nm-device.c:
10693                 - Remove "init" virtual function, all gobjects have a place for that
10694                   already (constructor).
10695                 - Replace "start" virtual function with "bring_up", devices can be
10696                   brought up and down more than just on startup now.
10697                 - Add "is_up" virtual function.
10698                 - Implement one way to bring a device down instead of previous 4 different
10699                   ways, each of witch did something different.
10700
10701         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10702         all it needs is the device interface.
10703
10704         Get rid of NMData.dev_list (3 members to go).
10705         Get rif of NMData in a lot of places.
10706
10707         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10708
10709 2007-02-23  Dan Williams  <dcbw@redhat.com>
10710
10711         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10712
10713         * src/NetworkManagerAP.c
10714                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10715                         OR-ing rather than AND-ing
10716
10717 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10718
10719         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10720         "network-removed" signals.
10721
10722         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10723
10724         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10725         when receiving the signal from dbus.
10726
10727         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10728         property.
10729
10730         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10731         deactivation of the previously activated device working again.
10732
10733         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10734         and setter.
10735
10736         * src/nm-device.c (nm_device_is_activated): Remove.
10737         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10738
10739         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10740         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10741         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10742         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10743         Remove NMNetworkStatus and NMActStage enums.
10744
10745 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10746
10747         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10748         Handle device state changes and disconnect VPN if it's device deactivates.
10749
10750         * src/nm-dbus-nm.c: 
10751         * src/nm-dbus-nm.h: 
10752         * src/nm-dbus-device.c: 
10753         * src/nm-dbus-device.c: 
10754         * src/nm-dbus-net.c: 
10755         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10756
10757         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10758
10759         * src/nm-device.c (nm_device_get_by_udi):
10760         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10761         implemented in the correct location (NMManager).
10762         Rip out all the test_device stuff.
10763
10764         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10765         failure handlers, it's all done by NMDevice already.
10766
10767         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10768         Remove the iochannel hack to route the unix signals to the main thread since
10769         we're not threaded anymore.
10770
10771         * src/NetworkManagerAP.c: Implement HWAddress property.
10772
10773         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10774         automatically with dbus-glib.
10775
10776         * src/nm-netlink-monitor.c: 
10777         * src/nm-netlink-monitor.h:
10778                 - Move it low in the class hierarchy, don't reference any NM types.
10779                 - Remove private data from the header.
10780                 - Use type safe checks in public API methods.
10781                 - Make it a singleton so we don't have to pass the single reference around.
10782
10783 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10784
10785         * introspection/nm-ip4-config.xml: Implement.
10786
10787         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10788
10789         * libnm-glib/nm-ip4-config.c:
10790         * libnm-glib/nm-ip4-config.c: Implement.
10791
10792         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10793         securities. APs reference security.
10794
10795         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10796         be exported over DBUS.
10797
10798         * src/nm-device-802-3-ethernet.c: Ditto.
10799
10800         * src/NetworkManagerAP.c:
10801         * src/NetworkManagerAP.h:
10802                 - Convert to GObject, export over DBUS.
10803
10804         * src/nm-ip4-config.h:
10805         * src/nm-ip4-config.h:
10806                 - Convert to GObject, export over DBUS.
10807
10808 2007-02-12  Dan Williams  <dcbw@redhat.com>
10809
10810         Patch from Helmut Schaa <hschaa@suse.de>
10811
10812         * vpn-daemons/pptp/configure.in
10813           vpn-daemons/pptp/Makefile.am
10814           vpn-daemons/openvpn/configure.in
10815           vpn-daemons/openvpn/Makefile.am
10816           vpn-daemons/vpnc/configure.in
10817           vpn-daemons/vpnc/Makefile.am
10818                 - Add --without-gnome switch which disables building gnome bits
10819
10820 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10821
10822         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10823
10824         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10825
10826         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10827         'HwAddress'.
10828
10829         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10830
10831         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10832
10833         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10834
10835         * src/:
10836                 - Remove old low-level dbus interface implementations and replace them
10837                   with dbus-glib one.
10838
10839         * configure.in:
10840                 - Require dbus-glib >= 0.72.
10841                 - Plug in new sources to build.
10842
10843         * libnm-glib/:
10844                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10845                   to make it more convenient to use from GObject based programs.
10846
10847         * introspection/:
10848                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10849
10850 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10851
10852         * src/nm-device-802-11-wireless.c:
10853                 - Add "network-added" and "network-removed" signals.
10854                 - Use gobject boilerplate macros to define the GObject.
10855                 - Implement wireless device activation.
10856                 - Remove activation_failure_handler and activation_success_handler
10857                   and instead listen on state-changed signals and run the same code
10858                   from there.
10859
10860         * src/nm-device.c:
10861                 - Implment NMDeviceInterface::deactivate.
10862                 - Remove activation_failure_handler and activation_success_handler
10863                   virtual methods. Each device which is interested in these events
10864                   can just listen on it's state changed signals.
10865
10866         * src/NetworkManagerPolicy.c:
10867                 - Move a bit more NMData usage to NMManager.
10868                 - Remove activation scheduling bits.
10869                 - Add listeners for wireless device's "network-added" and
10870                   "network-removed" signals.
10871                 - Listen device changed signals and deactivate currently activated
10872                   device when another device start activating (for now).
10873                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10874                   for calling this, the policy code knows exactly when this should happen,
10875                   by listening on events from NMManager and NMDevices.
10876
10877         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10878         Implement.
10879
10880         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10881         method on the specific device instead of going to through policy code
10882         and determining the device type by passed in AP's existance.
10883
10884         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10885         abstract NMDevice deactivation.
10886
10887 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10888
10889         * src/NetworkManager.c:
10890                 - Set up all the shiny new managers.
10891
10892         * src/NetworkManagerPolicy.c:
10893                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10894                   classes to call into policy code, make the policy code kind of like
10895                   a supervisor that monitors what's going on and drives the whole NM.
10896
10897         * src/nm-hal-manager.c: 
10898         * src/nm-hal-manager.h:
10899                 - Collect all libhal code scattered around NM to this one class.
10900                 - Listen libhal and NMManager events and add/remove devices to
10901                   NMManager.
10902
10903         * src/nm-manager.c:
10904         * src/nm-manager.h:
10905                 - Implment a replacement for NMData. NMData is now officially
10906                 deprecated.
10907
10908 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10909
10910         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10911         * src/supplicant-manager/nm-supplicant-interface.h
10912         * src/supplicant-manager/nm-supplicant-interface.c
10913         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10914         argument to boolean from enum.
10915
10916         Make NMDevice abstract class, remove almost all references to it's
10917         subclasses (the last place gets removed with new policy manager). Add
10918         NMDeviceInterface (which NMDevice implements) so that when we have
10919         NMDevice exported over DBUS, there's a common NMDevice interface which
10920         all instances have, plus there's a device specific interface for each
10921         specific type.
10922         Remove functions (nm_device_is_802_3_ethernet) and
10923         (nm_device_is_802_11_wireless). There are already standard GObject macros
10924         for type safe checks.
10925         Use the updated supplican manager API.
10926
10927         * src/nm-device-interface.h: 
10928         * src/nm-device-interface.c: 
10929         * src/nm-call-store.h: 
10930         * src/nm-call-store.c: Implement.
10931
10932         * src/supplicant-manager/nm-supplicant-interface.c:
10933         * src/supplicant-manager/nm-supplicant-interface.h:
10934         * src/supplicant-manager/nm-supplicant-manager.c:
10935         * src/supplicant-manager/nm-supplicant-manager.h:
10936                 - Remove all private data type references from public header files.
10937                 - Remove all references to other NM classes, this class is just a
10938                   proxy between wpa_supplicant and NM so it doesn't have to know
10939                   any internals.
10940                 - Convert to dbus-glib bindings.
10941                 - Type safe checks for public methods' arguments.
10942                 - Store pending DBUS call ids to NMCallStore.
10943
10944         * src/supplicant-manager/nm-supplicant-config.c:
10945                 - Store config values in a GHashTable instead of GSList.
10946
10947         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10948
10949         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10950         singleton now.
10951
10952         * src/nm-device.c: Use the new DHCP manager API.
10953
10954         * src/nm-activation-request.c:
10955         * src/nm-activation-request.h:
10956                 - Remove all dhcp related properties and methods.
10957
10958         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10959
10960         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10961
10962         * src/dhcp-manager/nm-dhcp-manager.c:
10963         * src/dhcp-manager/nm-dhcp-manager.h:
10964                 - Convert it to GObject since we need to signal state changes.
10965                 - Remove all references to other NM classes, this class is one
10966                   of the lowest classes in our hierarchy.
10967                 - One less class to use NMActRequest.
10968                 - Make it singleton, one less user of NMData.
10969                 - Remove a couple of sleep() calls.
10970                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10971                   One less class to use the NM's custom tailored signal handlig.
10972
10973         * Makefile.am: Generate marshallers, add them to build.
10974
10975 2007-02-02  Dan Williams  <dcbw@redhat.com>
10976
10977         * configure.in
10978           gnome/Makefile.am
10979           nm-applet.desktop
10980           Makefile.am
10981                 - Remove last bits referencing gnome applet
10982
10983 2007-02-02  Dan Williams  <dcbw@redhat.com>
10984
10985         * src/vpn-manager/nm-vpn-service.c
10986                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10987                         and NBNS server addresses
10988
10989 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10990
10991         * src/nm-dbus-manager.c:
10992         * src/nm-dbus-manager.h:
10993                 - Convert all internal DBUS code to use dbus-glib bindings.
10994                 - Remove GObject properties, we don't need them here.
10995                 - Don't explicitly set things to NULL after freeing, glib is
10996                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10997                 - Make public API argument checks type safe.
10998                 - Remove unnecessary (and wrong) cast to GObject for the first
10999                   argument to g_signal_* calls - The first argument is a gpointer.
11000                 - Export DBusGConnection to other cool classes that (are going to)
11001                   use dbus-glib.
11002
11003 2007-01-26  Dan Williams  <dcbw@redhat.com>
11004
11005         * libnm-util/dbus-dict-helpers.c
11006           libnm-util/dbus-dict-helpers.h
11007                 - Coordinate style with wpa_supplicant version to minimize diff
11008                 - Add uint32 array support
11009                 - (nmu_dbus_dict_append_uint32_array): new function
11010                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11011                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11012                         version; allow adding string array elements individually
11013
11014         * test/libnm-util/test-dbus-dict-helpers.c
11015                 - Test uint32 arrays
11016
11017 2007-01-27  Jürg Billeter  <j@bitron.ch>
11018
11019         * src/backends/NetworkManagerPaldo.c
11020                 - (nm_system_update_dns): clear nscd hosts cache
11021
11022 2007-01-04  Dan Williams  <dcbw@redhat.com>
11023
11024         Threading removal related cleanups:
11025
11026         - Use the glib default main context.  Remove the device main context
11027                 member from NMDevice, and the main_context member from NMData.  Change
11028                 all the idle and timeout scheduler functions to use plain
11029                 g_idle_add() and g_timeout_add().
11030
11031         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11032                 takes an argument; fix that up too.
11033
11034         - Remove all locking, which is useless since we no longer use threads.  For
11035                 example, nm_get_device_by_iface_locked() has been removed.  The global
11036                 device list lock, the AP List lock, and all static locks in
11037                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11038                 in NetworkManagerUtils.c have also been removed.
11039
11040         - Other cleanups in spacing and code style
11041
11042 2007-01-01  Dan Williams  <dcbw@redhat.com>
11043
11044         Found by Bill Moss:
11045
11046         * src/supplicant-manager/nm-supplicant-interface.c
11047                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11048                         the supplicant interface wasn't already disconnected.  Always
11049                         call removeNetwork and disconnect unless the supplicant interface
11050                         is in the DISCONNECTED or INACTIVE state.
11051
11052 2006-12-28  Dan Williams  <dcbw@redhat.com>
11053
11054         Use a single thread for everything.  With the move to wpa_supplicant
11055         and communication over D-Bus, there's no reason for multiple threads.
11056         Almost all of the blocking code has been removed, with one exception in
11057         the DHCP manager and a few in the VPN manager.  This commit removes the
11058         per-device worker thread and fixes activation cancellation in the absence
11059         of threads.  Further removal of thread-related code would be removing
11060         any locking code (like the device list lock) and simplification of logic
11061         around areas of code or data structures that are currently locked.
11062
11063         * autoip.c
11064           dhcp-manager/nm-dhcp-manager.c 
11065           nm-device-802-11-wireless.c
11066           nm-device-802-3-ethernet.c
11067           nm-device.c
11068           nm-device.h
11069                 - Remove usage of multiple threads
11070
11071 2006-12-19  Dan Williams  <dcbw@redhat.com>
11072
11073         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11074         plus a few other patches from wpa_supplicant bugzilla.
11075
11076         * src/Makefile.am
11077           src/NetworkManagerPolicy.c
11078           src/NetworkManagerUtils.c
11079           src/NetworkManagerUtils.h
11080           src/nm-ap-security-leap.c
11081           src/nm-ap-security-wep.c
11082           src/nm-ap-security-wpa-eap.c
11083           src/nm-ap-security-wpa-psk.c
11084           src/nm-ap-security.c
11085           src/nm-ap-security.h
11086           src/nm-device-802-11-wireless.c
11087           src/nm-device-802-11-wireless.h
11088           src/supplicant-manager/nm-supplicant-config.c
11089           src/supplicant-manager/nm-supplicant-config.h
11090           src/supplicant-manager/nm-supplicant-interface.c
11091           src/supplicant-manager/nm-supplicant-interface.h
11092           src/supplicant-manager/nm-supplicant-marshal.list
11093           src/supplicant-manager/nm-supplicant-settings-verify.c
11094           src/supplicant-manager/nm-supplicant-settings-verify.h
11095                 - Move all connection management and association handling to
11096                         wpa_supplicant over dbus, rather than spawning a private copy
11097
11098 2006-12-19  Dan Williams  <dcbw@redhat.com>
11099
11100         * src/NetworkManagerPolicy.c
11101                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11102                         better locking of the device change check handler ID.  Incorrect
11103                         locking was causing lost device change requests
11104
11105 2006-12-18  Dan Williams  <dcbw@redhat.com>
11106
11107         * libnm-util/dbus-dict-helpers.c
11108                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11109                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11110                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11111
11112 2006-12-18  Dan Williams  <dcbw@redhat.com>
11113
11114         * gnome/libnm_glib/libnm_glib.c
11115                 - Change dbus_connection_close() -> dbus_connection_unref()
11116
11117 2006-12-11  Dan Williams  <dcbw@redhat.com>
11118
11119         * src/supplicant-manager/nm-supplicant-interface.c
11120                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11121                         wpa_supplicant interface state
11122                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11123                         state before transitioning to READY state
11124
11125 2006-12-04  Dan Williams  <dcbw@redhat.com>
11126
11127         * src/nm-device-802-11-wireless.c
11128                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11129                         odd length of ESSID returned from ieee80211 stack-based drivers
11130
11131 2006-12-04  Dan Williams  <dcbw@redhat.com>
11132
11133         * src/nm-device-802-11-wireless.c
11134                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11135                         IE handling blocks that cause mis-parsing of the IE
11136
11137 2006-12-04  Dan Williams  <dcbw@redhat.com>
11138
11139         * src/nm-device-802-11-wireless.c
11140                 - (init_supplicant_interface): new function; pull supplicant interface
11141                         setup code out into standalone function since it must be called from
11142                         two different places
11143                 - (real_init): sup_mgr is now in private object data; get and track
11144                         the supplicant manager object over the NMDevice subclass' lifetime
11145                         and register a signal handler for its state signals; only try to
11146                         initialize the supplicant interface if the supplicant manager is in
11147                         the IDLE state (and therefore is ready for requests)
11148                 - (request_wireless_scan): reschedule the scan request if (a) there is
11149                         no supplicant interface yet (meaning wpa_supplicant isn't running
11150                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11151                         for requests yet
11152                 - (supplicant_iface_connection_state_cb): new function; stub for
11153                         handling supplicant interface connection state signals
11154                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11155                         comes and goes
11156                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11157                         supplicant manager object that's being tracked starting with this
11158                         commit
11159
11160 2006-12-04  Dan Williams  <dcbw@redhat.com>
11161
11162         * src/supplicant-manager/nm-supplicant-interface.c
11163                 - (nm_supplicant_interface_set_property): track signal handler ID
11164                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11165
11166 2006-12-04  Dan Williams  <dcbw@redhat.com>
11167
11168         * src/supplicant-manager/nm-supplicant-interface.[ch]
11169                 - (nm_supplicant_interface_get_state): new function
11170
11171 2006-12-04  Dan Williams  <dcbw@redhat.com>
11172
11173         * src/supplicant-manager/nm-supplicant-interface.c
11174                 - (bssid_properties_cb): don't treat DBus errors as valid
11175                         scanned AP messages
11176
11177 2006-12-04  Dan Williams  <dcbw@redhat.com>
11178
11179         * src/supplicant-manager/nm-supplicant-interface.[ch]
11180                 - (nm_supplicant_interface_get_connection_state): new function
11181                 - define new supplicant connection states
11182                 - send a signal when the supplicant connection state changes
11183
11184 2006-12-03  Dan Williams  <dcbw@redhat.com>
11185
11186         * src/supplicant-manager/Makefile.am
11187           src/supplicant-manager/nm-supplicant-connection.h
11188           src/supplicant-manager/nm-supplicant-connection.c
11189           src/supplicant-manager/nm-supplicant-config.h
11190           src/supplicant-manager/nm-supplicant-config.c
11191           src/supplicant-manager/nm-supplicant-types.h
11192           src/supplicant-manager/nm-supplicant-interface.h
11193           src/supplicant-manager/nm-supplicant-interface.c
11194                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11195
11196 2006-12-03  Dan Williams  <dcbw@redhat.com>
11197
11198         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11199
11200         * po/POTFILES.in
11201           po/POTFILES.skip
11202                 - Move VPN-related translatables to .skip
11203
11204         * vpn-daemons/pptp/po/POTFILES.in
11205                 - Update with new translatables
11206
11207 2006-12-02  Dan Williams  <dcbw@redhat.com>
11208
11209         Patch from Christian Persch <chpe@gnome.org>
11210
11211         * gnome/applet/Makefile.am
11212           gnome/applet/applet-dbus-devices.c
11213           gnome/applet/applet-notifications.c
11214           gnome/applet/applet.c
11215           gnome/applet/applet.h
11216           gnome/applet/main.c
11217                 - Be a GtkStatusIcon on GTK+ >= 2.10
11218
11219 2006-12-02  Dan Williams  <dcbw@redhat.com>
11220
11221         * gnome/applet/applet.c
11222                 - (nma_update_info): fix two unecessary allocations
11223
11224 2006-12-02  Dan Williams  <dcbw@redhat.com>
11225
11226         Patch from Michael Biebl <biebl@teco.edu>
11227         * configure.in
11228           man/NetworkManager.1.in
11229           man/NetworkManagerDispatcher.1.in
11230           man/NetworkManager.8.in
11231           man/NetworkManagerDispatcher.8.in
11232                 - Add .SH NAME stanzas
11233                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11234
11235 2006-12-02  Dan Williams  <dcbw@redhat.com>
11236
11237         Patch from Christian Persch <chpe@gnome.org>
11238
11239         * configure.in
11240                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11241
11242 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11243
11244         Patch by Timo Hoenig <thoenig@suse.de>:
11245         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11246         DBUS-1.0.
11247
11248         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11249         we can't use the one from the main source directory.
11250
11251 2006-11-27  Dan Williams  <dcbw@redhat.com>
11252
11253         Patch from Christian Persch <chpe@gnome.org>
11254
11255         * gnome/applet/applet-dbus-devices.c
11256                 - (hal_info_product_cb): fix memleak; free duped string.
11257                         Gnome.org #379908
11258
11259 2006-11-27  Dan Williams  <dcbw@redhat.com>
11260
11261         Patch from Christian Persch <chpe@gnome.org>
11262
11263         * gnome/applet/menu-items.c
11264                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11265                         as gtk_progress_set_percentage is deprecated.  Should
11266                         work as far back as GTK+ 2.4.  Gnome.org #379780
11267
11268 2006-11-26  Dan Williams  <dcbw@redhat.com>
11269
11270         Scan using wpa_supplicant over DBus.
11271
11272         * src/nm-device-802-11-wireless.c
11273                 - remove wireless extensions netlink event handler bits
11274                         (wireless_event_helper, nm_device_802_11_wireless_event)
11275                 - remove wireless extensions scan event handler bits
11276                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11277                         hex2byte, hex2num, request_and_convert_scan_results,
11278                         free_process_scan_cb_data, scan_results_timeout,
11279                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11280                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11281                         and request scans from the supplicant interface rather than directly
11282                 - Move functionality of convert_scan_results() to cull_scan_list() and
11283                         supplicant_iface_scanned_ap_cb()
11284                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11285                         at the scan interval when the current scan has finished
11286                 - (supplicant_iface_state_cb): start scanning when the supplicant
11287                         interface enters the READY state, and stop scanning when it
11288                         enters the DOWN state
11289                 - (cull_scan_list): weed out old access points from the scan list
11290                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11291                         point into an NMAccessPoint and merge it into the device's scan list
11292
11293         * src/supplicant-manager/nm-supplicant-interface.c
11294           src/supplicant-manager/nm-supplicant-interface.h
11295                 - Add a new signal "scan-result" which is issued when the supplicant
11296                         notifies NM that a scan has completed
11297                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11298                         point found in the scan.  Called once for each access point that
11299                         the supplicant interface object receives from the supplicant as a
11300                         result of the "scanResults" method call
11301                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11302                         for the initial scan results
11303                 - (scan_request_cb): new function; send listeners the result
11304                         (success, error) of a wireless scan request
11305                 - (nm_supplicant_interface_request_scan): new function; ask the
11306                         supplicant to perform an immediate wireless scan
11307
11308 2006-11-25  Dan Williams  <dcbw@redhat.com>
11309
11310         * src/supplicant-manager/Makefile.am
11311                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11312                         add HAL cflags/includes and named-manager includes directory
11313
11314         * src/supplicant-manager/nm-supplicant-interface.h
11315                 - New state STARTING to handle transition from INIT to READY where
11316                         the addInterface pending call is still outstanding
11317
11318         * src/supplicant-manager/nm-supplicant-interface.c
11319                 - track pending calls differently since we may have more than one
11320                         going on at any given time
11321                 - request scan results from wpa_supplicant; but don't do it more often
11322                         than every 4 seconds.  Drivers that do background scanning
11323                         (like the 'ipw' drivers) send a continuous stream of scan completion
11324                         notifications, so we don't want to hammer the supplicant or dbus
11325                         with requests for all scan results every time we get a completion
11326                         notification.
11327
11328 2006-11-25  Dan Williams  <dcbw@redhat.com>
11329
11330         * src/supplicant-manager/nm-supplicant-types.h
11331                 - new file; move all supplicant manager object typedefs here for
11332                         #include sanity
11333
11334         * src/supplicant-manager/nm-supplicant-interface.c
11335           src/supplicant-manager/nm-supplicant-interface.h
11336                 - new file; an object that interfaces an NMDevice object to the
11337                         supplicant and handles signals from the supplicant.  This object
11338                         does all necessary DBus communication with wpa_supplicant.
11339
11340         * src/supplicant-manager/nm-supplicant-manager.c
11341           src/supplicant-manager/nm-supplicant-manager.h
11342                 - Actually do something.  Track the state of the wpa_supplicant service
11343                         and deal with its comings & goings.  Handle life events of
11344                         supplicant interfaces too.
11345                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11346
11347         * src/supplicant-manager/nm-supplicant-connection.h
11348                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11349
11350         * src/supplicant-manager/Makefile.am
11351                 - Add new files to build, and add libnm-util to includes
11352
11353         * src/nm-marshal.list
11354                 - New marshaler type: VOID:UINT,UINT
11355
11356         * src/nm-device-802-3-ethernet.c
11357                 - (real_init): grab a supplicant interface
11358                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11359                 - (supplicant_iface_state_cb): new function, stub for handling
11360                         supplicant interface state changes
11361
11362         * src/nm-device-802-11-wireless.c
11363                 - (real_init): grab a supplicant interface
11364                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11365                 - (supplicant_iface_state_cb): new function, stub for handling
11366                         supplicant interface state changes
11367
11368         * src/NetworkManager.c
11369                 - (main): create and keep the supplicant manager around for the lifetime
11370                         of NetworkManager
11371
11372         * src/Makefile.am
11373                 - Link to the supplicant manager sub-library and use the supplicant
11374                         manager includes
11375
11376 2006-11-25  Dan Williams  <dcbw@redhat.com>
11377
11378         Rework DBus manager signal handling to be more flexible.  Previously,
11379         only one signal handler could be registered for a particular interface.
11380         The DBus manager now reference counts DBus bus matches and allows multiple
11381         clients to register signal handlers for the same interface and sender.
11382
11383         * src/NetworkManager.c
11384                 - (main): track NMI signal handler ID and remove it when we quit
11385
11386         * src/NetworkManagerMain.h
11387                 - Keep track of NMI signal handler ID
11388
11389         * src/nm-dbus-manager.c
11390           src/nm-dbus-manager.h
11391                 - rework signal handling; each signal handler references one signal
11392                         match, but a signal match may be referenced by one or more
11393                         signal handlers.  Matches are refcounted and are destroyed when the
11394                         last signal handler that references the match is removed.  This is
11395                         necessary because two signal handlers may end up requiring the same
11396                         dbus bus match, so the match must live until the last signal handler
11397                         is destroyed (for example, with the wpa_supplicant network interface
11398                         dbus interface).
11399
11400         * src/dhcp-manager/nm-dhcp-manager.c
11401                 - (nm_dhcp_manager_new): track DHCP signal handler id
11402                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11403
11404         * src/vpn-manager/nm-vpn-service.c
11405                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11406                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11407
11408 2006-11-25  Dan Williams  <dcbw@redhat.com>
11409
11410         Suggested by Helmut Schaa <hschaa@suse.de>
11411
11412         * src/vpn-daemons/nm-vpn-service.c
11413                 - (supplicant_child_setup): new function
11414                 - (supplicant_exec): make child process use a new process group id
11415
11416         * src/nm-device-802-11-wireless.c
11417                 - (nm_vpn_service_child_setup): new function
11418                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11419                         process group id
11420
11421 2006-11-19  Dan Williams  <dcbw@redhat.com>
11422
11423         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11424         * gnome/vpn-properties/nm-vpn-properties.c
11425                 - clean up after renamed VPN connection
11426
11427 2006-11-19  Dan Williams  <dcbw@redhat.com>
11428
11429         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11430         * gnome/applet/applet-dbus-vpn.c
11431                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11432
11433         * gnome/vpn-properties/nm-vpn-properties.c
11434                 - (init_app): sort VPN connections
11435
11436 2006-11-09  Dan Williams  <dcbw@redhat.com>
11437
11438         * src/NetworkManagerAPList.c
11439                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11440                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11441                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11442                 broke hidden SSID matching.  Found by Bill Moss.
11443
11444 2006-10-25  Dan Williams  <dcbw@redhat.com>
11445
11446         * src/nm-dbus-nm.c
11447                 - (nm_dbus_nm_set_active_device): return an empty success message on
11448                         success, rather than falling through to the error case.
11449
11450 2006-10-25  Dan Williams  <dcbw@redhat.com>
11451
11452         * src/NetworkManagerUtils.c
11453                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11454                         "SCAN" command
11455
11456 2006-10-24  Dan Williams  <dcbw@redhat.com>
11457
11458         Reduce the number of times the Gnome applet wakes up, especially when
11459         it's doing absolutely nothing and is hidden.  Initial patch by
11460         Chris Aillon.
11461
11462         * gnome/applet/applet-dbus.c
11463                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11464                         kill the redraw timeout.  When NM starts up, start the redraw
11465                         timeout.  Also, if we get kicked off the bus for some reason,
11466                         start the reconnection timeout if one's not already running.
11467                 - (nma_dbus_init): better handling of error conditions, don't leak
11468                         a half-initialized dbus connection
11469                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11470                         the applet's data, just call nm_dbus_init_helper()
11471                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11472                         timeout that calls nma_dbus_connection_watcher()
11473                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11474                         reconnection timeout, and don't start the reconnection timeout
11475                         unconditionally anymore
11476
11477         * gnome/applet/applet-dbus.h
11478                 - Expose nma_start_dbus_connection_watch()
11479
11480         * gnome/applet/applet.c
11481                 - (nma_update_state): no longer static, called from applet-dbus.c for
11482                         immediate UI updates on certain events
11483                 - (nma_set_running): new function; take over setting applet->running,
11484                         when not running (ie, NM is not active), don't activate the redraw
11485                         timeout because we're not showing the applet anyway.  When we are
11486                         running (ie, NM is active), and only when we're running, start the
11487                         redraw timeout.
11488                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11489                         kill any reconnection timeout
11490                 - (nma_get_instance): move one-off dbus initialization code here since
11491                         nm_dbus_init_helper() gets called more than once, possibly by the
11492                         reconnection timeout function too.  And, when we start up, if we
11493                         can't get a connection to the bus, start the reconnection timeout.
11494                         But don't start the redraw timeout yet, only do that when we get
11495                         NM's state and find out if it's running or not.
11496
11497         * gnome/applet/applet.h
11498                 - Add the reconnection GSource ID
11499                 - Add prototypes for nma_set_running() and the no-longer-static
11500                         nma_update_state()
11501
11502 2006-10-24  Dan Williams  <dcbw@redhat.com>
11503
11504         * src/vpn-daemons/nm-dbus-vpnc.c
11505                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11506                         pending call tracker
11507                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11508                         pending call tracker; register one-vpn-connection update pending
11509                         call in pending call tracker
11510                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11511                         update pending call in pending call tracker
11512                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11513                         update pending call in pending call tracker; don't block waiting
11514                         for call to return
11515
11516 2006-10-19  Robert Love  <rml@novell.com>
11517
11518         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11519           refresh the cache.
11520
11521 2006-10-14  Dan Williams  <dcbw@redhat.com>
11522
11523         * src/dhcp-manager/nm-dhcp-manager.c
11524                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11525                 the dbus connection and the device object path rather than
11526                 constructing it inside both functions.  Saves a bit of memory
11527                 and clarifies a failure path.
11528                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11529                 and allocate device path here rather than each of the two
11530                 functions above.
11531
11532 2006-10-13  Dan Williams  <dcbw@redhat.com>
11533
11534         * src/NetworkManager.c
11535                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11536                 this somehow droppout in the refactor
11537
11538 2006-10-13  Dan Williams  <dcbw@redhat.com>
11539
11540         * Huge DBus refactor:
11541                 - Create a "DBus Manager" object which manages the connection and
11542                 sends signals on NameOwnerChanged and connection/disconnection events,
11543                 handles reconnection to the bus if NM gets kicked off, and abstracts
11544                 signal handling
11545                 - Remove DBusConnection members from places where they are no
11546                 longer needed due to the refactor, like the dbus-connection
11547                 property of the named manager, and from NMData
11548                 - Reformats a bunch of the code to gnome style
11549                 (8-space tabs, braces on same line as statement, 80-col width).
11550                 Consider it open season to reformat any bits to gnome style.
11551                 style that aren't already.
11552
11553 2006-10-13  Dan Williams  <dcbw@redhat.com>
11554
11555         * src/supplicant-manager/Makefile.am
11556                 - Add new files
11557
11558         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11559                 - Make it a minimal GObject
11560
11561         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11562                 - Verify settings destined for wpa_supplicant
11563
11564         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11565                 - Minimal GObject to track wpa_supplicant controlled device
11566                 connections
11567
11568 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11569
11570         * gnome/applet/applet.c: (nma_update_info),
11571         (nma_act_stage_to_pixbuf), (nma_update_state):
11572         Mark missing strings for translation. Fixes bug #343306.
11573
11574 2006-10-01  Dan Williams  <dcbw@redhat.com>
11575
11576         * src/vpn-manager/nm-vpn-manager.c
11577                 - (nm_vpn_manager_load_services): split and clean up
11578                 for readability and correctness.  Restrict VPN service
11579                 files to ending in ".name", as was meant from the
11580                 beginning (but not coded in).  Better error reporting.
11581
11582 2006-10-01  Dan Williams  <dcbw@redhat.com>
11583
11584         * utils/nm-utils.h
11585                 - Clean up formatting of debug/info/warning log messages
11586
11587 2006-09-27  Robert Love  <rml@novell.com>
11588
11589         Patch by Tambet Ingo <tambet@ximian.com>:
11590         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11591           actually work.
11592
11593 2006-09-07  Dan Williams <dcbw@redhat.com>
11594
11595         * test/Makefile.am
11596           test/libnm-util/Makefile.am
11597           test/nm-supplicant-test.c
11598                 - Add test program emulating the way NM drives wpa_supplicant
11599                 to help debug supplicant issues
11600
11601 2006-08-24  Dan Williams <dcbw@redhat.com>
11602
11603         * configure.in
11604           src/Makefile.am
11605           src/supplicant-manager/Makefile.am
11606           src/supplicant-manager/nm-supplicant-manager.c
11607           src/supplicant-manager/nm-supplicant-manager.h
11608                 - Add skeleton bits of the wpa_supplicant manager
11609
11610 2006-08-24  Dan Williams <dcbw@redhat.com>
11611
11612         Patch from Ed Catmur:
11613         * src/NetworkManagerUtils.c
11614                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11615                 if netmask is 0 (Gnome #352634)
11616
11617 2006-08-17  Robert Love  <rml@novell.com>
11618
11619         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11620           package is now DBUS-enabled and listens for the NM signals.
11621
11622 2006-08-14  Dan Williams  <dcbw@redhat.com>
11623
11624         * Patch from Christian Persch <chpe gnome org>
11625         * configure.in
11626           po/LINGUAS
11627           vpn-daemons/openvpn/po/LINGUAS
11628           vpn-daemons/openvpn/configure.in
11629           vpn-daemons/pptp/po/LINGUAS
11630           vpn-daemons/pptp/configure.in
11631           vpn-daemons/vpnc/po/LINGUAS
11632           vpn-daemons/vpnc/configure.in
11633                 - Convert to LINGUAS method so translators don't have to modify
11634                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11635                 0.35 or higher
11636
11637 2006-08-14  Dan Williams  <dcbw@redhat.com>
11638
11639         Patch from Alex Smith <alex.extreme2@gmail.com>
11640         * configure.in
11641           src/backends/Makefile.am
11642           src/backends/NetworkManagerFrugalware.c
11643                 - Add support for Frugalware
11644
11645 2006-08-13  Dan Williams  <dcbw@redhat.com>
11646
11647         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11648         * src/nm-device-802-11-wireless.c
11649                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11650                 Gnome #346875
11651
11652 2006-08-13  Dan Williams  <dcbw@redhat.com>
11653
11654         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11655         * src/nm-ap-security.c
11656           src/nm-ap-security.h
11657                 - Add authentication_required bits for subclasses to specify whether
11658                 or not real authentication is required for connections, i.e. whether
11659                 the AP rejects us when an encryption key is wrong or not.
11660
11661         * src/nm-ap-security-wep.c
11662           src/nm-ap-security-wpa-eap.c
11663           src/nm-ap-security-wpa-psk.c
11664           src/nm-ap-security-leap.c
11665                 - Implement authentication_required appropriately for each method
11666
11667         * src/nm-device-802-11-wireless.c
11668                 - Be smarter about when to request a key; for example, using a wrong key
11669                 in WEP shared key mode previously just timed out and did not request
11670                 a new key
11671
11672 2006-08-13  Dan Williams  <dcbw@redhat.com>
11673
11674         * gnome/libnm_glib/libnm_glib.c
11675                 - dbus_connection_disconnect() -> dbus_connection_close() for
11676                 dbus >= 0.90
11677
11678 2006-08-07  Dan Williams  <dcbw@redhat.com>
11679
11680         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11681         * src/NetworkManagerSystem.c
11682                 - Respect specified MTU.  Gnome #344967
11683
11684 2006-08-07  Dan Williams  <dcbw@redhat.com>
11685
11686         * src/vpn-manager/nm-vpn-service.c
11687                 - Simplify print_vpn_config() arguments
11688
11689         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11690         * src/vpn-manager/Makefile.am
11691           src/vpn-manager/nm-vpn-service.c
11692                 - Add new API for passing VPN config options as a dict. Gnome #344967
11693
11694 2006-08-06  Dan Williams  <dcbw@redhat.com>
11695
11696         * gnome/applet/applet-dbus-devices.c
11697           gnome/applet/applet-dbus-vpn.c
11698           gnome/applet/applet-dbus.c
11699           gnome/applet/applet-dbus.h
11700           src/nm-dbus-nmi.c
11701           utils/nm-utils.c
11702           utils/nm-utils.h
11703                 - Make pending call tracking code generic,
11704                 so we can use it in NM as well as the applet
11705
11706 2006-08-06  Dan Williams  <dcbw@redhat.com>
11707
11708         * src/nm-activation-request.c
11709                 - Refcount pending call objects
11710
11711 2006-08-06  Dan Williams  <dcbw@redhat.com>
11712
11713         Patch from Christan Chiesa <christanc@gmail.com>
11714         * configure.in
11715                 - Tell sha1.c to use bigendian mode on PPC
11716
11717 2006-08-04  Robert Love  <rml@novell.com>
11718
11719         Glib Memory Slices!
11720         * configure.in: Require glib 2.10 or later.
11721         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11722           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11723           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11724           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11725           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11726           Memory Slices are the greatest thing since bread slices.
11727         * src/NetworkManagerAP.c: Also, fix memory leak.
11728
11729 2006-08-01  Robert Love  <rml@novell.com>
11730
11731         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11732
11733 2006-07-31  Robert Love  <rml@novell.com>
11734
11735         * src/backends/interface_parser.c: Declarations must begin the block.
11736
11737 2006-07-24  Dan Williams  <dcbw@redhat.com>
11738
11739         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11740         * src/backends/Makefile.am
11741           src/backends/NetworkManagerArch.c
11742           src/backends/NetworkManagerDebian.c
11743           src/backends/NetworkManagerGeneric.c
11744           src/backends/NetworkManagerGeneric.h
11745           src/backends/NetworkManagerGentoo.c
11746           src/backends/NetworkManagerPaldo.c
11747           src/backends/NetworkManagerRedHat.c
11748           src/backends/NetworkManagerSlackware.c
11749           src/backends/NetworkManagerSuSE.c
11750                 - Genericize common backend functions
11751
11752 2006-07-18  Robert Love  <rml@novell.com>
11753
11754         * configure.in: Add "--with-notify" option to allow disabling of
11755           libnotify support.
11756
11757 2006-07-13  Dan Williams  <dcbw@redhat.com>
11758
11759         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11760         * gnome/applet/applet.glade
11761           gnome/applet/Makefile.am
11762           gnome/applet/nm-gconf-wso.c
11763           gnome/applet/nm-gconf-wso-leap.c
11764           gnome/applet/nm-gconf-wso-leap.h
11765           gnome/applet/wireless-security-manager.c
11766           gnome/applet/wso-leap.c
11767           gnome/applet/wso-leap.h
11768           include/NetworkManager.h
11769           libnm-util/dbus-helpers.c
11770           libnm-util/dbus-helpers.h
11771           src/Makefile.am
11772           src/NetworkManagerAP.c
11773           src/nm-ap-security.c
11774           src/nm-ap-security-leap.c
11775           src/nm-ap-security-leap.h
11776                 - Add LEAP authentication support
11777
11778 2006-07-13  Dan Williams  <dcbw@redhat.com>
11779
11780         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11781         * configure.in
11782           src/backends/NetworkManagerArch.c
11783           src/backends/NetworkManagerDebian.c
11784           src/backends/NetworkManagerGentoo.c
11785           src/backends/NetworkManagerPaldo.c
11786           src/backends/NetworkManagerRedHat.c
11787           src/backends/NetworkManagerSlackware.c
11788           src/backends/NetworkManagerSuSE.c
11789                 - Convert hardcoding of 'ip' path to configure-time
11790                         detected one
11791
11792 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11793
11794         * configure.in: added ru to ALL_LINGUAS
11795
11796 2006-07-10  Dan Williams  <dcbw@redhat.com>
11797
11798         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11799         * src/nm-device.c
11800                 - (real_act_stage3_ip_config_start): don't infinite loop when
11801                         dhcdbd isn't running (Gnome #346845)
11802
11803 2006-07-09  Dan Williams  <dcbw@redhat.com>
11804
11805         * gnome/applet/applet.c
11806                 - (nma_destroy): don't pass NULL to notify_notification_close
11807                         (RH #197917)
11808
11809 2006-07-09  Dan Williams  <dcbw@redhat.com>
11810
11811         * gnome/applet/applet.c
11812                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11813
11814 2006-07-04  Tor Krill  <tor@krill.nu>
11815
11816         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11817         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11818         (nm_system_restart_mdns_responder), (ArchReadConfig),
11819         (nm_system_device_get_system_config):
11820                 - Explicitly check for DHCP configuration
11821                 - Check if daemons are running before starting them
11822
11823 2006-06-25  Dan Williams  <dcbw@redhat.com>
11824
11825         * libnm-util/dbus-dict-helpers.[ch]
11826           test/libnm-util/test-dbus-dict-helpers.c
11827                 - Add string array support
11828
11829 2006-06-24  Dan Williams  <dcbw@redhat.com>
11830
11831         * src/dhcp-manager/nm-dhcp-manager.c
11832                 - (nm_dhcp_manager_process_signal): clean up spacing
11833
11834 2006-06-21  Dan Williams  <dcbw@redhat.com>
11835
11836         * src/nm-dbus-device.c
11837                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11838                         through dbus
11839
11840 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11841
11842         * configure.in: Added 'lv' to ALL_LINGUAS
11843
11844 2006-06-19  Dan Williams  <dcbw@redhat.com>
11845
11846         * src/NetworkManagerAP.c
11847                 - Clarify usage of user_created
11848
11849         * src/nm-ap-security-wep.c
11850           src/nm-ap-security-wpa-eap.c
11851           src/nm-ap-security-wpa-psk.c
11852           src/nm-ap-security.c
11853           src/nm-ap-security.h
11854                 - s/user_created/adhoc, because we really do mean adhoc
11855
11856         Patch from Bernard Blackham <bernard@blackham.com.au>
11857         * src/nm-device-802-11-wireless.c         
11858                 - (supplicant_send_network_config): instead of user_created,
11859                         use adhoc, and do AP_SCAN 2 for adhoc networks
11860
11861 2006-06-18  Robert Love  <rml@novell.com>
11862
11863         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11864           we have a value to set.  Gconf generates a warning if `val' is NULL.
11865         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11866           unless we actually received a valid private key file passphrase or
11867           password.  Otherwise, we don't know to later ask the applet to pull
11868           the key from the keyring.
11869
11870 2006-06-17  Dan Williams  <dcbw@redhat.com>
11871
11872         * libnm-util/dbus-dict-helpers.[ch]
11873           test/libnm-util/test-dbus-dict-helpers.c
11874                 - Fixes for zero-length byte arrays
11875                 - Replace return values of 0 with FALSE for clarity
11876                 - Test zero-length byte arrays
11877
11878 2006-06-17  Dan Williams  <dcbw@redhat.com>
11879
11880         * libnm-util/dbus-dict-helpers.[ch]
11881           test/libnm-util/test-dbus-dict-helpers.c
11882                 - Add helpers for byte arrays
11883                 - Rework bits of the testcase
11884
11885 2006-06-16  Dan Williams  <dcbw@redhat.com>
11886
11887         * libnm-util/Makefile.am
11888         * libnm-util/dbus-dict-helpers.[ch]
11889                 - Add some helpers to take the pain out of using dict types in
11890                         dbus.
11891
11892         * test/libnm-util/Makefile.am
11893         * test/libnm-util/test-dbus-dict-helpers.c
11894                 - Test cases for the dict helper functions
11895
11896 2006-06-15  Robert Love  <rml@novell.com>
11897
11898         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11899           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11900           if there is no key to pass.
11901         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11902           receiving a non-NULL key.
11903
11904 2006-06-14  Robert Love  <rml@novell.com>
11905
11906         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11907           copy the strings.
11908
11909
11910 2006-06-14  Dan Williams  <dcbw@redhat.com>
11911
11912         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11913         * src/nm-device-802-11-wireless.c
11914                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11915                         or ones where the driver is unknown
11916                 - (supplicant_exec): don't wait for supplicant startup here
11917                 - (supplicant_interface_init): finer grained polling for supplicant
11918                         startup
11919
11920 2006-06-13  Robert Love  <rml@novell.com>
11921
11922         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11923           if it is currently set to TRUE.  Otherwise, we will reset the value
11924           when we connect normally.
11925         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11926           the old BSSID is valid, too.  The recently added ESSID check may not be
11927           sufficient (we can remove it?).  What we really want to catch is the
11928           case of going from all-zeros to the BSSID of some other network, which
11929           happens on failure.
11930
11931 2006-06-09  Dan Williams  <dcbw@redhat.com>
11932
11933         * src/NetworkManagerSystem.[ch]
11934                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11935                         it was unused and pointless
11936                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11937                         fix for set_up_down_with_iface change
11938
11939         * src/vpn-manager/nm-vpn-connection.c
11940                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11941
11942         * src/backends/NetworkManagerPaldo.c
11943           src/backends/NetworkManagerRedHat.c
11944           src/backends/NetworkManagerSuSE.c
11945           src/backends/NetworkManagerArch.c
11946           src/backends/NetworkManagerDebian.c
11947           src/backends/NetworkManagerGentoo.c
11948                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11949                         appropriate
11950                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11951                         where appropriate
11952
11953 2006-06-09  Dan Williams  <dcbw@redhat.com>
11954
11955         Patch from Peter Jones:
11956         * src/nm-device-802-11-wireless.c
11957                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11958                         SSID hasn't changed from what we expect before automatically
11959                         updating the saved BSSID from a new AP
11960
11961 2006-06-08  Robert Love  <rml@novell.com>
11962
11963         Add 'fallback' support.  NetworkManager will attempt to brute-force
11964         connect to networks marked as fallback if there are no better wireless
11965         connections available.  This is useful as a method of last resort, to
11966         work around driver problems, and for use with hidden networks.
11967         * gnome/applet/applet-dbus-devices.c,
11968           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11969         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11970           pass it on via DBUS.
11971         * gnome/applet/applet.c: No fallback by default.
11972         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11973           Update other-network-dialog to add UI checkbox toggling fallback.
11974         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11975           propery from AP object.  Add "fallback" property to AP object.
11976         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11977         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11978         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11979           separate function.  Add get_best_fallback_ap() for returning an AP
11980           on which to attempt fallback.
11981         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11982         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11983
11984 2006-06-07  Robert Love  <rml@novell.com>
11985
11986         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11987           checked that the return type was GCONF_VALUE_STRING, not the correct
11988           GCONF_VALUE_BOOL, and thus it never worked.
11989         * src/NetworkManagerAPList.c: Before concluding that two networks are
11990           identical based on their BSSID, make sure that the BSSID in question
11991           is actually valid.  Specifically, an empty or all zero BSSID does not
11992           cut it.
11993         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11994           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11995           similar invariant clean up.
11996
11997 2006-06-02  Robert Love  <rml@novell.com>
11998
11999         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12000
12001 2006-05-28  Dan Williams  <dcbw@redhat.com>
12002
12003         * gnome/applet/applet.glade
12004           gnome/vpn-properties/nm-vpn-properties.glade
12005                 - Set window icons on dialogs  (Gnome.org #333420)
12006
12007 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12008
12009         * gnome/vpn-properties/nm-vpn-properties.glade:
12010         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12011         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12012         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12013                 - Make the VPN properties pages prettier and more HIG
12014                   compliant. Gnome Bug #336913.
12015
12016 2006-05-28  Dan Williams  <dcbw@redhat.com>
12017
12018         Patch from Christian Persch <chpe@gnome.org>
12019         * gnome/vpn-properties/nm-vpn-properties.c
12020         * gnome/vpn-properties/nm-vpn-properties.glade
12021                 - HIG-ification love  (Gnome.org #336846)
12022
12023 2006-05-28  Dan Williams  <dcbw@redhat.com>
12024
12025         Patch from Christian Persch <chpe@gnome.org>
12026         * configure.in
12027           gnome/vpn-properties/nm-vpn-properties.c
12028                 - (main): Fix option parsing.  Gnome.org #336847
12029
12030 2006-05-28  Dan Williams  <dcbw@redhat.com>
12031
12032         * gnome/vpn-properties/nm-vpn-properties.c
12033                 - (find_vpn_ui_by_service_name): protect against NULL service names
12034                 - (update_edit_del_sensitivity): protect against NULL service names
12035                         Gnome.org #341306
12036
12037 2006-05-28  Dan Williams  <dcbw@redhat.com>
12038
12039         Patch from Chris Fuller <crf@grandecom.net>:
12040         * src/nm-device-802-11-wireless.c
12041                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12042                         don't dispose of wireless-specific stuff unless it is actually
12043                         initialized.  Gnome.org #341263
12044
12045 2006-05-28  Dan Williams  <dcbw@redhat.com>
12046
12047         * src/NetworkManagerPolicy.c
12048                 - (nm_policy_device_change_check): don't switch devices if the "best"
12049                         AP is essentially the same as the current activation request, but
12050                         the current activation request isn't done activating yet.  Fixes
12051                         multiple requests for keyring password on startup for Gnome applet.
12052                         Gnome.org #341297
12053
12054 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12055
12056         * src/NetworkManager.c: use GOptions instead of getopt
12057         * configure.in: bump glib required version to >= 2.6 for GOption
12058           support
12059
12060 2006-05-25  Robert Love  <rml@novell.com>
12061
12062         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12063           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12064           instead of dumping ifdef's throughout the code.
12065         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12066           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12067           use nm_ioctl_info() in lieu.
12068
12069 2006-05-25  Robert Love  <rml@novell.com>
12070
12071         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12072         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12073           not using gcrypt.  Otherwise, we get a linker error.
12074
12075 2006-05-25  Robert Love  <rml@novell.com>
12076
12077         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12078         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12079           configure flag to disable building of the GNOME-based applet.
12080
12081 2006-05-25  Robert Love  <rml@novell.com>
12082
12083         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12084           parameter from link, because it shadows a global variable with some
12085           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12086           should never have exported to the entire system a common four letter
12087           word.  But we here at NetworkManager are team players.  Fixes
12088           GNOME bug #336532.
12089
12090 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12091
12092         * configure.in: Added mk.po, Macedonian translation.
12093
12094 2006-05-24  Robert Love  <rml@novell.com>
12095
12096         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12097           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12098           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12099
12100 2006-05-24  Robert Love  <rml@novell.com>
12101
12102         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12103           libnm-util/Makefile.am, src/Makefile.am,
12104           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12105           vpn-daemons/openvpn/properties/Makefile.am,
12106           vpn-daemons/pptp/auth-dialog/Makefile.am,
12107           vpn-daemons/pptp/properties/Makefile.am,
12108           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12109           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12110           user passed for --datadir, if anything, when setting the GNOME locale
12111           directory.  It should be a function of the specified datadir and not
12112           the prefix.
12113
12114 2006-05-24  Robert Love  <rml@novell.com>
12115
12116         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12117           src/NetworkManager.c: Take care to call bindtextdomain with the
12118           location of msgid files.
12119         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12120           files.
12121
12122 2006-05-22  Robert Love  <rml@novell.com>
12123
12124         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12125           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12126           99% of the time there is a real problem with wireless, and a
12127           seemingly successful connection via Zeroconf just confuses the user.
12128           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12129
12130 2006-05-22  Robert Love  <rml@novell.com>
12131
12132         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12133           autofs on interface up if NIS is configured.  On interface down, do
12134           nothing.
12135
12136 2006-05-22  Robert Love  <rml@novell.com>
12137
12138         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12139           to avoid calling g_object_unref() on stale pointers on error in
12140           nma_icons_free().  This happens because we short-circuit loaded the
12141           icons on the first failure but then free all icons.  Normally we have
12142           no issue because the icons were zero'ed out malloc, but we have stale
12143           pointer data after nma_icon_theme_changed().
12144         * gnome/applet/main.c: Return error code if nma_new() failed.
12145
12146 2060-05-21  Dan Williams  <dcbw@redhat.com>
12147
12148         * initscript/NetworkManager.in
12149                 - Ensure both dhcdbd and named are started before NM
12150
12151 2006-05-21  Dan Williams  <dcbw@redhat.com>
12152
12153         * configure.in
12154                 - Bump version to 0.7 to signify we are in 0.7 development
12155
12156 2006-05-21  Dan Williams  <dcbw@redhat.com>
12157
12158         Patch from Adam Schreiber <sadam@clemson.edu>
12159         * gnome/vpn-properties/nm-vpn-properties.c
12160                 - (main): correct Gnome program name  (gnome.org #342498)
12161
12162 2006-05-21  Dan Williams  <dcbw@redhat.com>
12163
12164         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12165
12166         * src/NetworkManagerDbus.[ch]
12167                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12168                         clarify that function's argument should be an escaped dbus object
12169                         path, and look for path segment end before returning a match
12170         * src/nm-dbus-nm.c:
12171                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12172
12173 2006-05-17  Robert Love  <rml@novell.com>
12174
12175         Functionality to differentiate Ad-Hoc networks from infrastructure
12176         networks in the applet, by displaying a special icon:
12177         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12178         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12179         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12180           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12181           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12182           networks, encrypted or not.
12183         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12184           accessor functions to get and set the mode of a given network,
12185           wireless_network_get_mode() and wireless_network_set_mode().
12186
12187 2006-05-17  Robert Love  <rml@novell.com>
12188
12189         Functionality to automatically add BSSIDs to the allowed-MAC list as
12190         one roams from access point to access point on a given network:
12191         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12192           helper function to compare two ether_addr structures and return TRUE
12193           if they contain the same MAC address.
12194         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12195           prototype.
12196         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12197           stored with the current AP.  If the BSSID has indeed changed, we
12198           send it out to the applet, allowing the allowed-MAC list to grow
12199           automatically in response to roaming.
12200
12201 2006-05-16  Robert Love  <rml@novell.com>
12202
12203         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12204           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12205
12206 2006-05-13  Dan Williams  <dcbw@redhat.com>
12207
12208         * src/nm-device-802-3-ethernet.c
12209                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12210                         carrier detect (Debian bug #366373)
12211
12212 2006-05-11  Dan Williams  <dcbw@redhat.com>
12213
12214         Patch from Michael Biebl <biebl@teco.edu>
12215         * src/backends/NetworkManagerDebian.c
12216                 - Debian backend fixups
12217
12218 2006-05-10  Robert Love  <rml@novell.com>
12219
12220         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12221
12222 2006-05-09  Robert Love  <rml@novell.com>
12223
12224         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12225           private certificate passphrase, if any, in the GNOME Keyring.
12226         * libnm-utils/dbus-helpers.c: Update.
12227
12228 2006-05-05  Dan Williams  <dcbw@redhat.com>
12229
12230         * src/nm-device-802-11-wireless.c
12231                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12232                         nm_device_802_11_wireless_disable_encryption() since that's all
12233                         we use it for anymore; we don't ever set WEP keys ourselves.
12234                 - (real_deactivate_quickly): reset SSID and encryption keys
12235                 - (real_deactivate): move SSID and encryption key reset to
12236                         real_deactivate_quickly(), which gets run before us anyway
12237
12238 2006-05-05  Robert Love  <rml@novell.com>
12239
12240         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12241           root has a wacky default of its own (or, more common, a user has a
12242           bad umask and uses su/sudo to restart NetworkManager).  Anything
12243           other than 0022 does not do what we want with, for example,
12244           resolv.conf.  This problem is amplified by our judicious use of
12245           fopen(), which uses mode 0666 -- implying that the only way to get
12246           the permissions we want is with a umask of 0022.
12247
12248 2006-05-05  Dan Williams  <dcbw@redhat.com>
12249
12250         * gnome/libnm_glib/libnm_glib.c
12251                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12252                         to reconnect; instead wait a bit more with each reconnect attempt
12253                         up to a max of one minute.
12254
12255 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12256
12257         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12258           the WirelessNetwork structure using the proper function instead of
12259           just casting it directly to (const char *) (gnome.org #336991)
12260
12261 2006-05-03  Robert Love  <rml@novell.com>
12262
12263         * src/backends/NetworkManagerSuSE.c: Respect the variable
12264           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12265           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12266           to dynamically update /etc/resolv.conf.
12267
12268 2006-05-02  Peter Jones  <pjones@redhat.com>
12269
12270         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12271
12272 2006-05-02  Robert Love  <rml@novell.com>
12273
12274         Patch by Timo Hoenig;
12275         * tests/nm-online.c: Print pretty status indicator as timeout winds
12276           down.  Also fix possible race between DBUS startup and failure
12277           return.
12278
12279 2006-05-01  Robert Love  <rml@novell.com>
12280
12281         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12282           empty, too.
12283
12284 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12285
12286         * src/nm-device.c (discover_device_type): Actually use the hal
12287         device type instead of ioctl poking
12288
12289 2006-04-26  Robert Love  <rml@novell.com>
12290
12291         * tests/nm-online.c: New file.  Simple utility that returns exit status
12292           noting whether the connection is offline or online.  If offline on
12293           start, it waits 30 seconds (or a command-line given value) for an
12294           online signal.  If it times out, it again returns offline.  This is
12295           useful for scripts that want to wait for network connections.
12296
12297 2006-04-25  Robert Love  <rml@novell.com>
12298
12299         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12300           key mode (the authentication algorithm), e.g. open or shared, when we
12301           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12302           only shared was broken.  If the user specified a shared key, set it
12303           explicitly, otherwise let wpa_supplicant go with the default.
12304
12305 2006-04-24  Dan Williams  <dcbw@redhat.com>
12306
12307         * src/nm-device-802-11-wireless.c
12308                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12309
12310 2006-04-24  Dan Williams  <dcbw@redhat.com>
12311
12312         Commit the async scanning patch
12313
12314         * src/nm-device-802-11-wireless.c
12315                 - get rid of scan_mutex
12316                 - (wireless_event_helper): act on wireless scan events
12317                 - (real_start): schedule a pending scan
12318                 - (link_to_specific_ap): fake the link to the AP during a scan
12319                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12320                         strength during scans
12321                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12322                         nm_device_set_bitrate): unused with new scanning code, disable
12323                 - (nm_device_wireless_schedule_scan): removed
12324                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12325                 - (request_and_convert_scan_results): new function; retrieve scan
12326                         results from the driver and schedule the processing function
12327                 - (scan_results_timeout): timeout triggered when card doesn't send
12328                         a scan results wireless event during a certain interval
12329                 - (schedule_scan_results_timeout): new function; schedule the scan
12330                         results timeout
12331                 - (cancel_scan_results_timeout): new function; cancel the scan
12332                         results timeout
12333                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12334                         to do the scanning.  Otherwise, just request a scan but don't
12335                         grab results here; instead schedule a timeout for scan results and
12336                         let netlink notify us of scan completion events
12337                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12338                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12339                 - (supplicant_status_cb): ignore disconnect events while scanning
12340                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12341                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12342                         timeouts
12343                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12344
12345 2006-04-24  Dan Williams  <dcbw@redhat.com>
12346
12347         * gnome/applet/applet-dbus.c
12348                 - Disable the pending call debug stuff, seems under control now
12349
12350 2006-04-20  Robert Love  <rml@novell.com>
12351
12352         Fix bug where hidden ESSID's would not show up in the applet, even
12353         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12354         because nm_policy_device_list_update_from_allowed_list() would merge
12355         the data, putting a name to the hidden networks, but never notify NMI
12356         of the changes.  Simple fix is to invoke the function
12357         nm_dbus_signal_wireless_network_change() if we make a mapping.
12358         * src/NetworkManagerAPList.c: Call the function
12359           nm_dbus_signal_wireless_network_change() if we made a successful
12360           BSSID to ESSID mapping, notifying the applet of the "new" network.
12361         * src/NetworkManagerAPList.h: Update the prototypes for both
12362           nm_ap_list_copy_essids_by_address() and
12363           nm_ap_list_copy_one_essid_by_address().
12364
12365 2006-04-20  Robert Love  <rml@novell.com>
12366
12367         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12368           not set.  Just return zero.
12369
12370 2006-04-20  Robert Love  <rml@novell.com>
12371
12372         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12373           only one copy of nm-vpn-properties is running at a time via the 'ol
12374           X selection trick.  This prevents the user from opening two "VPN
12375           Connections" windows from within the applet, which leads to mass
12376           hysteria.
12377         * clipboard.c: New file, implementing simple X selection logic.
12378         * clipboard.h: New file.
12379         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12380
12381 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12382
12383         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12384         * configure.in
12385           initscript/Gentoo/Makefile.am
12386           initscript/Gentoo/NetworkManagerDispatcher.in
12387                 - New script
12388         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12389           Gentopia
12390
12391 2006-04-16  Dan Williams  <dcbw@redhat.com>
12392
12393         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12394         * configure.in
12395           initscript/Slackware/Makefile.am
12396           initscript/Slackware/rc.networkmanager-dispatcher.in
12397           initscript/Slackware/rc.networkmanager.in
12398                 - Update slackware initscripts
12399
12400 2006-04-10  Robert Love  <rml@novell.com>
12401
12402         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12403           the "delete_event" signal on the druid's parent window and handle it
12404           our way, lest using the WM to close the druid results in a series of
12405           bloody and ultimately lethal errors.
12406
12407 2006-04-10  Robert Love  <rml@novell.com>
12408
12409         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12410           'Back' too or else the 'Forward' option is initially disabled despite
12411           valid input.
12412
12413 2006-04-06  Robert Love  <rml@novell.com>
12414
12415         Fix bad but simple bug where an active modem connection did not update
12416         NM's connection state, breaking any app that did online/offline:
12417         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12418           represented whether a dial up connection is active, or not.
12419         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12420           to modem activation and deactivation.
12421         * src/NetworkManagerDbus.c: When asked our state, do not return
12422           disconnected if the modem is active.
12423
12424 2006-04-04  Robert Love  <rml@novell.com>
12425
12426         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12427           applet.  It just confuses the crap out of people and does not make a
12428           lot of sense, as the daemon still runs.
12429
12430 2006-04-02  Tor Krill  <tor@krill.nu>
12431
12432         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12433           in start of service.
12434         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12435           get Archlinux backend up to date.
12436
12437 2006-03-29  Robert Love  <rml@novell.com>
12438
12439         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12440         to add support for per-route MSS and improve support for per-interface
12441         MTU:
12442         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12443           optionally take an MSS parameter and set it for the given route.
12444           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12445           NMIP4Config's stored MSS, if any.
12446         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12447           the interface's MTU and the route's MSS, respectively.  Add functions
12448           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12449           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12450           MSS.
12451         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12452           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12453           nm_ip4_config_set_mss.
12454         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12455           VPN daemon.
12456         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12457           Change the retval of nm_system_get_mtu to guint32.
12458         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12459           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12460           servers can specify MTU's, we should set it here if the MTU was not
12461           provided.
12462
12463 2006-03-27  Jürg Billeter  <j@bitron.ch>
12464
12465         * configure.in:
12466         * initscript/Makefile.am:
12467         * initscript/paldo/Makefile.am:
12468         * initscript/paldo/NetworkManager.in:
12469         * initscript/paldo/NetworkManagerDispatcher.in:
12470         * src/backends/Makefile.am:
12471         * src/backends/NetworkManagerPaldo.c:
12472                 - Add paldo support
12473
12474 2006-03-27  Dan Williams  <dcbw@redhat.com>
12475
12476         Patch from Christian Persch <chpe@gnome.org>
12477         * gnome/applet/applet.glade
12478                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12479
12480 2006-03-27  Dan Williams  <dcbw@redhat.com>
12481
12482         Patch from Diffe <diffie@blazebox.homeip.net>
12483         * src/backends/NetworkManagerSlackware.c
12484                 - Don't restart howl, since it's been replaced by Avahi
12485                         in most distributions
12486
12487 2006-03-27  Dan Williams  <dcbw@redhat.com>
12488
12489         Patch from Tor Krill <bugzilla@krill.nu>
12490         * configure.in
12491           initscript/Makefile.am
12492           src/backends/Makefile.am
12493           src/backends/NetworkManagerArch.c
12494           initscript/Arch/Makefile.am
12495           initscript/Arch/networkmanager-dispatcher.in
12496           initscript/Arch/networkmanager.in
12497                 - Add Arch Linux support, fixes gnome.org #335147
12498
12499 2006-03-27  Dan Williams  <dcbw@redhat.com>
12500
12501         Patch from Diffe <diffie@blazebox.homeip.net>
12502      * initscript/Slackware/rc.networkmanager
12503         - update, fixed gnome.org #333368
12504
12505 2006-03-27  Robert Love  <rml@novell.com>
12506
12507         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12508           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12509
12510 2006-03-27  Robert Love  <rml@novell.com>
12511
12512         Patch by Jürg Billeter <j@bitron.ch>:
12513         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12514           systems.
12515         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12516           as we prefer glibc over kernel headers, if possible.
12517
12518 2006-03-27  Robert Love  <rml@novell.com>
12519
12520         Patch by Jon Escombe <list@dresco.co.uk>:
12521         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12522         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12523           fail, don't bail out.  We don't expect all of the various WPA-EAP
12524           values to be present.
12525         * src/nm-ap-security.c: We need to match all capabilities for each
12526           encryption type, not any one of them.
12527
12528 2006-03-27  Robert Love  <rml@novell.com>
12529
12530         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12531           restart, not reload, ypbind.  Unfortunately there is no superior
12532           solution.
12533
12534 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12535
12536         * gnome/applet/applet-notifications.c:
12537         When displaying a notification, make sure to get rid of the
12538         previous notification so as to not have competing bubbles,
12539         and stop leaking the old one.
12540
12541         * gnome/applet/applet.c:
12542         * gnome/applet/applet.h:
12543         Add a new 'notification' member to the applet, and zero it out
12544         and free it appropriately.
12545
12546 2006-03-23  Robert Love  <rml@novell.com>
12547
12548         Patch by j <j@bootlab.org>:
12549         * gnome/applet/applet.glade: Don't set the invisible_char property,
12550           which simply overrides the GTK default.  By and by, this behavior
12551           ought to be fixed in Glade.
12552
12553 2006-03-22  Robert Love  <rml@novell.com>
12554
12555         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12556
12557 2006-03-22  Robert Love  <rml@novell.com>
12558
12559         Bug fix by Timo Hoenig <thoenig@suse.de>:
12560         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12561           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12562           and the applet going AWOL.
12563
12564 2006-03-22  Robert Love  <rml@novell.com>
12565
12566         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12567           preprocessor define and use it instead of open-coded the DHCP
12568           timeout, which is currently 25 seconds, everywhere.
12569
12570 2006-03-22  Robert Love  <rml@novell.com>
12571
12572         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12573         key exchange via WPA, ostensibly providing good security without
12574         requiring hardware that supports full WPA.  Also, add UI elements to
12575         allow the user to select the pairwise & group cipher for WPA Enterprise
12576         networks, too:
12577         * gnome/applet/applet.glade: Update glade file.
12578         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12579           key type, too, to and from gconf.
12580         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12581           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12582           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12583           the capabilities match.
12584         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12585           prototype.
12586         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12587           serialize from UI to DBUS.
12588         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12589           one element.
12590         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12591           nmu_security_serialize_wpa_eap_with_cipher(), and
12592           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12593           serialize/deserialize the key type via DBUS as the new third DBUS
12594           parameter.
12595         * libnm-util/dbus-helpers.h: Update prototypes.
12596         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12597           too.  If the key type is WEP104, do Dynamic WEP, which means
12598           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12599           pairwise and group ciphers (fixes a FIXME).
12600
12601 2006-03-21  Robert Love  <rml@novell.com>
12602
12603         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12604           nm_system_get_mtu(), which returns a user-provided or system-mandated
12605           MTU value for a given device, if any, or zero if no such value
12606           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12607           if we have a provided value.
12608         * src/nm-device.c: Set the MTU of devices.
12609         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12610         * src/backends/NetworkManagerDebian.c,
12611           src/backends/NetworkManagerGentoo.c,
12612           src/backends/NetworkManagerRedHat.c,
12613           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12614
12615 2006-03-21  Robert Love  <rml@novell.com>
12616
12617         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12618           configuration file.
12619
12620 2006-03-17  Robert Love  <rml@novell.com>
12621
12622         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12623           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12624           it, in case it is not running in the first place.  We just want its
12625           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12626
12627 2006-03-15  Robert Love  <rml@novell.com>
12628
12629         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12630           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12631           label "WEP 40/128-bit" is inconsistent because the physical key size
12632           is 40 or 104-bits, to which a 24-bit initialisation vector is
12633           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12634           to read "40/104" or "64/128".  I do not care much which, but most
12635           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12636           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12637           WEP passphrase support only handles 128-bit keys, and any future
12638           64-bit passphrase support will require a new option (no way to auto-
12639           detect the target key size), explicitly label our passphrase support
12640           "WEP 128-bit Passphrase".
12641
12642 2006-03-15  Robert Love  <rml@novell.com>
12643
12644         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12645           the system init scripts (or some other mechanism) starting it (or a
12646           compatible DBUS service) before NetworkManager runs.  This means that
12647           distributions might need to update their init scripts.  This fixes
12648           possible races and is quite a bit cleaner.
12649         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12650           starting the NetworkManager daemon.
12651
12652
12653 2006-03-14  Robert Love  <rml@novell.com>
12654
12655         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12656           before adding anything.
12657
12658 2006-03-13  Robert Love  <rml@novell.com>
12659
12660         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12661           widgets, too, if they exist, in case the user hit the back button.
12662           Fixes a bug where the details page contains the widgets of multiple
12663           VPN modules (Novell bug #157048).
12664
12665 2006-03-13  Robert Love  <rml@novell.com>
12666
12667         Patch by Timo Hoenig <thoenig@suse.de>:
12668         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12669           daemon survive DBUS restarts, too.
12670
12671 2006-03-10  Robert Love  <rml@novell.com>
12672
12673         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12674           passphrase or key.
12675         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12676           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12677           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12678           in response to "toggled" signal on new toggle.
12679
12680 2006-03-10  Robert Love  <rml@novell.com>
12681
12682         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12683           serialization if strings are NULL, lest DBUS get angry.
12684
12685 2006-03-10  Robert Love  <rml@novell.com>
12686
12687         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12688
12689 2006-03-09  Robert Love  <rml@novell.com>
12690
12691         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12692           configurations.
12693
12694 2006-03-09  Dan Williams  <dcbw@redhat.com>
12695
12696         Track pending call requests in the applet, and report how many are
12697         outstanding, and how long each completed one takes.
12698         
12699         * gnome/applet/applet-dbus-devices.c
12700           gnome/applet/applet-dbus-vpn.c
12701                 - Track pending calls
12702
12703         * gnome/applet/applet-dbus.[ch]
12704                 - Remove some unused enums
12705                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12706                         new functions to track dbus pending calls and spit out some
12707                         statistics about them
12708
12709 2006-03-09  Robert Love  <rml@novell.com>
12710
12711         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12712           nm_ap_set_timestamp() take the second and micro-second parameters as
12713           direct arguments, which avoids both a dynamic memory allocation and a
12714           structure-to-structure copy!  Add a new interface, the aptly named
12715           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12716           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12717           the return from nm_ap_get_timestamp().  New users should use the new
12718           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12719           the extreme benefit to performance.
12720         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12721           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12722
12723 2006-03-08  Robert Love  <rml@novell.com>
12724
12725         * gnome/applet/applet.glade: Hide the password entry text with
12726           asterisks.
12727
12728 2006-03-08  Robert Love  <rml@novell.com>
12729
12730         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12731           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12732           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12733           a second argument, NMData.
12734         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12735         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12736           config files as trusted.
12737
12738 2006-03-06  Robert Love  <rml@novell.com>
12739
12740         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12741         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12742           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12743           Rivera, detect if the applet was auto-started.  If so, ask the user
12744           if he or she would like to stop automatically running the applet on
12745           login.  If so, disable autostart.
12746
12747 2006-03-06  Robert Love  <rml@novell.com>
12748
12749         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12750           directory in CFLAGS so developers can actually use NetworkManager.h.
12751
12752 2006-03-06  Robert Love  <rml@novell.com>
12753
12754         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12755           open-coded integer constants.  Add state_to_string() to map a given
12756           state to a textual description, and provide that when notifying of
12757           state change.
12758         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12759           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12760           this header directly, but it is currently not installed on most
12761           systems.
12762
12763 2006-03-05  Dan Williams  <dcbw@redhat.com>
12764
12765         Process netlink messages in device subclasses rather than in
12766         NetworkManager.c.  Also add support for recognizing Wireless Events.
12767         
12768         * configure.in
12769                 - Find GLIB_GENMARSHAL
12770
12771         * src/Makefile.am
12772                 - Since we're marshalling custom types for wireless event signals,
12773                         we get to create our own marshallers using GLIB_GENMARSHAL
12774
12775         * src/NetworkManager.c
12776                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12777                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12778                         cut down somewhat.  We no longer process signals here.
12779                 - (nm_data_new): create the netlink monitor here, and remove a
12780                         useless call to nm_policy_schedule_device_change_check()
12781                 - (nm_data_free): get rid of the netlink monitor here
12782                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12783                 - (main): don't create the netlink monitor here, let nm_data_new
12784                         do that.  Call nm_policy_schedule_device_change_check() right
12785                         before we jump to the mainloop to figure out which device
12786                         to use first
12787
12788         * src/NetworkManagerSystem.[ch]
12789                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12790                         convert back and forth from interface names to interface
12791                         indexes
12792
12793         * src/nm-device-802-11-wireless.c
12794                 - (real_init): connect to wireless-event signals from the netlink
12795                         monitor object
12796                 - (nm_device_802_11_wireless_event): new function, schedule handler
12797                         for wireless event signals from the netlink monitor object.  We
12798                         want the handler to run in the device's context
12799                 - (wireless_event_helper): handle wireless-event signals from netlink
12800                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12801                         signal handler
12802
12803         * src/nm-device-802-11-wireless.h
12804                 - remove unused prototype for nm_device_802_11_wireless_new
12805
12806         * src/nm-device-802-3-ethernet.c
12807                 - (real_init): new function; set up signal handlers for link events
12808                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12809                         handler for netlink link activated events on device's main loop
12810                 - (link_activated_helper): when we get a link activated event, set
12811                         the device's link to be active
12812                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12813                         handler for netlink link deactivated events on device's main loop
12814                 - (link_deactivated_helper): when we get a link deactivated event, set
12815                         the device's link to be inactive
12816                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12817                         dispose
12818
12819         * src/nm-device-802-3-ethernet.h
12820                 - remove unused prototype for nm_device_802_3_ethernet_new
12821
12822         * src/nm-device.[ch]
12823                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12824                         but locks the device list
12825                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12826
12827         * src/nm-netlink-monitor.[ch]
12828                 - (nm_netlink_monitor_class_install_signals): New signal
12829                         "wireless-event"
12830                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12831                         at the device list
12832                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12833
12834         * src/nm-marshal-main.c
12835                 - Include generated nm-marshal.c and nm-marshal.h
12836
12837         * src/nm-marshal.list
12838                 - List of custom marshal functions
12839
12840 2006-03-05  Dan Williams  <dcbw@redhat.com>
12841
12842         * gnome/applet/applet-notifications.h
12843                 - Protect prototype of nma_send_event_notification() because it
12844                         includes libnotify-specific types
12845                 - Include libnotify/libnotify.h too, since we technically need it
12846
12847         * gnome/applet/applet.c
12848                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12849                 - (nma_show_vpn_login_banner_dialog): add some error checking
12850
12851 2006-03-04  Dan Williams  <dcbw@redhat.com>
12852
12853         Clean up activation cancellation.  Should be a lot faster now.  Observed
12854         an issue with wireless devices between stage 2 and 3 of activation, where
12855         activation would be cancelled, but the device thread wouldn't notice until
12856         the supplicant association timed out.  Reorganize activation such that
12857         a cancellation handler gets immediately scheduled in the device's thread,
12858         and devices have a chance to perform any custom cleanup too.
12859
12860         * src/nm-device.[ch]
12861                 - (activation_cancel_handler): new device-type-specific function
12862                         for cleaning up device-type-specific stuff on cancellation
12863                 - (cancel_activation): removed
12864                 - (nm_device_activation_cancel): subsume functionality of
12865                         real_cancel_activation, but instead of doing anything, punt
12866                         operation to a handler that's run in device-thread context
12867                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12868                         a warning message
12869                 - (activation_handle_cancel_helper): cancellation handler run in
12870                         device-thread context, calls device-type-specific cancelation,
12871                         then tears down the activation request
12872                 - (real_activation_cancel_handler): generic cancellation handler,
12873                         deals with cancelling any in-process DHCP request
12874                 - (nm_device_activate_stage1_device_prepare,
12875                    nm_device_activate_stage2_device_config,
12876                    nm_device_activate_stage3_ip_config_start,
12877                    nm_device_activate_stage4_ip_config_get,
12878                    nm_device_activate_stage4_ip_config_timeout,
12879                    nm_device_activate_stage5_ip_commit): don't call
12880                         nm_device_schedule_activation_handle_cancel() any more, since
12881                         cancellation will have been already scheduled for us by
12882                         nm_device_activation_cancel().  Just exit the function and
12883                         assume that the cancel handler will be called next.
12884
12885         * src/nm-device-802-3-ethernet.c
12886                 - (real_act_stage2_config): remove; didn't do anything anyway
12887
12888         * src/nm-device-802-11-wireless.c
12889                 - (supplicant_status_cb): ensure we don't do anything if the activation
12890                         got cancelled
12891                 - (real_activation_cancel_handler): implement; cancel user key request
12892                         on activation cancellation
12893
12894 2006-03-04  Dan Williams  <dcbw@redhat.com>
12895
12896         * src/nm-device-802-11-wireless.c
12897                 - (supplicant_send_network_config): assume that drivers that don't
12898                         support WPA pretty much suck, and can't handle NM scanning
12899                         along with wpa_supplicant.
12900
12901 2006-03-03  Robert Love  <rml@novell.com>
12902
12903         * configure.in: Bump version to 0.6.0.
12904         * NEWS: Update.
12905
12906 2006-03-03  Robert Love  <rml@novell.com>
12907
12908         * configure.in: Require DBUS 0.60 or later.
12909
12910 2006-03-03  Dan Williams  <dcbw@redhat.com>
12911
12912         Fix a crash if an "Other wireless network" was chosen, failed, then
12913         chosen again from the applet's menu.  If the other network wasn't
12914         noticed in a scan, it wouldn't have any capabilities, but would still
12915         be listed because the user forced the network.  To fix this, we set
12916         sensible capabilities on the forced network, which will get overwritten
12917         with the correct ones if the network shows up later in a scan.
12918         
12919         * src/nm-ap-security.h
12920                 - Add a new "get_default_capabilities_func" member to the
12921                         NMAPSecurity class
12922
12923         * src/nm-ap-security.c
12924                 - (nm_ap_security_get_default_capabilities): new function
12925
12926         * src/nm-ap-security.c
12927           src/nm-ap-security-wep.c
12928           src/nm-ap-security-wpa-psk.c
12929           src/nm-ap-security-wpa-eap.c
12930                 - Implement get_default_capabilities_func() for all, which
12931                         uses the information contained in a specific NMAPSecurity
12932                         object to determine default AP capabilites necessary
12933                         to support that object
12934
12935         As a secondary measure, we now prune artificial access points that fail
12936         to be activated right away.  The thing failed, and we have no scan data for
12937         it, so it's pretty much useless since security information is only saved
12938         in the applets when a connection is successful.
12939
12940         * src/NetworkManagerAPList.c
12941                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12942                         not artificial.  If we see it, it's no longer a figment of the
12943                         user's imagination :)
12944
12945         * src/NetworkManagerPolicy.c
12946                 - (nm_policy_activation_failed): send along the failed AP if we
12947                         have it
12948
12949         * src/nm-device-802-11-wireless.c
12950                 - (real_activation_failure_handler): remove artificial APs from
12951                         the device list, because activation failed
12952
12953 2006-03-02  Robert Love  <rml@novell.com>
12954
12955         Add support for retrieving both the per-device speed and the
12956         per-network maximum supported rate.  Then change the getProperties
12957         DBUS API for both networks and devices to report this informaiton.
12958         Finally, display the information via both nm-applet and nm-tool:
12959         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12960           and set it.
12961         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12962           Information' dialog.
12963         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12964         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12965           network_device_get_speed() and network_device_set_speed() for
12966           retrieving and setting, respectively, a network device's current
12967           speed.
12968         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12969         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12970           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12971           not matter (yet) what the units are, because we only feed it its own
12972           output.  Implement SIOCGIRATE and set the per-network maximum
12973           supported rate during scanning.
12974         * src/nm-device-802-11-wireless.h: Export the function
12975           nm_device_802_11_wireless_get_bitrate().
12976         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12977           function nm_device_802_3_ethernet_get_speed() for returning an
12978           802.3's current speed, in Mb/s.
12979         * test/nm-tool.c: Display the per-device current speed, if available,
12980           and the per-network maximum rate.
12981
12982 2006-03-02  Dan Williams  <dcbw@redhat.com>
12983
12984         * src/nm-device-802-11-wireless.c
12985                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12986                         card when it gets initialized.  Since devices don't get added to
12987                         the scan list until they are initialized, this function wasn't
12988                         setting the intitial scan interval correctly, and was leaving
12989                         it at 0.  This caused cards to get many scan requests in a short
12990                         amount of time when they were initialized
12991
12992 2006-03-02  Robert Love  <rml@novell.com>
12993
12994         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12995           active device.  But do not do what we used to do and override the
12996           state, which caused the dreaded icon race of '05.
12997
12998 2006-03-02  Robert Love  <rml@novell.com>
12999
13000         Commit Dan's update of my previous commit:
13001         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13002           set_mode() function itself does the check.  But do only set the
13003           frequency if in Ad-Hoc mode.
13004
13005 2006-03-02  Robert Love  <rml@novell.com>
13006
13007         Patch by Brian Magnuson <magnuson@rcn.com>:
13008         * src/nm-device-802-11-wireless.c: During scanning, only set the
13009           wireless mode to infrastructure if it is not currently in
13010           infrastructure mode.  For some driver, setting the mode is a costly
13011           operation, apparently.
13012
13013 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13014
13015         * Makefile.am: use the correct dir for autostart mechanism.
13016
13017 2006-02-28  Dan Williams  <dcbw@redhat.com>
13018
13019         Patch from Brian Magnuson <magnuson@rcn.com>
13020         * gnome/applet/applet.c
13021                 - (nma_show_vpn_failure_dialog): fix errors left over from
13022                         libnotify support changes
13023
13024 2006-02-28  Dan Williams  <dcbw@redhat.com>
13025
13026         * src/vpn-manager/nm-vpn-act-request.[ch]
13027                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13028                         just one value
13029                 - (nm_vpn_act_request_is_failed): new function; return whether or
13030                         not the vpn activation request has failed
13031
13032         * src/vpn-manager/nm-vpn-manager.c 
13033                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13034                         daemon to kill the connection when the activation request fails.
13035                         Fixes issue where NM would get confused if the VPN activation
13036                         request timed out, and would not allow further VPN connections
13037                         on that service.
13038
13039 2006-02-28  Dan Williams  <dcbw@redhat.com>
13040
13041         * gnome/applet/applet.c
13042                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13043                         overlapping connection requests, disable all VPN menu items
13044                         but the active VPN connection
13045
13046 2006-02-28  Dan Williams  <dcbw@redhat.com>
13047
13048         * src/vpn-manager/nm-vpn-connection.c
13049                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13050                         called g_object_unref() on the connection's parent device
13051                         when it should have been ref-ed instead.  Fixes crash with
13052                         repeated vpn connect requests
13053
13054 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13055
13056         * gnome/applet/applet.glade:
13057         Mark a few strings non-translatable, since they shouldn't be.
13058
13059 2006-02-28  Dan Williams  <dcbw@redhat.com>
13060
13061         * src/vpn-manager/nm-vpn-service.c
13062                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13063                         already running, don't blindly ask it to connect, but wait until
13064                         it's in the STOPPED state first.  Fixes an assertion when user
13065                         starts a second vpn connection without stopping the first.
13066                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13067                         dbus service exists before continuing with the connection
13068                         process, and reduce latency while waiting for it to become
13069                         available
13070                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13071                         waiting for the vpn service daemon to become available
13072                 - General log message cleanups; show progress via "Stage x of 4"
13073                         rather than not telling anyone how many stages there are
13074
13075 2006-02-28  Robert Love  <rml@novell.com>
13076
13077         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13078         * src/backends/NetworkManagerSuSE.c: Implement the interface
13079           nm_system_should_modify_resolv_conf() for SUSE.
13080         * src/backends/NetworkManagerDebian.c,
13081           src/backends/NetworkManagerGentoo.c,
13082           src/backends/NetworkManagerRedHat.c,
13083           src/backends/NetworkManagerSlackware.c: Add stub.
13084         * src/named-manager/Makefile.am: Grab includes from src.
13085         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13086           automatic updating of resolv.conf.  This is useful for testing,
13087           broken static configurations, and administrator lock-down.
13088
13089 2006-02-28  Dan Williams  <dcbw@redhat.com>
13090
13091         * src/nm-device-802-11-wireless.c
13092                 - Move all the wpa_supplicant-related management stuff into its
13093                         own struct, just for oranization's sake
13094                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13095                         to a GIOChannel/GSource
13096                 - (supplicant_log_stdout): new function; grab output from the
13097                         wpa_supplicant stdout pipe and write it to our logs.
13098
13099 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13100
13101         * src/nm-device-802-11-wireless.c:
13102         Err, fix thinko in my previous commit.
13103
13104 2006-02-28  Robert Love  <rml@novell.com>
13105
13106         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13107
13108 2006-02-28  Robert Love  <rml@novell.com>
13109
13110         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13111           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13112           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13113           deserializers are responsible for freeing the returned DBUS strings.
13114
13115 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13116
13117         * src/nm-device-802-11-wireless.c:
13118         The scan list is being pruned prematurely.  We should prune after
13119         the device has gone MIA for three scans, not one.  Split out the
13120         interval to realtime seconds function to better serve this.
13121
13122 2006-02-27  Robert Love  <rml@novell.com>
13123
13124         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13125           Open the pid file O_TRUNC, so if it already exists we truncate it to
13126           zero length.  Also, be more verbose about warnings generated during
13127           writing out the pid file.  Finally, always write out the pid file if
13128           in daemon mode.  Use "--pid-file" to override the default.
13129
13130 2006-02-27  Robert Love  <rml@novell.com>
13131
13132         Patch by R. Vinay <rvinay@novell.com>:
13133         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13134           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13135           Novell bug #153628).
13136           
13137 2006-02-27  Robert Love  <rml@novell.com>
13138
13139         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13140           entry so user can hit <ENTER> after entering passphrase (Novell bug
13141           #153738).
13142
13143 2006-02-27  Dan Williams  <dcbw@redhat.com>
13144
13145         * gnome/applet/*
13146                 - Mass search/replace of:
13147                         nmwa -> nma
13148                         NMWirelessApplet -> NMApplet
13149                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13150                    (it ain't just for wireless anymore, ma!)
13151                 - Fix duplicate function name printing when using nm_warning
13152                 - wireless-applet.glade -> applet.glade
13153
13154 2006-02-27  Dan Williams  <dcbw@redhat.com>
13155
13156         * dispatcher-daemon/NetworkManagerDispatcher.c
13157                 - Accept --pid-file with a path to a pidfile, write it out on
13158                         startup, and delete it on shutdown
13159
13160         * src/NetworkManager.c
13161                 - Accept --pid-file with a path to a pidfile, write it out on
13162                         startup, and delete it on shutdown
13163                 - Move nm_print_usage() lower
13164
13165         * initscripts/RedHat/NetworkManager.in
13166                 - Use new --pid-file option
13167                 - Fix service stopping to wait a bit for NM to quit
13168
13169         * initscripts/RedHat/NetworkManagerDispatcher.in
13170                 - Use new --pid-file option
13171
13172 2006-02-26  Dan Williams  <dcbw@redhat.com>
13173
13174         * src/Makefile.am
13175                 - make and install nm-crash-logger
13176
13177         * src/nm-logging.[ch]
13178                 - New files; consolidate logging and crash handling
13179
13180         * src/nm-crash-logger.c
13181           src/gdb-cmd
13182                 - Standalong crashlogger for NM, grab a backtrace
13183                         using GDB
13184
13185         * src/NetworkManager.[ch]
13186                 - Remove signal handling and put it into nm-logging.c
13187
13188 2006-02-26  Dan Williams  <dcbw@redhat.com>
13189
13190         * configure.in
13191           gnome/applet/Makefile.am
13192                 - Conditionalize all the notify stuff
13193
13194         Merge most of Chris Aillon's notification patch:
13195         
13196         * gnome/applet/applet-notifications.[ch]
13197                 - New files; show a notification
13198         
13199         * gnome/applet/applet-dbus-devices.[ch]
13200                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13201                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13202                         new functions, do the right thing when a device change occurs
13203
13204         * gnome/applet/applet-dbus.c
13205                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13206                         signals, so we can handle them specially
13207
13208         * gnome/applet/applet.[ch]
13209                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13210                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13211                 - (nmwa_notify_state): remove
13212                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13213                         notification work is now done when the appropriate dbus signals
13214                         are received.
13215                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13216                         defer execution of the notification/dialog stuff.  That was an
13217                         artifact of the previous multi-threaded nature of the applet
13218                         and is now pointless.
13219                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13220                         no longer needed.  Function folded into applet-notifications.c
13221
13222         * src/NetworkManagerPolicy.c
13223                 - (nm_policy_activation_finish): send the AP along with the device
13224                         status change signal, if the connection is wireless.  Should
13225                         fix the race where applet would show a connection to "unknown"
13226
13227 2006-02-25  Robert Love  <rml@novell.com>
13228
13229         Add WPA Enterprise support:
13230         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13231           nm-gconf-wso-wpa-eap.h.
13232         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13233           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13234           serialization and deserialization.
13235         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13236           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13237           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13238         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13239           settings related to WPA Enterprise.
13240         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13241           instantiate WPA Enterprise wireless-security-option.
13242         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13243           Implement WPA Enterprise wireless-security-option object.
13244         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13245           defines.  Cleanup.
13246         * libnm-util/cipher-wpa-psk-hex.c,
13247           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13248         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13249           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13250           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13251           including the cipher to DBUS method, and
13252           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13253           to output.
13254         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13255           nm-ap-security-wpa-eap.h
13256         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13257           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13258         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13259           files.  Implement NMAPSecurityWPA_EAP object.
13260         * src/nm-ap-security-wpa-psk.c: Cleanup.
13261         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13262           an NMAPSecurityWPA_EAP object via the method
13263           nm_ap_security_wpa_eap_new_deserialize().
13264         * src/nm-dbus-nm.c: Cleanup.
13265         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13266           WPA Enterprise support.
13267
13268 2006-02-24  Robert Love  <rml@novell.com>
13269
13270         Patch from Timo Hoenig <thoenig@suse.de>:
13271         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13272
13273 2006-02-24  Robert Love  <rml@novell.com>
13274
13275         Patch from Dan Winship <danw@novell.com>:
13276         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13277           area to transparent.
13278
13279 2006-02-21  Dan Williams  <dcbw@redhat.com>
13280
13281         * gnome/applet/applet.[ch]
13282           gnome/applet/applet-dbus.c
13283                 - Implement notification support for VPN messages too
13284
13285 2006-02-21  Dan Williams  <dcbw@redhat.com>
13286
13287         * gnome/applet/applet-dbus-info.c
13288                 - Clean up warning messages to not double-print the function
13289
13290 2006-02-21  Dan Williams  <dcbw@redhat.com>
13291
13292         * gnome/applet/applet-compat.c
13293                 - (convert_one_entry): accept entries without a key_type and
13294                         convert them to unencrypted networks
13295
13296 2006-02-21  Dan Williams  <dcbw@redhat.com>
13297
13298         * gnome/libnm_glib/libnm_glib.c
13299                 - Use __func__ everywhere we can
13300                 - Code cleanups
13301                 - Use dbus pending calls rather than blocking
13302                 - Reduce busywaits for our thread to start and stop
13303                         (gnome.org #330562)
13304                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13305                         stomp on others using the default shared dbus connection.
13306                         Fixes #rh177546# and gnome.org #326572
13307
13308 2006-02-21  Dan Williams  <dcbw@redhat.com>
13309
13310         Patch from Rodney Dawes <dobey@novell.com>
13311         * configure.in
13312           gnome/applet/Makefile.am
13313           gnome/applet/applet.c
13314                 - Add libnotify support if '--enable-notify=yes' is passed
13315                   at configure time
13316
13317 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13318
13319         * configure.in (ALL_LINGUAS): ko added. (Korean)
13320
13321 2006-02-15  Robert Love  <rml@novell.com>
13322
13323         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13324           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13325           and WPA_SUPPLICANT_CONTROL_SOCKET.
13326         
13327 2006-02-15  Robert Love  <rml@novell.com>
13328
13329         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13330           information about what connection stage we are at, provide the total
13331           number of stages, e.g. "Stage 2 of 5", so users know how far along
13332           they are if they experience problems.
13333
13334 2006-02-15  Robert Love  <rml@novell.com>
13335
13336         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13337           define to $sysconfdir.
13338         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13339           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13340           type of VPN and then editing another results in a mangled dialog
13341           box containing the widgets from both VPNs (fixes Novell #150854).
13342           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13343
13344 2006-02-14  Robert Love  <rml@novell.com>
13345
13346         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13347           syslog's file descriptor.
13348
13349 2006-02-14  Robert Love  <rml@novell.com>
13350
13351         Fix bug around since the change to "deal with APs changing settings on
13352         us," checked in on the fifth of February in the year of the dog, 
13353         wherein connecting to non-broadcast encrypted networks always fails
13354         because nm_ap_get_encrypted() always returns FALSE, even when the user
13355         provided a key, because the newly-created fake AP does not have any
13356         capabilities set, which is a sypmtom of security settings not matching
13357         capabilities (Novell bug #150784):
13358         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13359           nm_ap_add_capabilities_from_security(), which sets the given AP's
13360           capabilities off the given security settings.  Also improve our
13361           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13362           NM_AUTH_CIPHER_AUTO.
13363         * src/nm-device-802-11-wireless.c: Call the function
13364           nm_ap_add_capabilities_from_security() to ensure that capabilities
13365           match newly updated security settings.
13366
13367 2006-02-14  Robert Love  <rml@novell.com>
13368
13369         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13370           error as a string, not an integer, if possible; do not print the
13371           function name twice; always give the interface, if possible; misc.
13372           cleanup.
13373
13374 2006-02-12  Dan Williams  <dcbw@redhat.com>
13375
13376         Patch from Tom Parker <palfrey@tevp.net>
13377         * src/NetworkManagerSystem.h
13378                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13379                         no longer used
13380
13381         * src/backends/NetworkManagerDebian.c
13382                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13383                         unused variables
13384
13385 2006-02-12  Dan Williams  <dcbw@redhat.com>
13386
13387         * vpn-daemons/openvpn/intltool-extract.in
13388           vpn-daemons/openvpn/intltool-merge.in
13389           vpn-daemons/openvpn/intltool-update.in
13390           vpn-daemons/pptp/intltool-extract.in
13391           vpn-daemons/pptp/intltool-merge.in
13392           vpn-daemons/pptp/intltool-update.in
13393                 - Remove from CVS, they should get created by intltoolize,
13394                         shouldn't they?
13395
13396 2006-02-12  Dan Williams  <dcbw@redhat.com>
13397
13398         * vpn-daemons/pptp/src/pppd/patchlevel.h
13399         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13400                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13401                         Makefile-defined VERSION
13402
13403 2006-02-09  Dan Williams  <dcbw@redhat.com>
13404
13405         Patch from: Vinay A R <rvinay@novell.com>
13406         * src/vpn-manager/nm-vpn-act-request.[ch]
13407                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13408                         IPSec VPNs require them for std gateway.
13409                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13410                         and 'user_routes_count'
13411                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13412                         defined routes  from NMVPNActRequest object, returns the string
13413                         array of routes.
13414
13415         * src/vpn-manager/nm-vpn-manager.[ch]
13416                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13417                         for 'user_routes' and 'user_routes_count'
13418         
13419         * src/vpn-manager/nm-dbus-vpn.c
13420                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13421                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13422         
13423         * src/vpn-manager/nm-vpn-service.c
13424                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13425                         the vpn daemon
13426
13427         Modifications by Dan:
13428         * src/vpn-manager/nm-vpn-service.c
13429                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13430                         arrays into dbus
13431
13432         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13433         * vpn-daemons/pptp/src/nm-pptp-service.c
13434         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13435                 - Grab user routes from dbus message
13436                 - Free all string arrays we got from dbus
13437
13438 2006-02-07  Robert Love  <rml@novell.com>
13439
13440         Patch by Stefan Seyfried <seife@suse.de>:
13441         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13442
13443 2006-02-06  Robert Love  <rml@novell.com>
13444
13445         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13446
13447 2006-02-06  Robert Love  <rml@novell.com>
13448
13449         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13450           test ">=" is never false.  If no newline is found, we loop forever.
13451           We can just check for ">" because the following if() will see the
13452           zero-th argument if the while() gets that far.
13453
13454 2006-02-05  Dan Williams  <dcbw@redhat.com>
13455
13456         Refine handling of non-broadcast networks.
13457
13458         * src/NetworkManagerAPList.c
13459                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13460                         property from scanned AP to the AP from the device list
13461
13462         * src/nm-device-802-11-wireless.c
13463                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13464                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13465                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13466                         networks since those don't have APs.
13467                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13468                         AP as non-SSID-broadcasting
13469                 - (process_scan_results): don't handle non-SSID-broadcasting here
13470
13471 2006-02-05  Dan Williams  <dcbw@redhat.com>
13472
13473         * src/nm-device-802-11-wireless.c
13474                 - (get_supplicant_timeout): new function; return
13475                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13476                         14 channels.  These are likely a/b/g cards, like Atheros, and
13477                         slow as hell to scan.
13478                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13479                         get_supplicant_timeout()
13480
13481 2006-02-05  Dan Williams  <dcbw@redhat.com>
13482
13483         * src/dhcp-manager/nm-dhcp-manager.c
13484                 - Loose a commit race with Robert; make sure size check
13485                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13486
13487 2006-02-05  Robert Love  <rml@novell.com>
13488
13489         Patch by Christoph Brill <chrisbrill@gmx.net>:
13490         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13491           with DHCP_SERVICE_NAME.
13492
13493 2006-02-05  Dan Williams  <dcbw@redhat.com>
13494
13495         Remove anything having to do with device_setup_func from the
13496         AP security objects, since it's no longer used.
13497
13498         * src/nm-ap-security.h
13499                 - Kill device_setup_func and nm_ap_security_device_setup()
13500
13501         * src/nm-ap-security-wep.c
13502           src/nm-ap-security-wpa-psk.c
13503                 - (real_device_setup): remove
13504
13505         * src/nm-ap-security.c
13506                 - (real_device_setup): remove
13507                 - (nm_ap_security_device_setup): remove
13508
13509         * src/nm-device-802-11-wireless.[ch]
13510                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13511                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13512                         and done by wpa_supplicant now anyway
13513
13514 2006-02-05  Dan Williams  <dcbw@redhat.com>
13515
13516         * src/nm-device-802-11-wireless.c
13517                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13518                         settings on us.  Previously NM would loop asking for the
13519                         key but getting the same one back.  Now, if the NMI-supplied
13520                         cipher doesn't overlap with the scanned AP capabilities,
13521                         we request a completely new key from the user.
13522
13523 2006-02-05  Dan Williams  <dcbw@redhat.com>
13524
13525         * src/NetworkManagerUtils.c
13526                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13527                         Handle newline killing better
13528
13529 2006-02-05  Dan Williams  <dcbw@redhat.com>
13530
13531         * gnome/applet/nm-gconf-wso.c
13532                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13533                         of unencrypted access point security info.
13534
13535 2006-02-03  Robert Love  <rml@novell.com>
13536
13537         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13538           user's encryption key, so we print the err_msg_cmd not the command,
13539           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13540           sense.
13541
13542 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13543
13544         * initscript/RedHat/NetworkManagerDispatcher.in:
13545         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13546         Patch from Dan Walsh <dwalsh@redhat.com>
13547
13548 2006-02-03  Robert Love  <rml@novell.com>
13549
13550         * dispatcher-daemon/NetworkManagerDispatcher.c,
13551           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13552           but use the sysconfdir.
13553
13554 2006-02-03  Robert Love  <rml@novell.com>
13555
13556         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13557           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13558           'char *'.
13559         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13560           nm_ip4_config_get_hostname() and
13561           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13562         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13563           leak g_strdup() result.
13564
13565 2006-02-03  Robert Love  <rml@novell.com>
13566
13567         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13568           broadcast == TRUE.  Also, copy broadcast and artificial properties
13569           from source network to destination in nm_ap_copy().
13570         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13571           since we now default new networks to non-hidden.
13572
13573 2006-02-03  Dan Williams  <dcbw@redhat.com>
13574
13575         * gnome/applet/main.c
13576                 - (main): change the NEVER->ALWAYS so we start at the
13577                         beginning of the session, if being session-managed
13578
13579 2006-02-03  Dan Williams  <dcbw@redhat.com>
13580
13581         * gnome/applet/main.c
13582                 - (main): in a variation on Robert's patch, change
13583                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13584                         he wants.
13585
13586 2006-02-02  Robert Love  <rml@novell.com>
13587
13588         * src/Makefile.am: If we aren't going to create the run directory at,
13589           uh, run-time, create it during install.  Then users just doing
13590           'make install' are cool, too.  While we are here, create the
13591           dispatcher.d directory, too.
13592         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13593           the exact run directory.
13594         * Makefile.am: Install nm-applet.desktop.
13595
13596 2006-02-02  Robert Love  <rml@novell.com>
13597
13598         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13599           structure, which denotes whether or not the AP is hidden.  This is a
13600           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13601           can show up in the scan list.  Add nm_ap_get_broadcast() and
13602           nm_ap_set_broadcast() accessor interfaces.
13603         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13604           nm_ap_set_broadcast().
13605         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13606           "getProperties" method, which denotes whether or not the given
13607           network is hidden.
13608         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13609           an artificial network.  Set broadcast to TRUE when scanning returns
13610           an ESSID and FALSE when not.
13611         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13612           from "getProperties" method on a network.  Possible TODO is to
13613           somehow display this.
13614         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13615
13616 2006-02-02  Dan Williams  <dcbw@redhat.com>
13617
13618         * src/nm-device-802-11-wireless.c
13619                 - (supplicant_interface_init): don't try to create
13620                         /var/run/NetworkManager, since that should be done by
13621                         the distro package.  Causes problems for stuff like SELinux
13622
13623 2006-02-02  Robert Love  <rml@novell.com>
13624
13625         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13626         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13627           Check for and handle empty string for iface.
13628
13629 2006-02-01  Robert Love  <rml@novell.com>
13630
13631         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13632           manpage.
13633
13634 2006-01-31  Dan Williams  <dcbw@redhat.com>
13635
13636         * nm-applet.desktop
13637                 - Add --sm-disable to Exec arguments, presuming that when
13638                         using autostart, we don't want session management
13639
13640 2006-01-31  Robert Love  <rml@novell.com>
13641
13642         * src/NetworkManagerAP.c: Add two new manufacturer default network
13643           names: linksys-a and linksys-g.  These are found (at least) on the
13644           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13645           own ESSID.
13646
13647 2006-01-31  Robert Love  <rml@novell.com>
13648
13649         * src/NetworkManagerAP.c: Optimize the function
13650           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13651           machine code.  This is the first in a series of code tweaks aiming to
13652           generate better machine code and make NetworkManager all the better.
13653           Just kidding.  Who has time to go through the assembly generated for
13654           every function?  I certainly don't.  I have a wife, a kid, a job,
13655           a mortgage, a mistress.  But this function was so bad, I was called
13656           to arms.  Like the book.
13657
13658 2006-01-31  Robert Love  <rml@novell.com>
13659
13660         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13661           AP is not broadcasting, to scan with probe request frames.  Required
13662           for non-broadcast networks.
13663
13664 2006-01-31  Robert Love  <rml@novell.com>
13665
13666         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13667           preprocessor define (still 20s).  Fix message text in nm_info()
13668           s/too too/took too/.
13669
13670 2006-01-30  Dan Williams  <dcbw@redhat.com>
13671
13672         * src/nm-device-802-11-wireless.c
13673                 - (supplicant_monitor_start): increase connect/auth timeout to
13674                         20 seconds from 10 seconds
13675
13676 2006-01-30  Dan Williams  <dcbw@redhat.com>
13677
13678         * src/Makefile.am
13679                 - Define LOCALSTATEDIR
13680
13681         * src/nm-device-802-11-wireless.c
13682                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13683                         socket where we want it to
13684
13685         * src/wpa_ctrl.[ch]
13686                 - (wpa_ctrl_open): accept location to put local control socket
13687
13688 2006-01-30  Robert Love  <rml@novell.com>
13689
13690         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13691           get_ip4_string() for "domain_name".
13692
13693 2006-01-30  Robert Love  <rml@novell.com>
13694
13695         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13696           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13697           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13698           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13699           support for "Automatic" pairwise and group cipher configuration by
13700           letting wpa_supplicant handle the details.  Add UI elements, new
13701           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13702           charm.  Note this does more than add a nice feature, it fixes a bug.
13703           Apparently, some people have AP's where the pairwise cipher does not
13704           match the group cipher.  Insane, but true.
13705
13706 2006-01-30  Dan Williams  <dcbw@redhat.com>
13707
13708         * gnome/applet/applet-dbus-devices.c
13709                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13710                         functions, grab device driver name from NetworkManager
13711                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13712
13713         * gnome/applet/applet.c
13714                 - (nmwa_update_info): show driver name in Connection Information
13715                         dialog
13716
13717         * gnome/applet/nm-device.[ch]
13718                 - (network_device_get_driver, network_device_set_driver): add
13719                         accessors for driver name
13720
13721         * gnome/applet/wireless-applet.glade
13722                 - Add line for driver name to Connection Information dialog
13723
13724         * src/nm-dbus-device.c
13725                 - (nm_dbus_device_get_driver): new function to return driver name
13726                 - (nm_dbus_device_methods): hook up driver name function to dbus
13727
13728         * test/nm-tool.c
13729                 - (get_driver_name): new function
13730                 - (detail_device): grab and show driver name
13731
13732 2006-01-30  Robert Love  <rml@novell.com>
13733
13734         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13735           does not parse the markup if it is not part of the format.
13736
13737 2006-01-30  Robert Love  <rml@novell.com>
13738
13739         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13740           FALSE, we have no security options for this dialog, so we throw up
13741           an error dialog instead of a broken passphrase dialog.  Fixes
13742           Novell #138404.
13743         * gnome/applet/wireless-security-manager.c,
13744           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13745           does not add any security options, not even NONE, print a warning
13746           and return FALSE.  This let's functions constructing a dialog bail
13747           out if the device's capabilities and the network's requirements have
13748           zero overlap.
13749
13750 2006-01-27  Robert Love  <rml@novell.com>
13751
13752         * configure.in: Require wpa_supplicant.  Detect location of binary and
13753           use it.  Override with "--with-wpa_supplicant=foo".
13754         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13755           path to wpa_supplicant but use the auto-detected or user-provided
13756           value from configure.
13757
13758 2006-01-27  Robert Love  <rml@novell.com>
13759
13760         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13761           but the DHCP server did not return a hostname, try to look up our
13762           name via DNS and set the system hostname to that.
13763
13764 2006-01-27  Dan Williams  <dcbw@redhat.com>
13765
13766         * src/backends/NetworkManagerRedHat.c
13767                 - Add NM_CONTROLLED system network script support for RH/Fedora
13768
13769 2006-01-27  Dan Williams  <dcbw@redhat.com>
13770
13771         * src/backends/NetworkManagerGentoo.c
13772                 - (nm_system_device_get_disabled): add missing function.
13773                         Gnome BZ #328780
13774
13775 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13776
13777         * configure.in: Added vi in ALL_LINGUAS line.
13778         
13779 2006-01-26  Robert Love  <rml@novell.com>
13780
13781         * src/Makefile.am, src/kernel-types.h: Now that two different source
13782           files are feeling the crack-addled leakage of kernel types such as
13783           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13784           types in user-space -- define a header and include it as needed.
13785         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13786         * src/nm-device-802-3-ethernet.h: Remove defines.
13787         * src/wpa.c: Remove defines and include kernel-types.h.
13788
13789 2006-01-26  Robert Love  <rml@novell.com>
13790
13791         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13792           work.
13793
13794 2006-01-26  Robert Love  <rml@novell.com>
13795
13796         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13797         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13798           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13799           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13800           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13801           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13802           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13803           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13804           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13805           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13806           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13807           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13808           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13809           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13810           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13811           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13812           Kill unused variables, labels, and static functions.  Don't pass
13813           string literals as the format string for printf-like functions.
13814
13815 2006-01-25  Dan Williams  <dcbw@redhat.com>
13816
13817         * gnome/applet/wireless-applet.glade
13818                 - Remove WPA2 Checkbox
13819
13820         * gnome/applet/wireless-security-manager.c
13821                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13822                         This means the Wireless Security menu now has two WPA options,
13823                         one for "WPA Personal" and one for "WPA2 Personal"
13824
13825         * gnome/applet/wso-wpa-psk.[ch]
13826                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13827                         'wpa2' argument to determine WPA version to use
13828                 - (append_dbus_params_func): pass stored WPA version to cipher
13829                         rather than using the (removed) checkbox
13830
13831 2006-01-24  Robert Love  <rml@novell.com>
13832
13833         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13834           before we g_strdup(), not the ultimate string.
13835
13836 2006-01-23  Dan Williams  <dcbw@redhat.com>
13837
13838         * src/NetworkManagerAP.[ch]
13839                 - (nm_ap_new_from_ap): copy original essid too
13840                 - (nm_ap_unref): free original essid
13841                 - (nm_ap_get_orig_essid): new function
13842                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13843                         but keep original essid around too
13844
13845         * src/nm-device-802-11-wireless.c
13846                 - (supplicant_send_network_config): send wpa_supplicant the
13847                         _original_ essid, and not as a string, but in hex.  Should
13848                         allow us to connect to more APs that use wierd character
13849                         encodings for their essids
13850
13851         * utils/nm-utils.[ch]
13852                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13853                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13854                         use the current locale as a hint for what encoding the essid
13855                         might be in.  Obviously not 100% accurate, but the idea here is
13856                         that if a user's locale is ex. ja_JP, they are more likely than
13857                         not to be in Japan, where access points will likely be in some
13858                         Japanese encoding.
13859
13860 2006-01-23  Dan Williams  <dcbw@redhat.com>
13861
13862         * libnm-util/cipher-private.h
13863           libnm-util/cipher.c
13864           libnm-util/cipher.h
13865                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13866
13867 2006-01-23  Robert Love  <rml@novell.com>
13868
13869         Patch by Timo Hoenig <thoenig@suse.de>:
13870         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13871           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13872           by DHCP and pass it to the backends, allowing distribution-specific
13873           behavior with respect to the DHCP-supplied hostname (if nothing else,
13874           some distributions might not want to set the hostname).
13875         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13876           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13877           Also update our NIS behavior.
13878         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13879           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13880           Add stub functions.
13881
13882 2006-01-23  Robert Love  <rml@novell.com>
13883
13884         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13885           gnome-session does autostart.  TODO: We need to install this to
13886           $prefix/share/autostart/.
13887
13888 2006-01-22  Dan Williams  <dcbw@redhat.com>
13889
13890         * src/NetworkManagerAP.[ch]
13891           src/nm-dbus-nmi.c
13892           src/nm-device-802-11-wireless.c         
13893                 - Make nm_ap_get_essid return "const char *"
13894
13895 2006-01-22  Dan Williams  <dcbw@redhat.com>
13896
13897         * src/NetworkManagerAP.[ch]
13898                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13899
13900         * src/NetworkManagerAPList.[ch]
13901                 - (nm_ap_list_diff): removed
13902                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13903                         deal with access points changing essids on us
13904
13905         * src/nm-device-802-11-wireless.c
13906                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13907                         src/NetworkManagerAPList.c
13908                 - (real_can_interrupt_activation): new function; allow interruption
13909                         of device activation if we are waiting for a network key
13910
13911         * src/NetworkManagerPolicy.c
13912                 - (nm_policy_device_change_check): allow interruption of currently
13913                         activating devices if the device allows it.  Previous behavior
13914                         would refuse to activate a just-plugged wired device if a
13915                         wireless device was waiting for a key.
13916
13917         * src/nm-device.[ch]
13918                 - (nm_device_can_interrupt_activation): new function; ask devices
13919                         whether their activation can be interrupted
13920
13921 2006-01-20  Robert Love  <rml@novell.com>
13922
13923         * Makefile.am, configure.in: Add new man subdirectory.
13924         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13925           man/Makefile.am: Add man pages for NetworkManager and its
13926           crime-solving bumbling buddy, NetworkManagerDispatcher.
13927         * man/.cvsignore: Add.
13928         * initscript/Debian/NetworkManager,
13929           initscript/Gentoo/NetworkManager.in,
13930           initscript/RedHat/NetworkManager.in,
13931           initscript/RedHat/NetworkManagerDispatcher.in,
13932           initscript/SUSE/networkmanager-dispatcher.in,
13933           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13934
13935 2006-01-20  Robert Love  <rml@novell.com>
13936
13937         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13938           instead of queuing.  This prevents the running of multiple NM
13939           daemons concurrently, which does not work whatsoever and results in
13940           neither daemon working correctly.  Also, we don't handle queuing and
13941           name-owner-changes, anyhow.
13942
13943 2006-01-20  Robert Love  <rml@novell.com>
13944
13945         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13946         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13947           to sbin, not bin.
13948
13949 2006-01-19  Robert Love  <rml@novell.com>
13950
13951         * configure.in: Require hal 0.5.0 or later.
13952
13953 2006-01-18  Robert Love  <rml@novell.com>
13954
13955         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13956           Allow backends to flag a device (in whatever distro-dependent way
13957           they so desire) as disabled.  NM will ignore any such device.
13958         * src/backends/NetworkManagerDebian.c,
13959           src/backends/NetworkManagerRedHat.c,
13960           src/backends/NetworkManagerSlackware.c: Add stub function
13961           nm_system_device_get_disabled() that always returns FALSE (enabled).
13962         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13963           SUSE-specific configuration structure.  Fill it in from the
13964           NM_CONTROLLED variable in the system networking scripts.  If this var
13965           exists and is "no", we ignore the device.
13966
13967 2006-01-17  Robert Love  <rml@novell.com>
13968
13969         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13970           identical for NM.  For a full discussion, see the thread at
13971           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13972
13973 2006-01-17  Dan Williams  <dcbw@redhat.com>
13974
13975         * src/nm-device.c
13976                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13977                         function.  Fixes crash when wired DHCP fails.
13978
13979 2006-01-16  Robert Love  <rml@novell.com>
13980
13981         * src/Makefile.am: Don't install NMLoadModules
13982         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13983           from src/ to test/ as no one uses it anymore.  Note that I would be
13984           fine with removing it altogether.
13985
13986 2006-01-16  Robert Love  <rml@novell.com>
13987
13988         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13989           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13990           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13991           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13992           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13993           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13994           declarations, ever.
13995         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13996           NM_STATE_DISCONNECTED is zero).
13997
13998 2006-01-16  Robert Love  <rml@novell.com>
13999
14000         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14001           uninitialized parameter and buffer overflow.  Novell #143496.
14002
14003 2006-01-16  Dan Williams  <dcbw@redhat.com>
14004
14005         Apply the PtP Address bits of a patch from Tim Niemueller
14006
14007         * src/nm-ip4-config.[ch]
14008                 - Add ip4_ptp_address member to object
14009                 - (nm_ip4_config_copy): copy ptp address too
14010                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14011                         new functions
14012                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14013                         rather than local tunnel ip address
14014
14015         * src/vpn-manager/nm-vpn-service.c
14016                 - (print_vpn_config): update for PtP address
14017                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14018                         DBusMessageIters in preparation for getting routes from the VPN
14019                         service daemons too
14020
14021         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14022                 - (send_config_info): update for PtP address, clean up code
14023                 - (main): update for PtP address, clean up code, fix typo
14024
14025         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14026                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14027
14028         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14029                 - (pptp_ip_up): update for PtP address
14030
14031         * vpn-daemons/pptp/src/nm-pptp-service.c
14032                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14033
14034         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14035                 - (print_vpn_config): update for PtP address
14036                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14037
14038 2006-01-16  Dan Williams  <dcbw@redhat.com>
14039
14040         * gnome/applet/applet.c
14041                 - (nmwa_add_networks_helper): don't indicate an active network
14042                         if NM is disconnected or asleep
14043
14044 2006-01-16  Dan Williams  <dcbw@redhat.com>
14045
14046         * src/NetworkManagerPolicy.c
14047                 - (nm_policy_device_change_check): switch devices if we lose the link
14048                         on an ethernet device. 
14049
14050 2006-01-16  Dan Williams  <dcbw@redhat.com>
14051
14052         * gnome/applet/wso-wpa-psk-hex.[ch]
14053                 - Renamed -> wso-wpa-psk.[ch]
14054
14055         * gnome/applet/wso-wpa-psk.[ch]
14056                 - New files
14057
14058         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14059                 - Removed, rolled into wso-wpa-psk.[ch]
14060
14061         * gnome/applet/Makefile.am
14062                 - Updated for above changes
14063
14064         * gnome/applet/wireless-applet.glade
14065                 - Consolidate WPA-PSK options into one notebook
14066                         widget, and make dialogs invisible by default
14067                         to fix screen oddities
14068
14069         * gnome/applet/wireless-security-manager.c
14070                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14071                         than both the old hex & passphrase ones
14072
14073 2006-01-16  Dan Williams  <dcbw@redhat.com>
14074
14075         * gnome/applet/other-network-dialog.c
14076                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14077
14078 2006-01-16  Dan Williams  <dcbw@redhat.com>
14079
14080         * gnome/applet/applet.c
14081                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14082                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14083                         prevention to realize window before trying to get server
14084                         time
14085
14086         * gnome/applet/other-network-dialog.c
14087                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14088                         prevention to realize window before trying to get server
14089                         time
14090
14091         * gnome/applet/passphrase-dialog.c
14092                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14093                         prevention to realize window before trying to get server
14094                         time
14095
14096 2006-01-16  Robert Love  <rml@novell.com>
14097
14098         Patch from Timo Hoenig  <thoenig@suse.de:
14099         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14100           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14101           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14102           libnm-util/dbus-helpers.h: add checks whether headers are used
14103           within a C++ build.
14104
14105 2006-01-16  Dan Williams  <dcbw@redhat.com>
14106
14107         * gnome/applet/wireless-security-option.c
14108                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14109
14110 2006-01-16  Dan Williams  <dcbw@redhat.com>
14111
14112         * libnm-util/cipher-wpa-psk-passphrase.c
14113                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14114                         be 8 - 63 characters inclusive
14115
14116 2006-01-16  Dan Williams  <dcbw@redhat.com>
14117
14118         * src/nm-dbus-nm.c
14119                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14120
14121 2006-01-13  Robert Love  <rml@novell.com>
14122
14123         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14124         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14125           modules that do not use an interface.
14126
14127 2006-01-13  Dan Williams  <dcbw@redhat.com>
14128
14129         * src/nm-device.c
14130           src/nm-device.h
14131                 - Allow subclasses to implement deactivate_quickly()
14132                 - (nm_device_deactivate_quickly): call subclass
14133                         deactivate_quickly() methods
14134                 - (nm_device_set_active_link): small cleanups, and don't
14135                         deactivate the device right away because we risk a deadlock
14136                         when called from device thread, waiting for the device
14137                         thread to cancel activation
14138
14139         * src/nm-device-802-11-wireless.c
14140                 - (real_deactivate_quickly): new function
14141                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14142                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14143                         so that we kill the supplicant when we sleep too
14144                 - (supplicant_interface_init): work around naive naming attempts of
14145                         wpa_ctrl when naming sockets
14146
14147 2006-01-13  Dan Williams  <dcbw@redhat.com>
14148
14149         * src/nm-device-802-11-wireless.c
14150                 - (supplicant_cleanup): delete old device control sockets too
14151                 - (supplicant_get_device_socket_path): new function to consolidate
14152                         locations that need a path to a device's control socket
14153
14154 2006-01-12  Robert Love  <rml@novell.com>
14155
14156         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14157           description so that the description is unique for each
14158           pair (device,provider).  Fixes Novell #142773.
14159
14160 2006-01-12  Dan Williams  <dcbw@redhat.com>
14161
14162         * src/nm-device-802-11-wireless.c
14163                 - (supplicant_exec): ensure GError is correctly initialized
14164                         Reported by Diego González (gnome.org #326708)
14165
14166 2006-01-11  Robert Love  <rml@novell.com>
14167
14168         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14169           define if_mii(), open code the same results, and do so without any
14170           type punning.
14171
14172 2006-01-11  Robert Love  <rml@novell.com>
14173
14174         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14175           that wso_foo_new() returned non-NULL.  Instead, only append the new
14176           wso to wsm->options if the wso is non-NULL.  The crux is that we
14177           assume that the relevant key types are implied by WEP and WPA as
14178           appropriate.  To be sure, they should be, but we should not expect
14179           drivers to not be oozing piles of wolf fecal matter.
14180
14181 2006-01-11  Robert Love  <rml@novell.com>
14182
14183         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14184         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14185           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14186           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14187           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14188           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14189           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14190         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14191           comparing values within DBL_EPSILON.  Also fix shadowed variable
14192           usage.
14193
14194 2006-01-11  Dan Williams  <dcbw@redhat.com>
14195
14196         Add options for WPA2 and WPA1+CCMP (AES).
14197
14198         * gnome/applet/wireless-applet.glade
14199                 - Add UI bits for WPA+CCMP
14200
14201         * gnome/applet/other-network-dialog.c
14202                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14203                         and don't allow creation of WPA2 Ad-Hoc networks since
14204                         wpa_supplicant doesn't support them
14205
14206         * gnome/applet/wireless-security-manager.c
14207                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14208                         on to the specific wireless security option being created
14209
14210         * gnome/applet/wireless-security-option.[ch]
14211                 - (wso_wpa_create_key_type_model): new utility function to create
14212                         the model required for WPA Key Type combo box
14213
14214         * gnome/applet/wso-private.h
14215           gnome/applet/wireless-security-option.h
14216                 - Move private function prototypes into wso-private.h
14217
14218         * gnome/applet/wso-wpa-psk-hex.[ch]
14219           gnome/applet/wso-wpa-psk-passphrase.[ch]
14220                 - (append_dbus_params_func): get WPA version from checkbox and pass
14221                         it to the dbus serialization helper
14222                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14223                         key type combo changes
14224                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14225                         model and options
14226
14227         * libnm-util/cipher-wpa-psk-hex.c
14228           libnm-util/cipher-wpa-psk-passphrase.c
14229                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14230                         new function; allow the cipher to be changed after object creation
14231
14232         * src/nm-ap-security-wpa-psk.c
14233                 - (set_description): Do WPA2 descriptions too
14234
14235         * src/nm-ap-security.c
14236                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14237
14238 2006-01-11  Robert Love  <rml@novell.com>
14239
14240         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14241           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14242           from the ifreq structure in lieu of an open coded solution.  Removes
14243           a life-threatening type-punning.
14244         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14245           types, ever, whatsoever, baby.
14246
14247 2006-01-11  Robert Love  <rml@novell.com>
14248
14249         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14250           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14251           assignments to applet->nm_state into a new nmwa_set_state() function
14252           for both cleanliness and to help debugging.
14253
14254 2006-01-10  Robert Love  <rml@novell.com>
14255
14256         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14257           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14258           seconds, exclusive.  That is, we want to sleep x seconds such that
14259           1 < x < 2.
14260
14261 2006-01-10  Robert Love  <rml@novell.com>
14262
14263         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14264           the attr fields according to the example in the email available at
14265           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14266           Conversely, we do have to free 'name', so we do so, fixing a leak.
14267
14268 2006-01-10  Robert Love  <rml@novell.com>
14269
14270         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14271           sure that we close the socket!
14272
14273 2006-01-10  Robert Love  <rml@novell.com>
14274
14275         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14276           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14277           src/nm-device.c: Fix a FIXME!  Reimplement the function
14278           nm_device_update_hw_address() in device subclass variants,
14279           nm_device_802_3_ethernet_set_address() and
14280           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14281           This fixes the existing bug where MAC addresses are all zeros.
14282
14283 2006-01-10  Robert Love  <rml@novell.com>
14284
14285         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14286           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14287           option to give users ability to globally disconnect and put NM to
14288           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14289           clean disconnect.
14290
14291 2006-01-09  Robert Love  <rml@novell.com>
14292
14293         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14294           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14295           User-space does not supply these types, so we have to define them
14296           ourselves.  The relevant kernel maintainer refused to accept a patch
14297           switching these headers to the proper C99 types.
14298
14299 2006-01-09  Dan Williams  <dcbw@redhat.com>
14300
14301         Apply Robert's 'tray icon redo' patch with fixes
14302         * gnome/applet/applet.c
14303           gnome/applet/applet.h
14304                 - Instead of using a menu bar + menu item, simulate menu
14305                         behavior using a popup menu.  Highlight the area around
14306                         the icon more like a menu too, by playing with the
14307                         applet's size requisition
14308
14309 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14310         * libnm-util/dbus-helpers.c
14311           libnm-util/dbus-helpers.h
14312                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14313                         to 'exception_namespace' (:namespace is a keyword in
14314                         C++)
14315
14316 2006-01-09  Dan Williams  <dcbw@redhat.com>
14317
14318         * src/NetworkManagerPolicy.c
14319                 - (nm_policy_device_change_check): don't autoswitch away from
14320                         Ad-Hoc networks, since there's really no concept of
14321                         "link"
14322
14323         * src/nm-dbus-nm.c
14324                 - (nm_dbus_nm_create_wireless_network): mark created networks
14325                         as Ad-Hoc networks
14326
14327         * src/nm-device-802-11-wireless.c
14328                 - (real_activation_success_handler): add user-created Ad-Hoc
14329                         networks to the device's scan list
14330
14331 2006-01-08  Dan Williams  <dcbw@redhat.com>
14332
14333         We now require a patch for wpa_supplicant to support Ad-Hoc
14334         networks:
14335           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14336
14337         * src/nm-device-802-11-wireless.c
14338                 - (supplicant_send_network_config): turn off wpa_supplicant's
14339                         scanning.  Fixes Ad-Hoc networks.
14340
14341 2006-01-08  Dan Williams  <dcbw@redhat.com>
14342
14343         * src/nm-ap-security.c
14344           src/nm-ap-security.h
14345                 - Add a user_created argument to the write_supplicant_config
14346                         functions
14347
14348         * src/nm-ap-security-wep.c
14349           src/nm-ap-security-wpa-psk.c
14350           src/nm-device-802-11-wireless.c
14351                 - Make Ad-Hoc mode somewhat work, at least write the
14352                         correct options to wpa_supplicant
14353
14354 2006-01-08  Dan Williams  <dcbw@redhat.com>
14355
14356         * src/nm-device-802-11-wireless.c
14357                 - Remove unused code from the old device activation path
14358
14359 2006-01-08  Dan Williams  <dcbw@redhat.com>
14360
14361         * libnm-util/dbus-helpers.c
14362                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14363                         dbus when key == NULL
14364
14365 2006-01-08  Dan Williams  <dcbw@redhat.com>
14366
14367         * gnome/applet/nm-gconf-wso-wpa-psk.c
14368                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14369                         correct arguments to nmu_security_deserialize_wpa_psk()
14370
14371         * src/nm-ap-security-wpa-psk.c
14372                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14373                         arguments to nmu_security_deserialize_wpa_psk()
14374
14375 2006-01-08  Dan Williams  <dcbw@redhat.com>
14376
14377         * gnome/applet/wso-wpa-psk-hex.c
14378           gnome/applet/wso-wpa-psk-passphrase.c
14379                 - Hook up the append_dbus_params_func() function
14380
14381 2006-01-08  Dan Williams  <dcbw@redhat.com>
14382
14383         * src/nm-device-802-11-wireless.c
14384                 - (get_wireless_capabilities): correctly detect driver WPA
14385                         capabilities
14386
14387 2006-01-08  Dan Williams  <dcbw@redhat.com>
14388
14389         * gnome/applet/Makefile.am
14390           gnome/applet/wso-wpa-psk-hex.c
14391           gnome/applet/wso-wpa-psk-hex.h
14392                 - New files, implement WPA-PSK Hex key input
14393
14394         * gnome/applet/wireless-applet.glade
14395                 - Change existing wpa-psk stuff to wpa-psk-hex
14396                 - Add new widgets for wpa-psk-passphrase
14397
14398         * gnome/applet/wireless-security-manager.c
14399                 - (wsm_set_capabilities): enable WPA options
14400
14401         * gnome/applet/wso-wpa-psk-passphrase.c
14402                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14403                         for WPA-PSK passphrase
14404
14405 2006-01-08  Dan Williams  <dcbw@redhat.com>
14406
14407         * include/NetworkManager.h
14408                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14409                         applet/info-daemons
14410
14411         * gnome/applet/passphrase-dialog.c
14412                 - Use the constant.  Fixes a bug where the arguments to
14413                         dbus_message_new_error() were incorrect
14414
14415         * src/nm-dbus-nmi.c
14416                 - Use the constant
14417
14418 2006-01-07  Dan Williams  <dcbw@redhat.com>
14419
14420         * src/nm-device-802-11-wireless.c
14421                 - Add a link timeout so we allow the supplicant time to
14422                         reassociate if it can, before we deactivate the card
14423                 - Fix up link status and link updating so things work better
14424
14425 2006-01-07  Dan Williams  <dcbw@redhat.com>
14426
14427         * src/nm-device-802-11-wireless.c
14428                 - Switch over to using wpa_supplicant
14429                 - Add a timeout of 10s for association of the supplicant
14430                 - Start the monitor callback of the supplicant
14431
14432 2006-01-07  Dan Williams  <dcbw@redhat.com>
14433
14434         * src/NetworkManagerUtils.c
14435                 - (nm_utils_supplicant_request,
14436                   nm_utils_supplicant_request_with_check):
14437                         pass correct buffer length to wpa_ctrl_request()
14438
14439 2006-01-07  Dan Williams  <dcbw@redhat.com>
14440
14441         * src/nm-device-private.h
14442           src/nm-device.c
14443                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14444                         this function available to subclasses
14445
14446 2006-01-06  Robert Love  <rml@novell.com>
14447
14448         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14449           user plugging in a network cable signals their preference for to
14450           switch, unless the user explicitly selected a wireless network and
14451           therefore signaled their preference for said wireless network over
14452           wired.  In other words, do exactly what makes sense.
14453
14454 2006-01-06  Robert Love  <rml@novell.com>
14455
14456         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14457           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14458           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14459           showing up in my greps.
14460
14461 2006-01-06  Robert Love  <rml@novell.com>
14462
14463         * gnome/applet/applet-dbus-devices.c,
14464           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14465           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14466           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14467           New Network' both failed in the non-encrypted case because we were
14468           not appending the security options to the DBUS message.  And
14469           'Connect to Other' was also failing in the encrypted case because
14470           we were not incrementing to the next DBUS parameter.  All fixed.
14471           Thanks to dcdw for some debugging help.
14472
14473 2006-01-06  Robert Love  <rml@novell.com>
14474
14475         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14476           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14477           hangup code and add per-device hangup.  Tie last commit into the
14478           GNOME applet.  TODO:  Save, understand, and respond to the state of
14479           each dialup device.
14480
14481 2006-01-06  Robert Love  <rml@novell.com>
14482
14483         Patch by Timo Hoenig <thoenig@suse.de>:
14484         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14485           hangup specific dialup devices.
14486         * src/backends/NetworkManagerDebian.c,
14487           src/backends/NetworkManagerGentoo.c,
14488           src/backends/NetworkManagerRedHat.c,
14489           src/backends/NetworkManagerSlackware.c: Add stub backend.
14490         * src/backends/NetworkManagerRedHat.c,
14491           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14492           hangup specific dialup devices.
14493
14494 2006-01-04  Robert Love  <rml@novell.com>
14495
14496         * gnome/applet/applet-dbus-devices.c,
14497           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14498           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14499           connections.
14500
14501 2006-01-04  Dan Williams  <dcbw@redhat.com>
14502
14503         First dump of wpa_supplicant-related code.  It's not hooked up to
14504         anything yet though.  Thanks to Kay Sievers for
14505         wpa_supplicant_wrapper.c, which formed the basis for this work,
14506         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14507
14508         * src/Makefile.am
14509           src/wpa_ctrl.[ch]
14510                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14511
14512         * src/NetworkManagerUtils.[ch]
14513                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14514                         Add convenience functions for talking to wpa_supplicant
14515
14516         * src/nm-ap-security.[ch]
14517           src/nm-ap-security-wep.c
14518           src/nm-ap-security-wpa-psk.[ch]
14519                 - Update and implement real_write_supplicant_config functions
14520                         in all security types
14521                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14522                         nm-ap-security-wpa-psk.c
14523
14524         * src/nm-device-802-11-wireless.c
14525                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14526                    wpa_supplicant_start, wpa_supplicant_interface_init,
14527                    wpa_supplicant_send_network_config): add functions to talk to
14528                         wpa_supplicant and write network config to it
14529
14530 2006-01-04  Robert Love  <rml@novell.com>
14531
14532         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14533           values so that distribution-backends can differentiate between the
14534           various types (modem, ISDN, et cetera) of dialup device that they
14535           support.
14536         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14537           needed.
14538
14539 2006-01-03  Dan Williams  <dcbw@redhat.com>
14540
14541         * src/NetworkManagerPolicy.c
14542           src/nm-device.[ch]
14543           src/nm-device-802-11-wireless.c
14544                 - Move wireless-specific activation failure and success code
14545                         into wireless device class
14546
14547 2006-01-03  Robert Love  <rml@novell.com>
14548
14549         Patch by Preggna S:
14550         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14551           IPsec does not require that a VPN client be bound to an interface,
14552           due to the use of the in-kernel IPSec bits.  So make the tunnel
14553           device optional.
14554
14555 2006-01-03  Dan Williams  <dcbw@redhat.com>
14556
14557         * src/NetworkManagerAP.c
14558                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14559                         the WPA IE specifies that WEP is supported
14560
14561         * src/nm-device-802-11-wireless.c
14562                 - (process_scan_results): don't mark an AP as supporting WEP
14563                         if there's already other encryption capability info
14564
14565 2006-01-03  Dan Williams  <dcbw@redhat.com>
14566
14567         * src/dhcp-manager/nm-dhcp-manager.c
14568                 - Recognize activation cancellation when waiting for DHCP
14569                         configuration from dhcdbd
14570                 - Ignore non-dhcdbd messages
14571
14572         * src/nm-device.c
14573                 - (real_act_stage3_ip_config_start): return to correct behavior
14574                         of letting the dhcp-manager notify us of failure or
14575                         success rather than incorrectly doing that ourselves
14576                 - (nm_device_activate_stage4_ip_config_get): deal with
14577                         activation cancellation a bit earlier
14578
14579 2006-01-03  Dan Williams  <dcbw@redhat.com>
14580
14581         * src/nm-device-802-11-wireless.c
14582           src/nm-device.[ch]
14583                 - Add hooks to subclasses for stage3_ip_config_start and
14584                         stage4_ip_config_timeout
14585
14586         * src/nm-device-802-3-ethernet.c
14587                 - (real_get_generic_capabilities): make devices NM-supported
14588                         by default
14589
14590 2006-01-03  Robert Love  <rml@novell.com>
14591
14592         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14593           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14594           latter cannot differentiate between error and the address -1; misc.
14595           clean up.
14596
14597 2006-01-03  Dan Williams  <dcbw@redhat.com>
14598
14599         * src/NetworkManager.c
14600                 - Move link-checking/probing into the device subclasses
14601                         themselves
14602
14603         * src/nm-device.[ch]
14604           src/nm-device-802-11-wireless.c
14605           src/nm-device-802-3-ethernet.c
14606                 - Do periodic link checking in device subclasses rather
14607                         than being triggered from NetworkManager.c
14608                 - discover_wireless_capabilities -> get_wireless_capabilities
14609                 - discover_generic_capabilities -> get_generic_capabilities
14610                 - Device subclass activation routines now return a value of type
14611                         NMActStageReturn to indicate what step to perform next
14612                 - Devices now override stage4_get_ip4_config if they choose
14613
14614 2006-01-01  Dan Williams  <dcbw@redhat.com>
14615
14616         * src/nm-device-802-11-wireless.c
14617                 - (real_init): don't chain up to parent init because we don't
14618                         need to do that anymore
14619
14620         * src/nm-device.c
14621                 - (discover_device_type): fix arguments to ioctl() to correctly
14622                         pass interface name
14623                 - (nm_device_new): consolidate generic device initialization into
14624                         nm_device_new()
14625                 - (real_init): remove, consolidated to nm_device_new()
14626                 - (nm_device_deactivate, real_deactivate): consolidate
14627
14628 2006-01-01  Dan Williams  <dcbw@redhat.com>
14629
14630         * src/nm-activation-request.c
14631                 - Change dhcp_state member of the NMActRequest structure
14632                         from guint8 to guint32
14633
14634         * src/dhcp-manager/nm-dhcp-manager.[ch]
14635                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14636                         than guint8 to match the dbus argument.  Turns out we were
14637                         overwriting memory since we were passing in only a guint8
14638
14639 2005-12-31  Dan Williams  <dcbw@redhat.com>
14640
14641         * refactor NMDevice into a GObject-based framework with separate
14642                 objects for wired and wireless.  The following files are no
14643                 longer used but should stick around for a bit so we don't
14644                 loose code through the cracks:
14645                         NetworkManagerDevice.c
14646                         NetworkManagerDevice.h
14647                         NetworkManagerWireless.c
14648                         NetworkManagerWireless.h
14649
14650         The intent here is to allow each device type to manage its own
14651         connection & activation life-cycle, ie to allow wireless devices
14652         to interface with wpa_supplicant, etc.  There's a fair bit of
14653         encapsulation breakage right now that should gradually get pulled
14654         back into each device, along with things like periodic property
14655         updates and link probing.
14656
14657 2005-12-29  Dan Williams  <dcbw@redhat.com>
14658
14659         * include/NetworkManager.h
14660                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14661                         between networks that don't have any encryption at all
14662
14663 2005-12-29  Dan Williams  <dcbw@redhat.com>
14664
14665         * test/test-common.c
14666           test/test-common.h
14667           test/Makefile.am
14668                 - Move to a test-common subdirectory
14669
14670         * test/libnm-util/test-ciphers.c
14671                 - Move test data to test-inputs.h
14672                 - Test WPA ciphers too
14673
14674         * test/libnm-util/test-dbus-helpers.c
14675                 - Test serialization/deserialization of ciphers
14676
14677 2005-12-29  Dan Williams  <dcbw@redhat.com>
14678
14679         * gnome/applet/applet-dbus-devices.c
14680                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14681                         in dbus calls to NM
14682                 - Set capabilities on WirelessNetwork objects
14683                 - Receive and save type-specific device capabilities too
14684
14685         * gnome/applet/applet-dbus-info.c
14686           gnome/applet/applet-dbus.c
14687                 - Passphrase dialog no longer a singleton; new instance gets created
14688                         on each request.  Updates to deal with that.
14689
14690         * gnome/applet/applet.c
14691                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14692                         than single 'encrypted' flag
14693                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14694                         menu items
14695                 - Passphrase dialog updates per above
14696
14697         * gnome/applet/menu-items.c
14698                 - (network_menu_item_update): use AP capabilities to determine
14699                         encryption
14700
14701         * gnome/applet/nm-device.[ch]
14702                 - Add accessors for type-specific device capabilities
14703
14704         * gnome/applet/other-network-dialog.c
14705                 - Rework to respect device capabilities.  i.e., if the device doesn't
14706                         support WPA, remove that option from the security dropdown
14707
14708         * gnome/applet/passphrase-dialog.c
14709                 - Massive rework so that a new instance is created each time
14710                         it's used, to support wireless network capabilities
14711
14712         * gnome/applet/wireless-network.[ch]
14713                 - Add accessors and members for wireless network capabilities
14714
14715         * gnome/applet/wireless-security-manager.[ch]
14716                 - (wsm_set_capabilities): called after creation to set which
14717                         security options get shown to the user
14718
14719 2005-12-29  Dan Williams  <dcbw@redhat.com>
14720
14721         * libnm-util/cipher-wpa-psk-passphrase.c
14722                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14723                         like other ciphers
14724
14725 2005-12-23  Dan Williams  <dcbw@redhat.com>
14726
14727         * gnome/applet/applet-dbus-info.c
14728                 - (nmi_dbus_get_key_for_network): if there's no entry in
14729                         GConf for a network, assume we want a new key
14730                 - (nmi_save_network_info): serialize wireless security info
14731                         into GConf so its saved
14732
14733         * src/nm-dbus-nm.c
14734                 - Fix warning as we may not be passed security info when
14735                         connecting to a wireless network
14736
14737 2005-12-23  Dan Williams  <dcbw@redhat.com>
14738
14739         * gnome/applet/applet-compat.c
14740                 - Fix bugs in GConf entry conversion
14741
14742         * gnome/applet/applet-dbus-info.c
14743                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14744                         list being zero-length
14745
14746         * libnm-util/cipher-*
14747           libnm-util/dbus-helpers.c
14748                 - All ciphers must now return hashed keys as UTF-8 valid
14749                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14750                         through dbus as strings too.
14751                 - Consolidate various functions that do bin->hex and hex->bin
14752                         conversion into cipher.c
14753
14754         * src/nm-ap-security-wep.c
14755           src/nm-ap-security-wpa-psk.c
14756                 - Handle NULL keys since we may not know keys right away
14757
14758         * src/nm-dbus-nmi.c
14759                 - (nm_dbus_get_network_data_cb): actually advance to the start
14760                         of the wireless security info before we try to deserialize it
14761
14762         * libnm-util/test-ciphers.c
14763                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14764
14765 2005-12-22  Dan Williams  <dcbw@redhat.com>
14766
14767         * gnome/applet/applet-compat.[ch]
14768                 - Convert old-format GConf and keyring entries
14769                         when the applet starts up.
14770
14771         * gnome/applet/applet.c
14772                 - (nmwa_get_instance): Call the conversion function
14773                         on startup before dbus is initialized
14774
14775 2005-12-22  Dan Williams  <dcbw@redhat.com>
14776
14777         * gnome/applet/applet-dbus-info.c
14778                 - Remove nmi_dbus_create_error_message() in favor of
14779                         nmu_create_dbus_error_message()
14780                 - (nmi_dbus_get_network_properties): Error message cleanups
14781                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14782                         gconf key rather than 'addresses', since they really are BSSIDs
14783                 - (nmi_dbus_get_network_properties): Dispose of the security
14784                         object when we're done with it
14785
14786 2005-12-21  Dan Williams  <dcbw@redhat.com>
14787
14788         * Consolidate the info-daemon's "updateNetworkInfo" and
14789                 "addNetworkAddress" calls into just "updateNetworkInfo"
14790
14791 2005-12-21  Dan Williams  <dcbw@redhat.com>
14792
14793         * Make connection after key retrieval work again
14794
14795 2005-12-21  Dan Williams  <dcbw@redhat.com>
14796
14797         * gnome/applet/nm-gconf-wso*
14798                 - Make the serialize functions return gboolean
14799                         rather than int
14800
14801         * gnome/applet/nm-gconf-wso.c
14802                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14803                         parent class handling so we don't segfault
14804
14805         * src/NetworkManagerAP.[ch]
14806                 - (nm_ap_get_capabilities): new function, return capabilities
14807                         now that something can use them
14808                 - (nm_ap_set_encrypted): assume that an access point supports
14809                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14810                         we even tell whether it just supports WEP40?
14811
14812         * src/NetworkManagerDevice.c
14813                 - (ap_need_key): resurrect and update for the New World Order
14814                 - (nm_device_wireless_get_activation_ap): if we're not given
14815                         security info to use, create some based on access point
14816                         capabilities
14817
14818         * src/nm-ap-security-wep.c
14819                 - (nm_ap_security_wep_new_from_ap): create a new object
14820                         based on a certain access point's capabilities
14821
14822         * src/nm-ap-security.c
14823                 - (nm_ap_security_new_from_ap): delegate creation of a new
14824                         object based on access point capabilities to a subclass
14825                 - (nm_ap_security_copy_properties): don't segfault if we
14826                         don't have a key yet
14827
14828         * src/nm-dbus-nm.c
14829                 - (nm_dbus_nm_set_active_device): provide more informative
14830                         output when errors occur.  Also construct security info
14831                         for a given access point if we weren't given any
14832
14833 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14834
14835         * configure.in: Added Lithuanian to ALL_LINGUAS.
14836
14837 2005-12-21  Dan Williams  <dcbw@redhat.com>
14838
14839         * test/libnm-util
14840                 - Add some testcases for WEP ciphers
14841
14842 2005-12-17  Dan Williams  <dcbw@redhat.com>
14843
14844         * Fix bugs
14845
14846 2005-12-17  Dan Williams  <dcbw@redhat.com>
14847
14848         * include/NetworkManager.h
14849                 - Finally kill NMEncKeyType
14850
14851         * gnome/applet/applet-dbus-info.c
14852                 - (nmi_save_network_info): convert to NMGConfWSO
14853
14854         * gnome/applet/nm-gconf-wso-*.c
14855                 - Implement gconf serialization functions
14856
14857         * src/NetworkManagerPolicy.c
14858                 - (nm_policy_activation_finish): fix up meaning of
14859                         automatic/user_requested
14860
14861 2005-12-17  Dan Williams  <dcbw@redhat.com>
14862
14863         * gnome/applet/*
14864                 - More applet cleanups
14865                 - Use the dbus-method-dispatcher
14866
14867         * libnm-util/dbus-method-dispatcher.[ch]
14868                 - Generalize the implementation from NM in
14869                         NetworkManagerUtils.c
14870
14871 2005-12-16  Dan Williams  <dcbw@redhat.com>
14872
14873         * gnome/applet/*
14874                 - Fix up the passphrase dialog to use all the
14875                         WirelessSecurityOption stuff (untested)
14876
14877 2005-12-16  Dan Williams  <dcbw@redhat.com>
14878
14879         * Move nm_gconf_get_*_helper() functions to separate files,
14880                 gconf-helpers.c & gconf-helpers.h
14881
14882         * New NMGConfWSO objects for managing the gconf side of things.
14883                 Eventually these should be merged with the
14884                 WirelessSecurityOption objects and a common base (that can
14885                 serialize/deserialize from dbus & gconf) should be
14886                 refactored out, but for now they are separate.
14887
14888 2005-12-16  Robert Love  <rml@novell.com>
14889
14890         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14891           binaries unless they exist (nm_spawn_process() emits a warning if
14892           asked to spawn a non-existant process).
14893
14894 2005-12-16  Dan Williams  <dcbw@redhat.com>
14895
14896         * gnome/applet/applet-dbus-info.c
14897                 - Clean up lots of gconf-related code
14898
14899 2005-12-16  Robert Love  <rml@novell.com>
14900
14901         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14902
14903 2005-12-16  Dan Williams  <dcbw@redhat.com>
14904
14905         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14906
14907         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14908                 bits still to be done)
14909
14910 2005-12-16  Dan Williams  <dcbw@redhat.com>
14911
14912         * Finally move info-daemon related stuff out of
14913                 NetworkManagerDbus.c to nm-dbus-nmi.c
14914
14915 2005-12-16  Dan Williams  <dcbw@redhat.com>
14916
14917         * Kill auth_method for access points, since that's now done
14918                 by NMAPSecurity objects
14919
14920         * Add a copy-constructor of sorts to NMAPSecurity
14921                 (how do you do this properly in glib???)
14922
14923 2005-12-15  Dan Williams  <dcbw@redhat.com>
14924
14925         * Exorcise encryption key hashing on APs
14926         * Use libnm-util's serialization/deserialization in both the
14927                 applet and NM
14928         * Random other stuff
14929
14930 2005-12-15  Robert Love  <rml@novell.com>
14931
14932         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14933           is being added to the icon naming spec, so let's use that (Tango CVS
14934           has the icon).  Because it is new, however, we fall back to the
14935           current "gnome-lockscreen" if the new icon is not around, thus
14936           behavior is the same.
14937         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14938           factory junk.
14939
14940 2005-12-15  Robert Love  <rml@novell.com>
14941
14942         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14943           well, help to give.  Couple other misc. bits.
14944
14945 2005-12-15  Dan Williams  <dcbw@redhat.com>
14946
14947         * libnm-util/dbus-helpers.[ch]
14948                 - Make this the one-stop-shop for serializing/deserializing
14949                         AP & connection security settings over dbus.  Both NM
14950                         and applets should use this to ensure consistent dbus
14951                         API going forwared.
14952
14953 2005-12-15  Robert Love  <rml@novell.com>
14954
14955         Patch by Timo Hoenig  <thoenig@suse.de>:
14956         * src/NetworkManagerDbus.c
14957                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14958                         if HAL jumps off the system bus.  Otherwise libdbus
14959                         (dbus_connection_dispatch) will try to run the filter
14960                         function of our libhal context which is already freed.
14961
14962 2005-12-15  Alexander Shopov  <ash@contact.bg>
14963
14964         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14965
14966 2005-12-14  Dan Williams  <dcbw@redhat.com>
14967
14968         * include/NetworkManager.h
14969           src/NetworkManagerWireless.c
14970                 - Rearrange 802.11 wireless-specific capabilities again
14971
14972         * src/Makefile.am
14973                 - Forgot to add wpa.c/wpa.h to the makefiles
14974
14975         * src/NetworkManagerAP.[ch]
14976                 - Implement access point capabilities and parse the
14977                         WPA/RSN IEs into the capability bitfield
14978                 - Switch the "encrypted" attribute to utilize the bitfield
14979                         and capabilities rather than being independent
14980
14981         * src/NetworkManagerDevice.c
14982                 - (nm_device_wireless_get_activation_ap): break it horribly
14983                         until we can push NMAPSecurity objects into access point
14984                         objects and through the activation chain
14985                 - Stuff WPA & RSN IEs into AP capabilities
14986
14987         * src/nm-dbus-nm.c
14988                 - Take a shot at actually making setActiveDevice work
14989
14990         * src/wpa.[ch]
14991                 - Make the API a bit saner
14992
14993 2005-12-14  Dan Williams  <dcbw@redhat.com>
14994
14995         * include/NetworkManager.h
14996                 - Add 802.11-specific capability for 802.1x key
14997                         management
14998
14999         * src/wpa.[ch]
15000                 - Pull in WPA IE and RSN IE parsing code from
15001                         wpa_supplicant so we can determine access point
15002                         capabilities
15003                 - Move WPA-related constants here from NetworkManagerAP.h
15004                         and NetworkManagerDevice.c
15005
15006         * src/NetworkManagerDevice.c
15007           src/NetworkManagerAP.[ch]
15008                 - Use WPA-related constants from wpa.h
15009
15010 2005-12-14  Dan Williams  <dcbw@redhat.com>
15011
15012         * include/NetworkManager.h
15013                 - Update and split 802.11 wireless-specific capabilities from
15014                         generic device capabilities
15015
15016         * src/NetworkManagerDevice.c
15017           src/NetworkManagerDevicePrivate.h
15018                 - (nm_device_wireless_discover_capabilities): Move 802.11
15019                         wireless-specific capability checks to
15020                         NetworkManagerWireless.c
15021                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15022                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15023
15024         * src/NetworkManagerWireless.[ch]
15025                 - (nm_802_11_wireless_discover_capabilities): Check extended
15026                         802.11 wireless-specific capabilities of the driver
15027
15028 2005-12-14  Robert Love  <rml@novell.com>
15029
15030         Patch from Stefan Scheler <sscheler@suse.de>:
15031         * src/NetworkManagerDevice.c: call backend code to activate and
15032           deactivate NIS.
15033         * src/NetworkManagerSystem.h: add new NIS interfaces.
15034         * src/backends/NetworkManagerDebian.c,
15035           src/backends/NetworkManagerGentoo.c,
15036           src/backends/NetworkManagerRedHat.c,
15037           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15038           support.
15039         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15040
15041 2005-12-14  Dan Williams  <dcbw@redhat.com>
15042
15043         * src/nm-ap-security*.[ch]
15044                 - Add AP security abstractions to NetworkManager
15045
15046         * src/nm-dbus-device.c
15047                 - Begin to parse new format dbus messages from the applet
15048                         and construct an AP security object from the message
15049
15050         * libnm-util/dbus-helpers.c
15051                 - Use message iters so we can append the key as a fixed
15052                         array of bytes, which actually works rather than
15053                         using dbus_message_append_args() as we were before
15054
15055 2005-12-14  Dan Williams  <dcbw@redhat.com>
15056
15057         * src/NetworkManagerDbus.c
15058           gnome/applet/applet-dbus.c
15059                 - Fix up dbus service replacement options.  The applet
15060                         should allow replacement, NM itself should not.
15061
15062 2005-12-13  Robert Love  <rml@novell.com>
15063
15064         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15065           Instead, fail silently if config is NULL by not asserting and not
15066           returning FALSE.  Also, make sure we always fclose() the file.
15067
15068 2005-12-13  Robert Love  <rml@novell.com>
15069
15070         Patch by Stefan Scheler <sscheler@suse.de>:
15071         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15072            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15073            via DHCP.  Still need the backends to commit the NIS domain name and
15074            and servers to yp.conf as needed.
15075
15076 2005-12-13  Robert Love  <rml@novell.com>
15077
15078         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15079           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15080
15081 2005-12-13  Robert Love  <rml@novell.com>
15082
15083         * src/named-manager/nm-named-manager.c: Don't unref the config until
15084           after we call rewrite_resolv_conf(), because get_last_default_domain()
15085           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15086           `config != NULL' failed" assertion failures and "Could not commit DNS
15087           changes" warnings.
15088
15089 2005-12-12  Dan Williams  <dcbw@redhat.com>
15090
15091         * libnm-util/dbus-helpers.[ch]
15092           libnm-util/Makefile.am
15093                 - new helper calls to consolidate locations where
15094                         NM's setDevice method is called
15095
15096         * gnome/applet/applet-dbus-devices.c
15097           gnome/applet/wireless-security-option.c
15098           gnome/applet/wso-*
15099                 - Implement dbus message param append function for
15100                         all wireless security options
15101
15102 2005-12-12  Robert Love  <rml@novell.com>
15103
15104         * libnm-util/cipher-wep-passphrase.c,
15105           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15106           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15107           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15108           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15109           When handling keys, we don't care what the sign is.  The compiler
15110           guarantees us that we get our 8-bits, which is all we care about.
15111         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15112
15113 2005-12-12  Dan Williams  <dcbw@redhat.com>
15114
15115         * gnome/applet/applet-dbus-devices.[ch]
15116           gnome/applet/applet.c
15117           gnome/applet/other-network-dialog.c
15118           gnome/applet/wireless-security-manager.[ch]
15119           gnome/applet/wireless-security-option.[ch]
15120           gnome/applet/wso-*
15121                 - Push the wireless security options further into the applet
15122
15123 2005-12-12  Robert Love  <rml@novell.com>
15124
15125         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15126           return any name servers.  That is perfectly valid.  (Novell #134369).
15127
15128 2005-12-11  Dan Williams  <dcbw@redhat.com>
15129
15130         * gnome/applet/wso-*
15131           gnome/applet/wireless-security-option.*
15132           gnome/applet/Makefile.am
15133                 - split each security option out so we can eventually
15134                         have each one build up their own dbus message
15135                         arguments to send to NM
15136
15137 2005-12-11  Dan Williams  <dcbw@redhat.com>
15138
15139         * Make validation of the key work correctly
15140
15141 2005-12-11  Dan Williams  <dcbw@redhat.com>
15142
15143         * Hook more bits of the Other Network Dialog up to the
15144                 wireless security manager stuff, and restructure
15145                 bits of the dialog so there's less code.
15146
15147 2005-12-10  Dan Williams  <dcbw@redhat.com>
15148
15149         * gnome/applet/Makefile.am
15150                 - Add libnm-util to includes
15151                 - Add libnm-util to link list
15152                 - Add wireless-security-common.* to compile list
15153
15154         * gnome/applet/other-network-dialog.c
15155                 - Convert to using the WirelessSecurityManager code and
15156                         widgets
15157
15158         * gnome/applet/passphrase-dialog.c
15159                 - Comment out references to stuff in the glade file that
15160                         cause runtime errors until it can be fixed up
15161                         to use the WirelessSecurityManager code
15162
15163         * gnome/applet/wireless-applet.glade
15164                 - Rename some widgets
15165                 - Add widgets for the WirelessSecurityManager code
15166                 - Remove passphrase-related stuff since that's now
15167                         handled by the WirelessSecurityManager code
15168
15169 2005-12-10  Dan Williams  <dcbw@redhat.com>
15170
15171         * gnome/applet/applet-dbus-devices.c
15172                 - Print out error message details for dbus pending call callbacks
15173                 - Move nmwa_dbus_update_devices() up
15174
15175         * gnome/applet/applet-dbus-vpn.c
15176                 - Print out error message details for dbus pending call callbacks
15177
15178 2005-12-10  Dan Williams  <dcbw@redhat.com>
15179
15180         * libnm-util/*
15181                 - More fixups
15182                 - Remove cipher-manager.* because we don't need it
15183                 - Forgot to add gnome-keyring-md5 files to compile list
15184
15185 2005-12-09  Dan Williams  <dcbw@redhat.com>
15186
15187         * libnm-util/*
15188           configure.in
15189           Makefile.am
15190                 - Add a utility library for clients of NetworkManager.  It's
15191                         only targetted at applets for the moment, and contains
15192                         a generalized 802.11 cipher framework for different
15193                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15194
15195 2005-12-09  Robert Love  <rml@novell.com>
15196
15197         * src/NetworkManagerDevice.c: handle error better in
15198           nm_device_set_mode().
15199
15200 2005-12-08  Robert Love  <rml@novell.com>
15201
15202         * include/NetworkManager.h: add WPA capabilities constants
15203         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15204           or WPA2 and add the capabilities bits as appropriate.
15205
15206 2005-12-08  Robert Love  <rml@novell.com>
15207
15208         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15209           NetworkManagerDispatcher.
15210         * configure.in, initscript/SUSE/.cvsignore,
15211           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15212           initscript.
15213
15214 2005-12-08  Robert Love  <rml@novell.com>
15215
15216         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15217
15218 2005-12-08  Robert Love  <rml@novell.com>
15219
15220         * src/NetworkManagerDevice.c: We want to fall back on and default to
15221           IW_MODE_AUTO, not -1, which is more in line with our previous
15222           behavior.  Otherwise, we try to set the wireless mode to -1 in
15223           nm_device_set_mode().
15224
15225 2005-12-07  Robert Love  <rml@novell.com>
15226
15227         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15228           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15229           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15230           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15231           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15232           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15233           zero.
15234
15235 2005-12-07  Robert Love  <rml@novell.com>
15236
15237         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15238           supplied IP is invalid, fall back to DHCP.
15239
15240 2005-12-07  Dan Williams  <dcbw@redhat.com>
15241
15242         * Convert NETWORK_MODE_* constants to IW_MODE_*
15243         * Make all the get_mode/set_mode functions take and return 'int'
15244         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15245
15246 2005-12-07  Robert Love  <rml@novell.com>
15247
15248         * src/NetworkManagerDevice.c: strncpy() buffer check.
15249         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15250
15251 2005-12-06  Dan Williams  <dcbw@redhat.com>
15252
15253         * gnome/applet/applet-dbus.c
15254                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15255
15256         * gnome/applet/applet-dbus-vpn.c
15257                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15258                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15259                         to TRUE here if stage was ACTIVATED
15260
15261 2005-12-06  Dan Williams  <dcbw@redhat.com>
15262
15263         * Change nm_device_is_* functions to better names:
15264                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15265                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15266
15267 2005-12-06  Dan Williams  <dcbw@redhat.com>
15268
15269         * Change naming of NMDeviceType to something more sensible:
15270                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15271                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15272                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15273
15274 2005-12-06  Dan Williams  <dcbw@redhat.com>
15275
15276         * Move NetworkManager.h -> include/NetworkManager.h
15277         * Split out VPN stuff into include/NetworkManagerVPN.h
15278         * Fix up makefiles to include new location
15279         * Fix up sources to include NetworkManagerVPN.h
15280
15281 2005-12-06  Dan Williams  <dcbw@redhat.com>
15282
15283         Various changes in the applet to move VPN connection "state" -> "stage",
15284         which it actually is.  I'd like to change the signal as well when we
15285         break compat in the near future.
15286
15287 2005-12-06  Dan Williams  <dcbw@redhat.com>
15288
15289         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15290         * initscript/Slackware/rc.networkmanager
15291                 - Cosmetic fix
15292
15293         * src/backends/NetworkManagerSlackware.c
15294                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15295                         interfaces
15296
15297 2005-12-05  Robert Love  <rml@novell.com>
15298
15299         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15300           to free, particularly here as it just barfs.
15301
15302 2005-12-05  Dan Williams  <dcbw@redhat.com>
15303
15304         * gnome/applet/applet-dbus.c
15305                 - Work with dbus 0.6 too
15306
15307 2005-12-03  Dan Williams  <dcbw@redhat.com>
15308
15309         * src/NetworkManagerUtils.[ch]
15310           src/nm-ip4-config.c
15311                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15312                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15313
15314 2005-12-01  Robert Love  <rml@novell.com>
15315
15316         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15317           need a NULL for the '...' parameter, too, to fill the so-called
15318           sentinel.
15319
15320 2005-12-01  Robert Love  <rml@novell.com>
15321
15322         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15323           interface is already gone, so don't call rtnl_link_change() to down
15324           it (which will segfault, anyhow).
15325
15326 2005-11-22  Robert Love  <rml@novell.com>
15327
15328         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15329           gateway is not set, just print a little note.  Configurations without
15330           gateways are valid.
15331
15332 2005-11-22  Robert Love  <rml@novell.com>
15333
15334         * README: update
15335
15336 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15337
15338         * configure.in: Added Finnish translation to ALL_LINGUAS
15339
15340 2005-11-14  Robert Love  <rml@novell.com>
15341
15342         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15343           Niemueller <tim@niemueller.de>.
15344
15345 2005-11-08  Dan Williams  <dcbw@redhat.com>
15346
15347         Patch from Bill Moss <bmoss@clemson.edu>
15348         * src/NetworkManagerDevice.c
15349                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15350                         of nm_policy_schedule_activation_finish() to prevent a
15351                         race condition that causes the link to be dropped
15352
15353 2005-11-08  Dan Williams  <dcbw@redhat.com>
15354
15355         Patch from Bill Moss <bmoss@clemson.edu>
15356         * src/NetworkManagerAPList.c
15357           src/NetworkManagerDevice.c
15358           src/NetworkManagerDbus.c
15359                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15360                         we get more readable ether/mac addresses
15361
15362 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15363
15364         * gnome/applet/main.c: Don't set the restart command.  This fixes
15365         the issue where the restart command was getting copies of all its
15366         arguments for each time the applet was restarted.
15367
15368 2005-11-02  Robert Love  <rml@novell.com>
15369
15370         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15371           if the widget state differs from our saved state.  This ensures we
15372           do not enter an endless loop of death and destruction.  Also, this
15373           guarantees us that we enforce the widget state.
15374
15375 2005-11-02  Robert Love  <rml@novell.com>
15376
15377         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15378         * gnome/applet/applet-dbus-devices.c: invoke the new function
15379           nmwa_enable_wireless_set_active() to ensure that the state of the
15380           'Enable Wireless' checkbox matches the daemon's state.  This is a
15381           concern because the daemon remembers the state.
15382
15383 2005-11-02  Robert Love  <rml@novell.com>
15384
15385         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15386           Enabled", as checkboxes should be actions/commands not positive
15387           statements, otherwise they are confusing in the unselected case.  See
15388           examples in GNOME HIG, Chapter 6.
15389
15390 2005-11-02  Robert Love  <rml@novell.com>
15391
15392         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15393           show a list of wireless networks or the wireless devices or the
15394           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15395           a bad bug: If wireless is disabled and the user picks a wireless
15396           network, NM will switch to the network, only to immediately switch
15397           back, as wireless is disabled.  This also reassures people that NM
15398           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15399
15400 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15401
15402         * gnome/applet/applet.c:
15403         * gnome/applet/applet.h:
15404         Partial backout of Dan's timeout animation patch.
15405         Timeout IDs cannot legally be 0, so revert the code in place to handle
15406         a timeout ID of 0 to denote the timeout isn't running.
15407
15408 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15409
15410         * src/NetworkManagerPolicy.c:
15411         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15412
15413 2005-10-28  Robert Love  <rml@novell.com>
15414
15415         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15416           "Import Saved Configuration..." to make it clear that importing is
15417           not the next step, but an option.  As an aside, a nice TODO would be
15418           to move Importing out of the vpn-specific dialog and into the main
15419           property editor, as Importing goes with Adding, but that will require
15420           some rearchitecting of the VPN stuff I suspect.
15421
15422 2005-10-27  Dan Williams  <dcbw@redhat.com>
15423
15424         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15425         we should replace most of the distro-specific backend code
15426         with libnl stuff.
15427
15428         Get it here:  http://people.suug.ch/~tgr/libnl/
15429
15430         * configure.in
15431           src/Makefile.am
15432                 - Add checks for libnl pkgconfig file
15433                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15434
15435         * src/NetworkManagerSystem.c
15436           src/nm-ip4-config.[ch]
15437                 - Use libnl rather than ioctl() for most things
15438                 - Remove unused functions
15439
15440 2005-10-27  Robert Love  <rml@novell.com>
15441
15442         * src/backends/NetworkManagerSuSE.c: fix warning message text
15443
15444 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15445
15446         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15447
15448 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15449
15450         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15451         project page <http://www.gnome.org/projects/NetworkManager/>
15452
15453 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15454
15455         * gnome/applet.c: Also use translator credits if we don't have
15456         the new GtkAboutDialog (older versions of GTK+)
15457
15458 2005-10-26  Robert Love  <rml@novell.com>
15459
15460         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15461           failure; correct usage text for "--no-daemon"
15462
15463 2005-10-25  Dan Williams  <dcbw@redhat.com>
15464
15465         * src/NetworkManagerDevice.c
15466                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15467                         no scan results
15468                 - (free_process_scan_cb_data): unref the device when freeing results
15469                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15470                         so we don't unref the device underneath ourselves
15471
15472 2005-10-25  Dan Williams  <dcbw@redhat.com>
15473
15474         * Back out 2005-10-24 commit from Tor Krill.  Patch
15475                 causes nameservers never to be removed from named.
15476
15477 2005-10-24  Dan Williams  <dcbw@redhat.com>
15478
15479         Clean up wireless scanning and wireless link probing.
15480
15481         * src/NetworkManagerDevice.c
15482                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15483                         just see if there's an activation request on the device, and check the
15484                         current link against the activation request access point's ESSID.
15485                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15486                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15487                         don't call process_scan_results() on zero-length data
15488                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15489                         15 seconds (from 10)
15490
15491 2005-10-24  Dan Williams  <dcbw@redhat.com>
15492
15493         Cleanup some applet stuff:
15494
15495         - Animation timeouts.  If NM died while the applet was animating,
15496                 the applet would not hide itself.  This is now fixed.
15497
15498         - Remove some dead code
15499
15500         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15501                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15502
15503         - Track animation timeout using a gboolean rather than the timeout's
15504                 ID, since timeout IDs can legally be 0.
15505
15506 2005-10-24  Dan Williams  <dcbw@redhat.com>
15507
15508         * src/backends/interface_parser.c
15509                 - Add void to function declarations that need it
15510                         to match patch from Engin AYDOGAN
15511
15512         * src/backends/interface_parser.h
15513                 - Remove unused prototype for ifparser_interfaces()
15514
15515         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15516         * src/backends/interface_parser.h:
15517                 - Compile fixes for gcc 4.0.2 (add void)
15518
15519 2005-10-24  Dan Williams  <dcbw@redhat.com>
15520
15521         Patch from Tor Krill <tor@krill.nu>
15522         * src/named-manager/nm-named-manager.c
15523                 - Write more than just the first nameserver to /etc/resolv.conf
15524                 - Write out valid /etc/resolv.conf on exit
15525
15526 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15527
15528         * gnome/applet/applet-dbus-vpn.c:
15529         Get rid of spurious newlines in debug console output
15530
15531 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15532
15533         * src/backends/NetworkManagerGentoo.c:
15534         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15535
15536 2005-10-20  Robert Love  <rml@novell.com>
15537
15538         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15539           direct comparison of floating point values, which is never correct.
15540           Also some misc. cleanup.
15541
15542 2005-10-19  Robert Love  <rml@novell.com>
15543
15544         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15545
15546 2005-10-19  Robert Love  <rml@novell.com>
15547
15548         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15549           sensitivity of the buttons.  Specificaly, do the right thing if
15550           there are no entries.
15551
15552 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15553
15554         * configure.in: Update check for adequate wireless-tools
15555         with an AC_TRY_COMPILE for the new symbols we use.
15556
15557 2005-10-19  Dan Williams  <dcbw@redhat.com>
15558
15559         * src/NetworkManagerDevice.c
15560                 - (process_scan_results): don't drop the last (or only)
15561                         access point we see
15562
15563 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15564
15565         * src/backends/NetworkManagerSlackware.c:
15566         Patch from Nico <lordllucifer@gmail.com>
15567                 - Update the Slackware backend.
15568
15569 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15570
15571         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15572         if we've got GLib 2.8.0
15573
15574 2005-10-18  Robert Love  <rml@novell.com>
15575
15576         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15577           function nm_schedule_state_change_signal_broadcast() when we
15578           deactivate a device, too.
15579
15580 2005-10-18  Robert Love  <rml@novell.com>
15581
15582         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15583           be used uninitialized.
15584
15585 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15586
15587         * test/libnm_glib_test.c: Test unregistering, too.
15588
15589 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15590
15591         * configure.in: Bump to 0.5.0
15592
15593 2005-10-17  Dan Williams  <dcbw@redhat.com>
15594
15595         * NetworkManager.h
15596                 - Remove WPA-related constants so they aren't part of the
15597                         upcoming release.
15598
15599 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15600
15601         * gnome/applet/applet.c:
15602         * gnome/applet/applet.h:
15603         Desensitize the 'Connection Information' menu item when there is
15604         no active connection.
15605
15606 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15607
15608         * gnome/libnm_glib/libnm_glib.c:
15609         Make libnm_glib_unregister_callback () actually unregister the callback
15610
15611 2005-10-17  Robert Love  <rml@novell.com>
15612
15613         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15614           two seconds -- tries is updated every 1/10 of a second, not every
15615           second..
15616
15617 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15618
15619         * gnome/applet/applet-dbus-info.c:
15620         Let D-BUS know that we haven't handled a message when we haven't.
15621
15622 2005-10-17  Robert Love  <rml@novell.com>
15623
15624         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15625           in order to remain 64-bit clean.
15626
15627 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15628
15629         * gnome/applet/applet-dbus-info.c:
15630         Find network encryption keys asynchronously
15631
15632 2005-10-17  Robert Love  <rml@novell.com>
15633
15634         * src/backends/NetworkManagerDebian.c,
15635           src/backends/NetworkManagerRedHat,
15636           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15637           comment delimiter.
15638
15639 2005-10-17  Robert Love  <rml@novell.com>
15640
15641         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15642           "/etc"
15643
15644 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15645
15646         * src/NetworkManagerDevice.c: (process_scan_results)
15647         Fix logic that checks to see whether we have an ESSID.
15648
15649 2005-10-15  Dan Williams  <dcbw@redhat.com>
15650
15651         Move scanning code into NetworkManager rather than use iwlib's
15652         iw_scan() function, so that we can figure out AP capabilities.
15653
15654         * NetworkManager.h
15655                 - Add AP capability bits
15656
15657         * src/NetworkManagerAP.[ch]
15658                 - Add capability field to NMAccessPoint structure
15659                 - Add WPA & RSN Information Element fields and accessor
15660                         functions to NMAccessPoint
15661
15662         * src/NetworkManagerDevice.c
15663                 - Remove usage of iw_scan
15664                 - Add scanning code to NetworkManager rather than use
15665                         iw_scan() from iwlib
15666
15667         * src/NetworkManagerUtils.[ch]
15668                 - (nm_dispose_scan_results): remove, unused
15669
15670 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15671
15672         * gnome/libnm_glib/libnm_glib.c:
15673         * gnome/libnm_glib/libnm_glib.h:
15674         Use guint instead of gint for callback IDs.
15675
15676 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15677
15678         * gnome/applet/applet.c:
15679         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15680         every 1000ms.  It will unconditionally call nmwa_update_state which
15681         kills the existing animation timeout and registers a new one with a
15682         callback to draw a new frame every 100ms.  There are 11 connecting
15683         icon frames, so the last 2 frames kept getting dropped.  Only reset
15684         the animation timeout if we aren't animating.
15685
15686 2005-10-11  Dan Williams  <dcbw@redhat.com>
15687
15688         * gnome/applet/applet-dbus-devices.c
15689                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15690                         We want to grab the product & vendor from net.physical_dev
15691                         rather than info.parent.
15692
15693 2005-10-11  Dan Williams  <dcbw@redhat.com>
15694
15695         * src/NetworkManagerDevice.c
15696                 - Use the driver's WE version for scanning rather than
15697                         the WE version NM was compiled with.  Fixes random
15698                         crashes in iw_scan () in iwlib.
15699
15700 2005-10-10  Dan Williams  <dcbw@redhat.com>
15701
15702         * Remove nm_system_load_device_modules() from backend files
15703                 and from NetworkManager.c
15704
15705 2005-10-10  Dan Williams  <dcbw@redhat.com>
15706
15707         * src/NetworkManagerPolicy.c
15708                 - Fix some bugs introduced by the capabilities patch
15709
15710 2005-10-10  Dan Williams  <dcbw@redhat.com>
15711
15712         * gnome/applet/applet-dbus-info.c
15713                 - (nmi_dbus_get_network_key): hide the menu when putting up
15714                         the keyring dialog.  (not sure if the code is right...)
15715
15716 2005-10-09  Dan Williams  <dcbw@redhat.com>
15717
15718         Patch from Bill Moss <bmoss@clemson.edu>
15719         * src/NetworkManagerDevice.c
15720                 - (nm_device_set_user_key_for_network): don't try to set auth
15721                         mode on the AP from the allowed list if it's NULL
15722
15723 2005-10-09  Dan Williams  <dcbw@redhat.com>
15724
15725         * Replace the "driver support level" stuff with capabilities.  The
15726                 capability field is a bitfield that is more flexible than the
15727                 old driver support level thing.  It's mostly so we can easily
15728                 figure out what supports WPA and what doesn't, but should be
15729                 quite useful later.
15730
15731 2005-10-09  Dan Williams  <dcbw@redhat.com>
15732
15733         * test/nmtest.c
15734                 - Removed
15735
15736         * test/nm-tool.c
15737           test/Makefile.am
15738                 - Added new "nm-tool" tool that gives quite a bit more
15739                         information
15740
15741 2005-10-07  Robert Love  <rml@novell.com>
15742
15743         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15744           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15745           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15746           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15747           appropriate
15748
15749 2005-10-07  Robert Love  <rml@novell.com>
15750
15751         * configure.in: Change our compile flags for the betterment of mankind.
15752           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15753           prototype is very bad on 64-bit platforms as types default to int but
15754           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15755           "-Wmissing-declarations" to warn if we define an exported function
15756           but fail to put it in a header.
15757
15758 2005-10-07  Robert Love  <rml@novell.com>
15759
15760         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15761           by the name nm_update_device_wireless_timeouts() and once tried,
15762           without success, to steal my pet turtle.
15763
15764 2005-10-07  Robert Love  <rml@novell.com>
15765
15766         * Cleanup prototypes: put some functions in header files and mark
15767           others as 'static' -- feel free to invert
15768         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15769           nm_vpn_manager_vpn_connection_list_copy()
15770         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15771           nm_vpn_service_get_dbus_connection()
15772         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15773           nm_vpn_manager_vpn_connection_list_copy()
15774         * src/vpn-manager/nm-vpn-service.c: make
15775           nm_vpn_service_act_request_failed() and
15776           nm_vpn_service_stage2_daemon_wait() static
15777         * src/vpn-manager/nm-vpn-service.h: add prototype for
15778           nm_vpn_service_get_dbus_connection()
15779
15780 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15781
15782         * gnome/applet/applet.c:
15783         * gnome/applet/applet.h:
15784         * gnome/applet/icons/Makefile.am:
15785         Convey information about the current connection stage in the
15786         icons themselves instead of creating a separate progress bar.
15787
15788 2005-10-04  Robert Love  <rml@novell.com>
15789
15790         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15791           convert an ether_addr structure's MAC into a string, because the
15792           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15793           versus 07:3B:04, while the former will not.
15794
15795 2005-10-04  Robert Love  <rml@novell.com>
15796
15797         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15798           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15799           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15800           default route in the 'Connection Information' dialog, send primary
15801           and secondary name servers in in "getProperties" DBUS method, add
15802           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15803           secondary domain name servers are crucial pieces of information
15804           that a user might need in debugging a network problem.
15805
15806 2005-10-04  Robert Love  <rml@novell.com>
15807
15808         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15809           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15810           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15811           default route in the 'Connection Information' dialog, send default
15812           route in "getProperties" DBUS method, add network_device_set_route(),
15813           and network_device_get_route().  The Gateway is a crucial piece of
15814           connection-related information that a user might need in debugging a
15815           network problem.
15816
15817 2005-10-03  Robert Love  <rml@novell.com>
15818
15819         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15820           NULL.
15821
15822 2005-10-02  Dan Williams  <dcbw@redhat.com>
15823
15824         * Shorten time taken to sleep by fastpathing bits of device deactivation
15825                 necessary for sleep.
15826
15827         * Fix issue where deactivating a device might deactivate the active
15828                 VPN connection, even if the VPN was not using the device.
15829
15830 2005-10-02  Dan Williams  <dcbw@redhat.com>
15831
15832         * gnome/applet/applet.c
15833                 - Adjust signal strength -> icon mapping values slightly
15834                         (so that 51% signal doesn't show a 75% icon) by adding
15835                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15836                         shows 50% icon, etc.
15837
15838 2005-09-29  Robert Love  <rml@novell.com>
15839
15840         * src/NetworkManager.c: removed unused variable.
15841
15842 2005-09-28  Dan Williams  <dcbw@redhat.com>
15843
15844         Support for named + DBus, using Red Hat DBus patches for named.  You
15845         can find those patches here, with "dbus" in the patch's filename:
15846
15847                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15848
15849         Don't forget the named dbus service file either.
15850
15851         Instead of writing a config file and spawing a named process, NM will
15852         use an already-running dbus-enabled named if it finds one.  NM will
15853         update named's forwarder configuration on the fly using dbus.
15854
15855         If there is no dbus-enabled named running, NM will automatically fall
15856         back to writing the most-recent DNS server information to /etc/resolv.conf
15857         and calling nm_system_update_dns() to kick the system's resolver.
15858
15859         Accordingly, all named-related configure-time options have been removed.
15860
15861 2005-09-26  Robert Love  <rml@novell.com>
15862
15863         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15864           ISDN support!
15865         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15866           bug in error path if "ASKPASSWORD" is "no".
15867
15868 2005-09-26  Robert Love  <rml@novell.com>
15869
15870         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15871           comment in /etc/resolv.conf -- ';' is not.
15872
15873 2005-09-19  Dan Williams  <dcbw@redhat.com>
15874
15875         * src/backends/NetworkManagerRedHat.c:
15876         * src/backends/NetworkManagerDebian.c:
15877         * src/backends/NetworkManagerSlackware.c:
15878         * src/backends/NetworkManagerGentoo.c:
15879         * src/backends/NetworkManagerSUSE.c:
15880         Fix invocations of "/sbin/ip address" to use short form instead
15881
15882 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15883
15884         * src/nm-dbus-device.c: Don't assert when getting
15885         addresses of a not yet connected interface.
15886
15887         * gnome/applet/applet.c: Free icons if loading fails.
15888         Use translator-credits so translators can make themselves known.
15889
15890 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15891
15892         * src/NetworkManagerAP.c:
15893         * src/NetworkManagerAP.h:
15894         * src/NetworkManagerDevice.c:
15895         Set a blacklist for certain common manufacturer default ESSIDs:
15896         APs with these ESSIDs are extremely likely to be completely
15897         different networks: connecting to one should not make NM
15898         auto-connect to every other AP with the same default ESSID.
15899
15900 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15901
15902         * gnome/applet/wireless-applet.glade:
15903         The passphrase entry should also activate the default
15904
15905         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15906
15907         * gnome/applet/applet-dbus-devices.c:
15908         * gnome/applet/applet.c:
15909         * gnome/applet/nm-device.c:
15910         * gnome/applet/nm-device.h:
15911         * src/NetworkManagerUtils.c:
15912         * src/NetworkManagerUtils.h:
15913         * src/nm-dbus-device.c:
15914         I've got a fever, and the only cure for it is less ioctl.
15915         Make NM push IP data rather than make the applet open a socket
15916         to the device.
15917
15918 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15919
15920         * gnome/applet/applet.c:
15921         * gnome/applet/applet-dbus-devices.c:
15922         * gnome/applet/applet-dbus-info.c:
15923         * gnome/applet/passphrase-dialog.c:
15924         * gnome/libnm_glib/libnm_glib.c:
15925         * gnome/vpn-properties/nm-vpn-properties.c:
15926         * src/autoip.c:
15927         * src/backends/NetworkManagerRedHat.c:
15928         * src/named-manager/nm-named-manager.c:
15929         * src/NetworkManagerAPList.c:
15930         * src/NetworkManager.c:
15931         * src/NetworkManagerDbus.c:
15932         * src/NetworkManagerDevice.c:
15933         * src/NetworkManagerPolicy.c:
15934         * src/NetworkManagerSystem.c:
15935         * src/nm-dbus-device.c:
15936         * src/nm-dbus-nm.c:
15937         * src/vpn-manager/nm-vpn-manager.c:
15938         * src/vpn-manager/nm-vpn-service.c:
15939         * test/libnm_glib_test.c:
15940         * test/nminfotest.c:
15941         * test/nmtestdevices.c:
15942         Fix a bunch of 'unused variable' compiler warnings
15943
15944         * NetworkManager.h:
15945         * gnome/applet/applet-dbus-info.c:
15946         * gnome/applet/applet-dbus-info.h:
15947         * gnome/applet/applet.c:
15948         * gnome/applet/applet.h:
15949         * src/NetworkManager.c:
15950         * src/NetworkManagerDbus.c:
15951         * src/NetworkManagerDbus.h:
15952         * src/NetworkManagerDevice.c:
15953         * src/NetworkManagerDevice.h:
15954         * src/NetworkManagerMain.h:
15955         * src/NetworkManagerWireless.c:
15956         * src/NetworkManagerWireless.h:
15957         * src/nm-dbus-nm.c:
15958         Make NetworkManager be smart about how frequently to scan
15959         based on its current state.  Remove the UI for choosing when
15960         to scan.  Scanning still may disabled completely by the user
15961         via the "Wireless Enabled" menu item.
15962
15963 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15964
15965         * gnome/applet/applet.c:
15966         Also overlay the vpn connecting icons onto the wired icon,
15967         when appropriate.
15968
15969         * gnome/vpn-properties/nm-vpn-properties.glade:
15970         Clean up a few strings to use better grammar and proper casing.
15971
15972 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15973
15974         * gnome/applet/vpn-connection.c:
15975         * gnome/applet/vpn-connection.h:
15976         Add nmwa_vpn_connection_is_activating ()
15977
15978         * gnome/applet/applet.c:
15979         * gnome/applet/applet.h:
15980         * gnome/applet/icons/nm-vpn-connecting*.png:
15981         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15982         the user know something's happening between clicking the VPN item and it
15983         actually being connected.
15984
15985 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15986
15987         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15988         failure case as well.
15989
15990 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15991
15992         * gnome/panel/eggtrayicon.[ch]:
15993         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15994
15995 2005-09-07  Dan Williams  <dcbw@redhat.com>
15996
15997         Patch from Bill Moss <bmoss@clemson.edu>
15998         * src/applet-dbus.c
15999                 - (nmwa_dbus_filter): strip whitespace from beginning
16000                         and end of VPN login banner
16001
16002 2005-09-07  Dan Williams  <dcbw@redhat.com>
16003
16004         * The great VPN Manager rewrite of 2005
16005
16006 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16007
16008         * gnome/applet/menu-items.c:
16009         * gnome/applet/nm-device.c:
16010         * gnome/applet/wireless-network.c:
16011         * gnome/libnm_glib/libnm_glib.c:
16012         * src/NetworkManagerDbusUtils.c:
16013         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16014         g_malloc0 doesn't return NULL
16015
16016 2005-09-06  Dan Williams  <dcbw@redhat.com>
16017
16018         Patch from Tomislav Vujec <tvujec@redhat.com>
16019         * src/NetworkManagerDevice.c
16020                 - (nm_get_device_by_udi): don't return a device when we
16021                         actually didn't find what we were looking for
16022
16023 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16024
16025         * gnome/applet/applet-dbus-devices.c:
16026         * gnome/applet/applet-dbus-devices.h:
16027         * gnome/applet/applet-dbus.c:
16028         * src/NetworkManagerDbus.c:
16029         * src/NetworkManagerDbus.h:
16030         * src/NetworkManagerDevice.c:
16031         * src/nm-dbus-device.c:
16032         Make NM push updates about active device strength when it changes,
16033         rather than having the applet poll every 2s.
16034
16035 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16036
16037         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16038         network_device_set_strength
16039
16040 2005-09-04  Dan Williams  <dcbw@redhat.com>
16041
16042         Patch from Bill Nottingham <notting@redhat.com>
16043         * src/NetworkManagerDevice.c
16044                 - (nm_device_activation_cancel): reset the quit_activation flag
16045
16046 2005-09-04  Dan Williams  <dcbw@redhat.com>
16047
16048         * src/nm-activation-request.c
16049                 - (nm_act_request_unref): actually free the structure,
16050                         which we didn't seem to be doing before
16051
16052 2005-09-04  Dan Williams  <dcbw@redhat.com>
16053
16054         Patch from John Palmieri <johnp@redhat.com>
16055         * gnome/applet/applet-dbus-devices.c
16056                 - Fix up unreffing of DBusMessage objects
16057
16058 2005-09-04  Dan Williams  <dcbw@redhat.com>
16059
16060         Patch from John Palmieri <johnp@redhat.com>
16061         * gnome/applet/nm-device.c
16062                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16063
16064 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16065
16066         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16067
16068 2005-09-02  Bill Nottingham  <notting@redhat.com>
16069
16070         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16071
16072 2005-09-01  Dan Williams  <dcbw@redhat.com>
16073
16074         * src/NetworkManager.c
16075                 - (nm_remove_device_from_list): rename to nm_remove_device
16076                 - (nm_hal_device_removed): call nm_remove_device()
16077
16078         * src/NetworkManagerDevice.c
16079                 - Change the NMWirelessScanCB member 'reschedule' which
16080                         wasn't used to 'force' to indicate that we need to
16081                         force a scan when adding a device
16082
16083         * src/nm-dbus-nm.c
16084                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16085                         from the device list
16086                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16087
16088 2005-09-01  Robert Love  <rml@novell.com>
16089
16090         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16091           and the check "!iface" in the error case is probably never true.
16092
16093 2005-09-01  Dan Williams  <dcbw@redhat.com>
16094
16095         Patch from Bill Nottingham <notting@redhat.com>
16096         * src/backends/NetworkManagerRedHat.c
16097                 - Add initial dialup support to Red Hat/Fedora backend
16098
16099 2005-09-01  Dan Williams  <dcbw@redhat.com>
16100
16101         * gnome/applet/applet-dbus-devices.c
16102                 - Sort both wireless networks and devices again, which got
16103                         broken when removing threading
16104
16105 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16106
16107         * gnome/applet/applet.c:
16108         Only show the "Stop/Start All Wireless Devices" menuitem
16109         if we actually have wireless devices.
16110
16111         * gnome/applet/applet-dbus-info.c:
16112         * gnome/applet/applet.c:
16113         * gnome/applet/other-network-dialog.c:
16114         * gnome/applet/vpn-password-dialog.c:
16115         Drop the gtk_dialog_run () calls in favor of connecting to
16116         "response" signals, needed now that the applet is not threaded.
16117
16118 2005-08-31  Dan Williams  <dcbw@redhat.com>
16119
16120         Patch from Bill Moss <bmoss@clemson.edu>
16121         * src/NetworkManagerDevice.c
16122                 - (nm_device_wireless_scan): fix scan timeout values
16123
16124 2005-08-30  Dan Williams  <dcbw@redhat.com>
16125
16126         * gnome/applet/wireless-applet.glade
16127                 - HIG-ify the Other Wireless Networks dialog a bit more
16128                 - Fix some potential segfaults in the info dialog
16129
16130 2005-08-30  Dan Williams  <dcbw@redhat.com>
16131
16132         * gnome/applet/applet-dbus-devices.c
16133                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16134
16135 2005-08-30  Dan Williams  <dcbw@redhat.com>
16136
16137         * gnome/applet/applet-dbus.[ch]
16138                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16139                         they weren't being used anyway
16140
16141 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16142
16143         * test/nmtestdevices.c: (print_usage), (main):
16144         Check the number of arguments, and fix a typo
16145
16146 2005-08-29  Dan Williams  <dcbw@redhat.com>
16147
16148         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16149         * gnome/applet/applet.c
16150                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16151
16152 2005-08-29  Dan Williams  <dcbw@redhat.com>
16153
16154         * gnome/applet/*
16155                 - Don't use threads any more.  Anything that blocks
16156                         (like gtk_dialog_run()) will  have to get fixed up which
16157                         should happen quickly.  We really only had threads to make
16158                         the animation smooth, and when everything got converted over
16159                         to DBus Pending Calls, the need for threads kind of went away
16160
16161 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16162
16163         * gnome/applet/applet.c: Draw VPN connections as radio items
16164         since we don't yet support multiple VPNs.
16165         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16166         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16167
16168 2005-08-29  Dan Williams  <dcbw@redhat.com>
16169
16170         Patch from j@bootlab.org
16171         - Make --without-named work
16172         - Make --with-dhcdbd work correctly
16173
16174 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16175
16176         * configure.in: Added "ca" to ALL_LINGUAS.
16177
16178 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16179
16180         * Fix up VPN state handling between the applet and NetworkManager,
16181                 so that the applet doesn't show a VPN as connected when one
16182                 really is not
16183                         - The applet no longer has a pointer to the active VPN's
16184                                 name, but tracks each VPNs state individually
16185                         - NM no longer has a "getActiveVPNConnection" method
16186                         - NM no longer broadcasts the "VPNConnectionChange" signal
16187                         - NM now broadcasts a "VPNConnectionStateChange" signal
16188                                 whenever the state of a VPN changes
16189
16190 2005-08-26  Dan Williams <dcbw@redhat.com>
16191
16192         * gnome/applet/applet-dbus-devices.c
16193           gnome/applet/applet-dbus-vpn.c
16194                 - Remove calls to dbus_pending_call_ref() because we already
16195                         "own" the pending call
16196                 - Remove calls to dbus_pending_call_get_completed() because
16197                         when we are in the callback, the pending call is completed
16198                         by definition
16199
16200 2005-08-22  Dan Williams <dcbw@redhat.com>
16201
16202         Patch by Bill Moss <bmoss@clemson.edu>
16203         * src/dhcp-manager/nm-dhcp-manager.c
16204                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16205                         some time to send out a RELEASE if they like
16206
16207 2005-08-22  Dan Williams <dcbw@redhat.com>
16208
16209         Noticed by Bill Moss <bmoss@clemson.edu>
16210         * src/NetworkManagerDbus.c
16211                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16212                         instead of just cancelling its activation
16213
16214         * src/NetworkManagerDevice.c
16215                 - (nm_device_deactivate): some small cleanups
16216                 - (nm_device_set_user_key_for_network): deactivate the device
16217                         instead of just cancelling its activation
16218
16219 2005-08-22  Dan Williams <dcbw@redhat.com>
16220
16221         Noticed by Bill Moss <bmoss@clemson.edu>
16222         * src/NetworkManagerDevice.c
16223                 - (nm_device_wireless_scan): fix scan timeout, we were
16224                         waiting way too long for scans to complete
16225
16226 2005-08-22  Dan Williams <dcbw@redhat.com>
16227
16228         Patch from j@bootlab.org:
16229         * src/backends/NetworkManagerDebian.c
16230                 - Make the Debian backend work for static IP again
16231
16232 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16233
16234         * gnome/applet/other-network-dialog.c:
16235         The "Create New Network" and "Connect to Other Network"
16236         dialogs share alot of code, but shouldn't share a window
16237         title.  Give them different ones.
16238
16239         * gnome/applet/wireless-applet.glade:
16240         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16241         Some more minor UI tweaks.
16242
16243 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16244
16245         * gnome/applet/other-network-dialog.c:
16246         * gnome/applet/wireless-applet.glade:
16247         Also need mnemonic widgets, and underline enabled.
16248
16249 2005-08-19  Dan Williams <dcbw@redhat.com>
16250
16251         * vpn-daemons/vpnc/nm-vpnc-service.c
16252                 - (vpnc_watch_cb): remove no-longer-relevant comment
16253                 - (write_config_option): new function, helper to write
16254                         config options to vpnc's stdin
16255                 - (nm_vpnc_config_write): use the new helper, make the
16256                         code shorter
16257
16258 2005-08-19  Christopher Aillon <caillon@redhat.com>
16259
16260         * gnome/applet/passphrase-dialog.c:
16261         * gnome/applet/wireless-applet.glade:
16262         Make the passphrase dialog response based, and treat
16263         responses other than OK (such as Esc, [X]) as a cancel.
16264
16265 2005-08-18  Christopher Aillon <caillon@redhat.com>
16266
16267         * initscript/Gentoo/NetworkManager:
16268         * initscript/RedHat/NetworkManager:
16269         * initscript/RedHat/NetworkManagerDispatcher:
16270         * initscript/SUSE/networkmanager:
16271         CVS remove these in place of .in replacements
16272
16273         * configure.in:
16274         * initscript/Gentoo/NetworkManager.in:
16275         * initscript/RedHat/NetworkManager.in:
16276         * initscript/RedHat/NetworkManagerDispatcher.in:
16277         * initscript/SUSE/networkmanager.in:
16278         These scripts now are generated so they work still when
16279         NM is built using a bindir other than /usr/bin
16280
16281 2005-08-18  Dan Williams <dcbw@redhat.com>
16282
16283         * gnome/applet/main.c
16284                 - Revert previous change for --no-session since
16285                         --sm-disable does the same thing
16286
16287 2005-08-18  Dan Williams <dcbw@redhat.com>
16288
16289         * gnome/applet/applet-dbus-info.c
16290                 - (nmi_dbus_create_error_message): new function
16291                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16292                         functions.  Also don't check for both device _and_ network before
16293                         asking for a user's key, because we may not have gotten all our
16294                         networks back from NM quite yet (due to the dbus pending calls
16295                         coming in later).  Fixes a hang in NM/nm-applet.
16296
16297         * src/NetworkManagerDbus.c
16298                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16299                         slightly more sane manner, even though we are still broken for
16300                         certain other error conditions.
16301                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16302                         to the info-daemon too
16303
16304         * src/NetworkManagerDevice.c
16305                 - Fix some debug messages to be info messages instead
16306
16307 2005-08-18  Dan Williams <dcbw@redhat.com>
16308
16309         * gnome/applet/main.c
16310                 - Add new "--no-session" parameter that disables applet
16311                         session management, ie for testing
16312
16313 2005-08-18  Christopher Aillon <caillon@redhat.com>
16314
16315         * gnome/applet/other-network-dialog.c:
16316         * gnome/applet/wireless-applet.glade: More mnemonics
16317
16318 2005-08-17  Robert Love  <rml@novell.com>
16319
16320         * initscript/SUSE/networkmanager: update
16321
16322 2005-08-17  Dan Williams  <dcbw@redhat.com>
16323
16324         * Tag NM_0_4_1_RELEASE
16325
16326 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16327
16328         * gnome/applet/applet.c: More translatable string cleanup
16329
16330
16331 2005-08-17  Dan Williams  <dcbw@redhat.com>
16332
16333         * gnome/applet/applet-dbus-info.c
16334                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16335                         from the dbus message, which tells us to unconditionally
16336                         ask the user for a new key.  Otherwise, we pull the key from
16337                         the keyring and return it.  If we fail to get the key from the
16338                         keyring, we ask the user for a new key.
16339                 - (nmi_dbus_get_network_key): new function to grab the key for
16340                         an essid from the keyring.
16341                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16342                         Also, don't return any key in the dbus message.
16343
16344         * src/NetworkManagerDbus.[ch]
16345                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16346                         indicate that we unconditionally want a new key.  This function
16347                         is now also used to get keys from the info-daemon which are
16348                         pre-stored, not just for asking the user for a new key.  The
16349                         "new_key" parameter indicates whether or not we wish to ask the
16350                         user for a new key.
16351                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16352                         info-daemon in the return message, so use NULL instead.  The
16353                         key will be filled in at connect time by calling
16354                         nm_dbus_get_user_key_for_network()
16355
16356         * src/NetworkManagerDevice.c
16357                 - (nm_device_wireless_configure): update for "new_key" param to
16358                         nm_dbus_get_user_key_for_network().  We initially set new_key
16359                         to FALSE to see if we have a stored key in the info-daemon, but
16360                         if the connection is unsuccessful at this stage we request a
16361                         new one
16362
16363 2005-08-17  Dan Williams  <dcbw@redhat.com>
16364
16365         * gnome/applet/icons/nm-no-connection.png
16366           gnome/applet/icons/nm-device-wired.png
16367                 - Use Diana's new RJ45 connector icons
16368
16369 2005-08-17  Dan Williams  <dcbw@redhat.com>
16370
16371         * src/NetworkManagerPolicy.c
16372                 - (nm_policy_device_change_check): clarify switching rules if
16373                         both new and old devices are valid; mainly, don't switch
16374                         away from user-requested wireless connection back to a wired
16375                         one
16376
16377 2005-08-17  Dan Williams  <dcbw@redhat.com>
16378
16379         * gnome/applet/Makefile.am
16380                 - Relocate the applet to /usr/bin since it is no longer
16381                         executed by anything, but directly by the user
16382
16383 2005-08-17  Dan Williams  <dcbw@redhat.com>
16384
16385         Patch from Bill Moss <bmoss@clemson.edu>
16386
16387         * gnome/applet/applet-dbus-info.[ch]
16388                 - (nmi_save_network_info): save timestamp for network if it
16389                         was a change requested by the user
16390                 - (nmi_dbus_update_network_info): get user_requested from dbus
16391                         message and pass to nmi_save_network_info()
16392
16393         * gnome/applet/applet.c
16394                 - (nmwa_update_network_timestamp): remove
16395                 - (nmwa_menu_item_activate): don't set timestamp on networks
16396                         here, only after a successful connect in nmi_save_network_info()
16397
16398         * src/NetworkManagerDbus.[ch]
16399                 - (nm_dbus_update_network_info): pass user_requested into the 
16400                         dbus message
16401
16402         * src/NetworkManagerPolicy.c
16403                 - (nm_policy_activation_finish): pass user_requested to
16404                         nm_dbus_update_network_info()
16405
16406 2005-08-16  Robert Love  <rml@novell.com>
16407
16408         * gnome/applet/applet.c: Better "Dial Up" menu item.
16409
16410 2005-08-16  Robert Love  <rml@novell.com>
16411
16412         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16413           "Connection Information" menu item.
16414
16415 2005-08-16  Dan Williams  <dcbw@redhat.com>
16416
16417         Patch from j@bootlab.org
16418         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16419
16420         * configure.in: allow specifying the path to dhcdbd
16421
16422 2005-08-16  Robert Love  <rml@novell.com>
16423
16424         Patch from j@bootlab.org
16425         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16426           src/backends/interface_parser.h: Debian dialup support.
16427
16428 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16429
16430         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16431         * gnome/applet/applet.c: Add some mnemonics for VPNC
16432
16433         * vpn-daemons/.cvsignore: fix this up a little bit
16434
16435 2005-08-16  Robert Love  <rml@novell.com>
16436
16437         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16438           support.
16439
16440 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16441
16442         * gnome/applet/applet.c: Split markup out of translatable strings
16443         and clean up logic a little bit.  (fixes #309012)
16444
16445 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16446
16447         * gnome/vpn-properties/nm-vpn-properties.c:
16448         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16449         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16450         Makeshift fix to remove newlines from translatable strings.
16451         Note that we now return an allocated string, so callers of
16452         get_confirmation_details () must now call g_free () on the
16453         result. (fixes #309033).
16454
16455 2005-08-12  Robert Love  <rml@novell.com>
16456
16457         * gnome/applet/applet-dbus.c: remove newlines from translatable
16458           strings--not needed here anyway. (fix b.g.o #309011)
16459         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16460
16461 2005-08-11  Robert Love  <rml@novell.com>
16462
16463         * gnome/applet/applet.c: mark string as translatable.
16464
16465 2005-08-11  Robert Love  <rml@novell.com>
16466
16467         * initscript/SUSE/networkmanager: update.
16468
16469 2005-08-11  Dan Williams  <dcbw@redhat.com>
16470
16471         * src/nm-dhcp-manager.c
16472                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16473                         an gateway returned from DHCP, try to use the address of the DHCP
16474                         server as the gateway instead.  Found by Ralf Ertzinger.
16475
16476 2005-08-10  Robert Love  <rml@novell.com>
16477
16478         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16479           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16480
16481 2005-08-10  Dan Williams  <dcbw@redhat.com>
16482
16483         Patch from Bill Moss <bmoss@clemson.edu>
16484         * Consolidate writes of access point information updates to the info daemon
16485                 so that we only do it when the connection to the access point was
16486                 successful.  Also consolidates updates to GConf in the Gnome applet.
16487
16488         * src/nm-netlink-monitor.c
16489                 - Silence compile warning when calling g_object_new()
16490
16491 2005-08-08  Dan Williams  <dcbw@redhat.com>
16492
16493         Patch from Steev <steev@steev.net>:
16494         * src/backends/NetworkManagerGentoo.c
16495                 - Stub new dialup backend functions
16496
16497 2005-08-08  Dan Williams  <dcbw@redhat.com>
16498
16499         Patch from Colin Slater:
16500         * src/backends/NetworkManagerGentoo.c
16501                 - (nm_system_update_dns): Fix exit status check for restarting
16502                         nscd
16503
16504 2005-08-05  Robert Love  <rml@novell.com>
16505
16506         * NetworkManager.h,
16507           gnome/applet/applet-dbus-devices.c,
16508           gnome/applet/applet-dbus-devices.h,
16509           gnome/applet/applet-dbus.c,
16510           gnome/applet/applet.c,
16511           gnome/applet/applet.h,
16512           src/NetworkManager.c,
16513           src/NetworkManagerMain.h,
16514           src/NetworkManagerSystem.h,
16515           src/backends/NetworkManagerRedHat.c,
16516           src/backends/NetworkManagerSuSE.c,
16517           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16518
16519 2005-08-05  Robert Love  <rml@novell.com>
16520
16521         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16522           machine's hostname to make adhoc creation idiot-proof.
16523
16524 2005-08-04  Robert Love  <rml@novell.com>
16525
16526         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16527           freed.
16528
16529 2005-08-04  Dan Williams  <dcbw@redhat.com>
16530
16531         * gnome/applet/applet-dbus-info.c
16532           gnome/applet/applet-dbus-info.h
16533                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16534                         to store key, key type, and auth method rather than just auth method
16535                 - (nmi_dbus_update_network_info): new function
16536                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16537
16538         * gnome/applet/passphrase-dialog.c
16539                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16540                         of saving the info ourselves
16541
16542         * gnome/libnm_glib/libnm_glib.c
16543                 - Remove the stupid version check for dbus
16544
16545         * src/NetworkManagerAP.c
16546           src/NetworkManagerAP.h
16547                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16548
16549         * src/NetworkManagerDbus.c
16550           src/NetworkManagerDbus.h
16551                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16552                         more than just the auth method
16553
16554         * src/NetworkManagerDevice.c
16555                 - Update network info at the appropriate times
16556
16557 2005-07-29  Ray Strode  <rstrode@redhat.com>
16558
16559         * src/NetworkManager.c (nm_info_handler): don't use input as format
16560         string (Spotted by Ian Jackson).
16561
16562 2005-07-27  Dan Williams  <dcbw@redhat.com>
16563
16564         * src/nm-dbus-nm.c
16565           src/nm-dbus-net.c
16566                 - Random cleanups of spacing
16567
16568         * gnome/applet/applet.h
16569           gnome/applet/other-network-dialog.c
16570           gnome/applet/passphrase-dialog.c
16571                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16572
16573         Patch from Bill Moss:
16574                 - Make Other Wireless Networks work again with encryption keys
16575
16576 2005-07-26  Dan Williams  <dcbw@redhat.com>
16577
16578         Patch from Steev <steev@steev.net>:
16579         * src/backends/NetworkManagerGentoo.c
16580           src/backends/Makefile.am
16581                 - Fix up Gentoo backend
16582
16583 2005-07-26  Robert Love  <rml@novell.com>
16584
16585         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16586
16587 2005-07-25  Robert Love  <rml@novell.com>
16588
16589         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16590           in the same group as the wireless networks, since they are all
16591           mutually exclusive.
16592
16593 2005-07-24  Ray Strode  <rstrode@redhat.com>
16594
16595         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16596         remove unneeded NULL arg from g_object_new().  Any
16597         warnings caused by not having the extra NULL are just a
16598         result of a bug in glib 2.7.0 - 2.7.2.
16599
16600 2005-07-22  Robert Love  <rml@novell.com>
16601
16602         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16603
16604 2005-07-22  Robert Love  <rml@novell.com>
16605
16606         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16607           parameters (gcc 4.0.2 warning fix).
16608
16609 2005-07-18  Robert Love  <rml@novell.com>
16610
16611         Suggested by Aaron Bockover (abockover@novell.com)
16612         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16613           s/Ascii/ASCII
16614         * gnome/applet/passphrase-dialog.c: ditto
16615         * gnome/applet/wireless-applet.glade: ditto
16616
16617 2005-07-13  Dan Williams  <dcbw@redhat.com>
16618
16619         Patch from Ray Strode <halfline@gmail.com>
16620         * vpn-daemons/vpnc/nm-vpnc-service.c
16621                 - Don't let vpnc daemonize, fixes some races with PID file reading
16622
16623 2005-07-13  Dan Williams  <dcbw@redhat.com>
16624
16625         Patch from Ray Strode <halfline@gmail.com>
16626         * Random cleanups for strict CFLAGS
16627
16628 2005-07-07  Dan Williams  <dcbw@redhat.com>
16629
16630         Patch from Derek Atkins <warlord@MIT.EDU>
16631         * src/nm-dbus-net.c:
16632                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16633
16634 2005-07-07  Dan Williams  <dcbw@redhat.com>
16635
16636         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16637         * src/backends/NetworkManagerGentoo.c
16638                 - Gentoo backend Static IP nameserver fixes
16639                 - General Gentoo backend goodness
16640
16641 2005-07-07  Dan Williams  <dcbw@redhat.com>
16642
16643         Patch from Bastien Nocera:
16644         * gnome/applet/applet.c
16645                 - Fix up error reporting when icons or glade files are missing
16646
16647 2005-07-07  Robert Love  <rml@novell.com>
16648
16649         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16650           are not any VPN connections above it.
16651
16652 2005-07-07  Robert Love  <rml@novell.com>
16653
16654         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16655
16656 2005-07-05  Robert Love  <rml@novell.com>
16657
16658         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16659           zero.
16660
16661 2005-07-05  Robert Love  <rml@novell.com>
16662
16663         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16664           on wired or unencrypted wireless.
16665
16666 2005-07-01  Robert Love  <rml@novell.com>
16667
16668         * src/NetworkManagerSystem.c: Print the error via strerror().
16669
16670 2005-06-30  Robert Love  <rml@novell.com>
16671
16672         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16673           then exit if the glade file is not found.  currently the application
16674           just hangs.
16675
16676 2005-06-30  Robert Love  <rml@novell.com>
16677
16678         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16679           explicitly up all interfaces on wake from sleep.
16680
16681 2005-06-30  Robert Love  <rml@novell.com>
16682
16683         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16684           with information about the currently active connection.
16685         * gnome/applet/applet.h: (ditto)
16686         * gnome/applet/wireless-applet.glade: (ditto), new file
16687
16688 2005-06-30  Robert Love  <rml@novell.com>
16689
16690         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16691         * src/nm-dbus-nm.c: print when we sleep and wake up.
16692         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16693         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16694           in /sbin unless D-BUS is, folks).
16695         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16696
16697 2005-06-27  Robert Love  <rml@novell.com>
16698
16699         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16700           case.
16701
16702 2005-06-27  Robert Love  <rml@novell.com>
16703
16704         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16705           items radios.
16706
16707 2005-06-26  Robert Love  <rml@novell.com>
16708
16709         * src/NetworkManagerDevice.c: be specific about which device in
16710           nm_info() message.
16711
16712 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16713
16714         * src/nm-netlink-monitor.c: correct spelling error.
16715
16716 2005-06-23  Robert Love  <rml@novell.com>
16717
16718         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16719         * gnome/applet/passphrase-dialog.c: more of that keyring!
16720
16721 2005-06-23  Robert Love  <rml@novell.com>
16722
16723         * configure.in: remove extraneous GNOMEKEYRING directives.
16724         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16725         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16726         * gnome/applet/passphrase-dialog.c: whitespace.
16727
16728 2005-06-23  Robert Love  <rml@novell.com>
16729
16730         * src/NetworkManagerDevice.c: division in assignment was flipped.
16731
16732 2005-06-23  David Zeuthen  <david@fubar.dk>
16733
16734         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16735         signal to the child to indicate that we got what we wanted when we
16736         see two new-lines right after each other.
16737         (nmwa_vpn_request_password): Pass a structure with several members
16738         instead of just the passwords
16739
16740 2005-06-23  Dan Williams <dcbw@redhat.com>
16741
16742         * src/NetworkManager.c
16743           src/NetworkManagerMain.h
16744                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16745                 - (nm_hal_init): new function, init libhal context then add devices
16746                 - (nm_hal_deinit): new function, clean up libhal context
16747                 - (nm_data_free): Move Hal cleanup here
16748                 - (main): check whether Hal is running, and if so, get a list of
16749                         network devices from it
16750
16751         * src/NetworkManagerDbus.c
16752                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16753                         and when it appears, get a list of network devices from it.  If
16754                         Hal goes away, clean up the libhal context
16755
16756 2005-06-22  Robert Love  <rml@novell.com>
16757
16758         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16759           permissions of scripts before executing.
16760
16761 2005-06-21  Robert Love  <rml@novell.com>
16762
16763         * initscript/SUSE/networkmanager: update.
16764         * src/backends/NetworkManagerSuSE.c: cleanup.
16765
16766 2005-06-21  Robert Love <rml@novell.com>
16767
16768         * gnome/applet/applet.c: use menu mnemonics.
16769         * gnome/applet/menu-items.c: (ditto)
16770
16771 2005-06-21  Robert Love  <rml@novell.com>
16772
16773         * applet/applet-dbus-devices.c: mark non-static functions static.
16774         * applet/applet-dbus-vpn.c: (ditto)
16775         * applet/applet.c: (ditto)
16776         * applet/nm-device.h: (ditto)
16777         * applet/other-network-dialog.c: (ditto)
16778         * applet/passphrase-dialog.c: (ditto)
16779         * NetworkManager.c: (ditto)
16780         * NetworkManagerDbus.c: (ditto)
16781         * NetworkManagerDevice.c: (ditto)
16782         * NetworkManagerPolicy.c: (ditto)
16783         * NetworkManagerUtils.c: (ditto)
16784         * NetworkManagerWireless.c: (ditto)
16785         * NetworkManagerWireless.h: (ditto)
16786         * nm-netlink-monitor.c: (ditto)
16787         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16788         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16789         * autoip.c: include autoip.h.
16790         * autoip.h: new file.  define get_autoip().
16791         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16792         * NetworkManagerDbus.h: remove duplicate definitions.
16793
16794 2005-06-20  Robert Love  <rml@novell.com>
16795
16796         * Makefile.am: Add missing intltool-foo.in generated files to
16797           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16798           with the start of stuff to cleanup on 'distclea'.
16799         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16800           stuff right and 'distcheck' works.
16801         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16802           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16803           Makefile.am for each.  And systray/Makefile needs to be redone.
16804
16805 2005-06-19  Dan Williams <dcbw@redhat.com>
16806
16807         * src/NetworkManagerDevice.c
16808         - (nm_device_wireless_process_scan_results): scan every 20s when
16809           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16810
16811 2005-06-19  Dan Williams <dcbw@redhat.com>
16812
16813         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16814
16815 2005-06-18  Ray Strode <rstrode@redhat.com>
16816
16817         * src/nm-netlink-monitor.c 
16818         (nm_netlink_monitor_event_handler): check for the presence
16819         of either error condition not both. 
16820         
16821         (nm_netlink_monitor_error_handler): emit error signal if
16822         error occurs.
16823
16824         (nm_netlink_monitor_event_handler),
16825         (nm_netlink_monitor_error_handler),
16826         (nm_netlink_monitor_disconnect_handler): if an 
16827         assertion fails disconnect the event handler to prevent 
16828         infinite loops.
16829
16830         * src/nm-netlink-monitor.h: add new error condition
16831         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16832
16833 2005-06-18  Ray Strode <rstrode@redhat.com>
16834
16835         * src/nm-netlink-monitor.c 
16836         (nm_netlink_monitor_event_handler): remove bogus < 0
16837         check on unsigned value and return early if the kernel
16838         didn't send any bytes.
16839
16840 2005-06-17  Robert Love  <rml@novell.com>
16841
16842         * initscript/SUSE/networkmanager: Change the Provides and default
16843         run levels
16844
16845 2005-06-16  Dan Williams <dcbw@redhat.com>
16846
16847         Patch from Robert Love:
16848         * gnome/applet/applet.c
16849                 - Beautify some applet menu item names
16850
16851 2005-06-17  David Zeuthen  <davidz@redhat.com>
16852
16853         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16854         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16855         Also add new methods can_export, import_file and export.
16856
16857         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16858         to the main UI
16859
16860         * gnome/vpn-properties/nm-vpn-properties.c:
16861         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16862         nm-vpn-ui-interface.h.
16863         (update_edit_del_sensitivity): Also update "Export" sensitivity
16864         (add_vpn_connection): Also add new SVC_NAME column
16865         (import_settings): New function
16866         (retrieve_data_from_selected_connection): New function
16867         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16868         this function
16869         (export_cb): New function
16870         (init_app): Also setup the "export" widget
16871         (main): Support the --import-service and --import-file commandline
16872         arguments
16873
16874         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16875         D-BUS 0.34
16876
16877 2005-06-16  Dan Williams <dcbw@redhat.com>
16878
16879         Patch from Robert Love:
16880         * gnome/applet/menu-items.c
16881                 - (network_menu_item_new): pass -1 as wireless network
16882                         menu items height size request rather than ascent / 2
16883
16884 2005-06-16  Dan Williams <dcbw@redhat.com>
16885
16886         * Clean up wording in Wireless Scan Methods menu items and constants
16887
16888 2005-06-16  Robert Love  <rml@novell.com>
16889
16890         * po/POTFILES.in
16891                 - remove gtkcell* files
16892
16893 2005-06-15  Dan Williams <dcbw@redhat.com>
16894
16895         Patch from Robert Love: make the applet stetic
16896
16897         * gnome/applet/Makefile.am
16898                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16899
16900         * gnome/applet/gtkcellview.h
16901           gnome/applet/gtkcellview.c
16902           gnome/applet/gtkcellrendererprogress.h
16903           gnome/applet/gtkcellrendererprogress.c
16904                 - Removed
16905
16906         * gnome/applet/menu-items.c
16907                 - Progress bars are 5:1 size ratio
16908                 - Use GTK progress bars rather than internal ones
16909
16910 2005-06-15  Dan Williams <dcbw@redhat.com>
16911
16912         Patch from Robert Love:
16913         * initscript/SUSE/networkmanager
16914                 - Fix typo
16915
16916 2005-06-15  Dan Williams <dcbw@redhat.com>
16917
16918         * src/backends/NetworkManagerSuSE.c
16919           src/backends/NetworkManagerRedHat.c
16920           src/backends/NetworkManagerDebian.c
16921                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16922
16923 2005-06-15  Dan Williams <dcbw@redhat.com>
16924
16925         * src/backends/NetworkManagerDebian.c
16926                 - Add nm_system_device_get_use_dhcp() to debian backend
16927
16928         Patch from Kay Sievers:
16929         * src/backends/NetworkManagerSuSE.c
16930                 - Update debian backend for static IP nameservers
16931
16932         * src/NetworkManagerDevice.c
16933                 - Actually set the device to use static IP or DHCP rather
16934                         than always DHCP
16935
16936 2005-06-15  Dan Williams <dcbw@redhat.com>
16937
16938         Patch from Thom May:
16939         * src/backends/NetworkManagerDebian.c
16940                 - Update debian backend for static IP nameservers
16941
16942 2005-06-15  Dan Williams <dcbw@redhat.com>
16943
16944         Patches from Robert Love:
16945         * gnome/applet/wireless-applet.glade
16946                 - Tighten up wording
16947
16948         * src/NetworkManagerDevice.c
16949                 - Remove misplaced ';'
16950
16951         * configure.in
16952           initscript/Makefile.am
16953           initscript/SUSE/Makefile.am
16954           initscript/SUSE/networkmanager
16955                 - Add SUSE initscript
16956
16957 2005-06-12  David Zeuthen  <davidz@redhat.com>
16958
16959         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16960
16961         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16962
16963         * gnome/vpn-properties/nm-vpn-properties.c: New file
16964
16965         * gnome/vpn-properties/Makefile.am: New file
16966
16967         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16968         array of passwords
16969
16970         * src/vpn-manager/nm-vpn-manager.c
16971         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16972         instead of just a single one
16973
16974         * src/vpn-manager/nm-dbus-vpn.c:
16975         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16976         here
16977         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16978
16979         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16980         Change the interface here to give a list of passwords. Also, don't
16981         require username, but do require service
16982
16983         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16984         the binary for the auth-dialog and use that instead of putting up a
16985         dialog asking for a single password
16986
16987         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16988         however do remember the service
16989
16990         * gnome/applet/main.c (main): Setup i18n
16991
16992         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16993         connection to '%s'" to the tooltip if we are connected using VPN
16994         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16995         key to determine whether we the auth-dialog needs to
16996         reprompt. Also cope with the fact that the auth-dialog now returns
16997         an array of passwords.
16998         (nmwa_menu_configure_vpn_item_activate): New handler for
16999         "Configure VPN..." menu item
17000         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17001         (is_vpn_available): New function to determine if we got any
17002         NM-compatible VPN software installed
17003         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17004         items only if we have NM-compatible VPN software installed
17005         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17006         logic for detecting when VPN connections are removed
17007
17008         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17009         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17010         since these are defined elsewhere
17011
17012         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17013         function used to keep track of whether the last attempt succeded
17014         (nmwa_dbus_filter): Update last_attempt according to whether the
17015         VPN connection could be established or not
17016
17017         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17018         Change prototype to take an array of passwords, not just a single
17019         password
17020
17021         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17022         update service, not user
17023         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17024         dbus_active_vpn_name is not NULL before using it
17025         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17026         string array instead of assuming a single password
17027
17028         * gnome/applet/applet-dbus-info.c:
17029         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17030         user name; don't read from gconf
17031
17032         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17033         VPN_NAME_FILES_DIR
17034
17035         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17036
17037         * configure.in: Add checks for gmodule-2.0.
17038         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17039         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17040         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17041         for details
17042
17043         * vpn-daemons/Makefile.am: Removed
17044
17045         * vpn-daemons/README: New file to describe extensions points for VPN
17046         software
17047
17048 2005-06-10  Dan Williams <dcbw@redhat.com>
17049
17050         * src/backends/NetworkManagerRedHat.c
17051                 - (get_current_profile_name): new function, grab current network profile name from
17052                         /etc/sysconfig/network
17053                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17054                         update an IP4 Config structure's settings from it
17055                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17056                         get DNS info from current network profile
17057
17058 2005-06-09  Dan Williams <dcbw@redhat.com>
17059
17060         Patch from Robert Love:
17061         * src/NetworkManagerDevice.c
17062           src/NetworkManagerUtils.c
17063                 - 64-bit build fixes
17064
17065 2005-06-09  Dan Williams <dcbw@redhat.com>
17066
17067         Patch from Kay Sievers and Robert Love:
17068         * configure.in
17069           src/backends/Makefile.am
17070           src/backends/NetworkManagerSuSE.c
17071                 - Add SuSE support
17072
17073 2005-06-09  Dan Williams <dcbw@redhat.com>
17074
17075         * NetworkManager.h
17076                 - Add NMWirelessScanMethod enum for scan methods
17077
17078         * gnome/applet/applet-dbus-devices.c
17079                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17080                 - (nmwa_dbus_update_scanning_enabled): remove
17081                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17082                         since it got removed
17083                 - (nmwa_dbus_enable_scanning): remove
17084
17085         * gnome/applet/applet-dbus-info.c
17086                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17087                         update the wireless scanning method from NMI
17088                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17089                         method value to NetworkManager
17090                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17091
17092         * gnome/applet/applet-dbus-info.h
17093                 - Add prototype for nmi_dbus_signal_update_scan_method
17094
17095         * gnome/applet/applet.c
17096                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17097                         Wireless Scanning menu based on current wireless scan method
17098                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17099                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17100                         and update our menu items to make sure the right one is checked
17101                 - (nmwa_set_scanning_enabled_cb): remove
17102                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17103                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17104                         Scanning menu item
17105                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17106                         from GConf
17107                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17108                         so we get notified of preference values too
17109                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17110
17111         * gnome/applet/applet.h
17112                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17113                 - Add wireless scan method member to applet data
17114                 - Remove pause_scanning_item, add Wireless Scanning submenu
17115
17116         * src/NetworkManager.c
17117                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17118                 - (main): grab scanning method from NMI if we can
17119
17120         * src/NetworkManagerDbus.c
17121                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17122                         nm_dbus_update_wireless_scan_method()
17123                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17124                         from NMI
17125                 - (nm_dbus_nmi_is_running): redundant function, removed
17126                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17127                         when NMI comes back
17128
17129         * src/NetworkManagerDevice.c
17130                 - (nm_device_is_activated): return TRUE if the device is activated
17131                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17132                         and we are activated
17133
17134         * src/nm-dbus-nm.c
17135                 - (nm_dbus_nm_set_scanning_enabled): removed
17136                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17137                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17138
17139 2005-06-09  Dan Williams <dcbw@redhat.com>
17140
17141         * NetworkManager.h
17142           src/vpn-manager/nm-vpn-service.c
17143                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17144
17145 2005-05-27  Dan Williams <dcbw@redhat.com>
17146
17147         * vpn-daemons/vpnc/nm-vpnc-service.c
17148                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17149                         Should fix the bug where the VPN connection terminates the first time.
17150
17151 2005-05-20  Dan Williams <dcbw@redhat.com>
17152
17153         * NetworkManager.h
17154                 - Differentiate VPN config signals between bad VPN config options
17155                         and bad IP config
17156
17157         * gnome/applet/applet-dbus-info.h
17158                 - Add prototypes for wireless network and vpn connection update functions
17159
17160         * gnome/applet/applet-dbus.c
17161                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17162
17163         * gnome/applet/applet.c
17164                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17165                         error signals
17166                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17167                         propogation to NetworkManager
17168                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17169                         notify propogation to NetworkManager
17170
17171         * src/NetworkManagerDbus.c
17172                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17173                         are updating so a network can be removed from it if necessary
17174
17175         * src/vpn-manager/nm-vpn-manager.c
17176                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17177
17178         * vpn-daemons/vpnc/nm-vpnc-service.c
17179                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17180                 - (nm_vpnc_dbus_signal_launch_failed): remove
17181                 - (nm_vpnc_dbus_signal_connect_failed): remove
17182                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17183                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17184                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17185                         for new generalized error signal function, remove config file stuff
17186                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17187                         we can write configuration options to it
17188                 - (nm_vpnc_config_file_generate): removed
17189                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17190                 - (nm_vpnc_config_options_validate): validate the config options we receive
17191                         from NetworkManager to block potential exploits
17192                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17193                         starting vpnc
17194                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17195                         to NetworkManager
17196
17197 2005-05-16  Dan Williams  <dcbw@redhat.com>
17198
17199         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17200                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17201                         is not "connect"
17202
17203 2005-05-16  Dan Williams  <dcbw@redhat.com>
17204
17205         Patch from Tomislav Vujec <tvujec@redhat.com>
17206         * gnome/applet/applet-dbus-info.c
17207                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17208                         GConf and pass them to NetworkManager.  New key is 'routes' under
17209                         the VPN connection, and should be a string list
17210
17211         * src/NetworkManagerSystem.c
17212                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17213                         set them on the device when we set the rest of the VPN config.  Ensure
17214                         they are in the correct format since they are passed directly to the
17215                         command line.
17216
17217         * src/backends/NetworkManagerRedHat.c
17218           src/backends/NetworkManagerDebian.c
17219                 - (nm_system_device_add_route_via_device_with_iface): new function
17220
17221         * src/vpn-manager/nm-dbus-vpn.c
17222                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17223
17224         * src/vpn-manager/nm-vpn-manager.c
17225                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17226                         them into the IP4 config functions
17227
17228 2005-05-15  Dan Williams  <dcbw@redhat.com>
17229
17230         From Filip Miletic:
17231         * po/sr.po
17232           po/sr@Latn.po
17233           configure.in
17234                 - Serbian translation added
17235
17236 2005-05-15  Dan Williams  <dcbw@redhat.com>
17237
17238         * dispatcher-daemon/NetworkManagerDispatcher.c
17239                 - (main): sync arguments with NetworkManager and the applet, now use
17240                         "--no-daemon" rather than "daemon=no"
17241                 - (nmd_print_usage): Fix script path in usage message
17242
17243 2005-05-15  Dan Williams  <dcbw@redhat.com>
17244
17245         * src/NetworkManagerDevice.[ch]
17246           src/NetworkManagerPolicy.c
17247           src/NetworkManager.c
17248           src/nm-dbus-nm.c
17249                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17250                         longer send the DeviceNoLongerActive signal unconditionally, but only
17251                         when the device is actually active.
17252
17253         * dispatcher-daemon/NetworkManagerDispatcher.c
17254                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17255                         and simplify the logic
17256                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17257                         we free it later on
17258
17259         * initscript/RedHat/Makefile.am
17260           initscript/RedHat/NetworkManagerDispatcher
17261                 - Add initscript for NetworkManagerDispatcher
17262
17263
17264         Patch from Bill Moss:
17265         * dispatcher-daemon/NetworkManagerDispatcher.c
17266                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17267
17268         * src/NetworkManagerDbus.c
17269                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17270                         and DeviceNowActive gets signaled, then the device has a new IP address
17271                         anyway.  There's no need for a separate signal.
17272
17273         * src/NetworkManagerDevice.c
17274                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17275
17276         * src/NetworkManagerPolicy.c
17277                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17278                         activates successfully.  This kind of went missing when I reworked the
17279                         activation code.
17280
17281 2005-05-15  Dan Williams  <dcbw@redhat.com>
17282
17283         * configure.in
17284                 - Check for dhcdbd and error if its not found
17285
17286         * src/dhcp-manager/Makefile.am
17287           src/dhcp-manager/nm-dhcp-manager.c
17288                 - Use path to dhcdbd that configure found
17289
17290 2005-05-14  Dan Williams  <dcbw@redhat.com>
17291
17292         * gnome/applet/nm-device.c
17293                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17294                         sort wireless networks alphabetically
17295
17296         * gnome/applet/applet-dbus-devices.c
17297                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17298                         before copying them over to the GUI
17299
17300 2005-05-14  Dan Williams  <dcbw@redhat.com>
17301
17302         * src/NetworkManager.c
17303                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17304                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17305                         the device list, as does nm_get_active_device() which is called from
17306                         nm_vpn_manager_deactivate_vpn_connection().
17307
17308 2005-05-14  Dan Williams  <dcbw@redhat.com>
17309
17310         * NetworkManager.h
17311                 - Add signals for VPN Launch and Connect failures
17312
17313         * gnome/applet/applet-dbus.c
17314                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17315
17316         * gnome/applet/applet.c
17317                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17318                         function to handle all VPN failure messages
17319                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17320                         function to hanlde all VPN failure  messages
17321                 - (show_warning_dialog): work around focus-stealing prevention
17322
17323         * gnome/applet/other-network-dialog.c
17324           gnome/applet/passphrase-dialog.c
17325                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17326                         problem where it never enabled for ASCII Key and Hex Key types
17327
17328         * gnome/applet/wireless-applet.glade
17329                 - Add window title to Other Wireless Network Dialog
17330
17331         * src/vpn-manager/nm-dbus-vpn.c
17332                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17333                         function to handle all VPN failure messages
17334
17335         * src/vpn-manager/nm-vpn-manager.c
17336                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17337
17338         * vpn-daemons/vpnc/nm-vpnc-service.c
17339                 - (nm_vpnc_dbus_signal_launch_failed): new function
17340                 - (nm_vpnc_dbus_signal_connect_failed): new function
17341                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17342                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17343                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17344                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17345
17346 2005-05-11  Dan Williams  <dcbw@redhat.com>
17347
17348         * vpn-daemons/vpnc/nm-vpnc-service.c
17349                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17350                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17351                         file exists before trying to write it out.
17352
17353 2005-05-10  Dan Williams  <dcbw@redhat.com>
17354
17355     * gnome/applet/applet-dbus-device.c
17356         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17357             prevented just entering ESSID and leaving key and key type up to
17358             NetworkManager (which should have them already cached)
17359
17360 2005-05-08  Dan Williams  <dcbw@redhat.com>
17361
17362         * src/NetworkManagerPolicy.c
17363                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17364                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17365                         fix a situation where NM is told to terminate and the device stops activation,
17366                         but the main thread isn't aware of that because it would never have run
17367                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17368                         had already quit.
17369
17370         * src/NetworkManagerDevice.c
17371                 - (nm_device_probe_wired_link_state): cosmetic fixes
17372                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17373                         we've failed to activate or been canceled.
17374                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17375
17376 2005-05-08  Dan Williams  <dcbw@redhat.com>
17377
17378         * src/NetworkManagerWireless.c
17379                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17380                         value of WEXT quality structures, and add a debug message when we cannot
17381                         determine any quality % at all
17382
17383 2005-05-08  Dan Williams  <dcbw@redhat.com>
17384
17385         * src/dhcp-manager/nm-dhcp-manager.c
17386                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17387                         it goes down.
17388
17389 2005-05-06  Dan Williams  <dcbw@redhat.com>
17390
17391         * gnome/applet/applet-dbus-device.c
17392           gnome/applet/applet-dbus-info.c
17393           gnome/applet/applet-dbus.c
17394           gnome/applet/applet.c
17395           gnome/applet/applet.h
17396                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17397
17398         * gnome/applet/applet-dbus.c
17399                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17400                         so we notice when wired device's carriers come back on.  Should
17401                         fix issue with wired devices being grayed out even if the cable
17402                         is in, for devices that support carrier detection.
17403
17404         * gnome/applet/applet.c
17405                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17406                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17407                         tooltip message
17408                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17409                         Fix situation where applet wouldn't respond to menu selections
17410
17411         * src/NetworkManager.c
17412           src/NetworkManagerDevice.c
17413           src/NetworkManagerDbus.c
17414           src/NetworkManagerDbus.h
17415                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17416
17417         * src/NetworkManagerDbus.c
17418                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17419                         Remove, no longer used or relevant
17420                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17421                 - (nm_dbus_schedule_device_status_change_signal): add
17422
17423         * src/NetworkManagerDevice.c
17424                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17425                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17426                         ie don't deactivate them unless explicitly told to by the user.  Also send
17427                         CARRIER_OFF / CARRIER_ON signals when link changes
17428                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17429                         Don't print error message when device is no longer around
17430                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17431                         not just during activation
17432
17433         * src/NetworkManagerPolicy.c
17434                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17435                         auto-device-selection.
17436                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17437
17438         * src/NetworkManagerSystem.c
17439                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17440                         is no longer present (Bill Moss)
17441
17442         * src/backends/shvar.c
17443                 - (svOpenFile): Open read-only to make SELinux happy
17444
17445         * src/backends/NetworkManagerRedHat.c
17446                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17447                         the path to the ifcfg-* files
17448
17449 2005-05-05  Dan Williams  <dcbw@redhat.com>
17450
17451         * Expose activation stages to NetworkManager clients, like the applet
17452         * Add Diana's progress icons to the applet, cued off NM activation stage
17453         * Use more descriptive tooltips, cued off NM activation stage
17454
17455 2005-05-05  Ray Strode  <rstrode@redhat.com>
17456
17457         * src/nm-netlink-monitor.c:
17458                 - Use clear_event_source instead of g_nullify_pointer() again.
17459
17460 2005-05-05  Dan Williams  <dcbw@redhat.com>
17461
17462         * gnome/applet/main.c
17463                 - Fix session management so the applet is actually managed now
17464
17465         * gnome/applet/passphrase-dialog.c
17466                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17467
17468 2005-05-05  Dan Williams  <dcbw@redhat.com>
17469
17470         Patch from Bill Moss:
17471         * gnome/libnm_glib/libnm_glib.c
17472                 - Fix for dbus-0.33
17473
17474 2005-05-05  Dan Williams  <dcbw@redhat.com>
17475
17476         Suggestion from Bill Moss:
17477         * src/NetworkManagerSystem.c
17478                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17479
17480
17481         * src/NetworkManager.c
17482                 - (nm_data_free): move destruction of the various managers after
17483                         release of device list, because deactivating and freeing a device
17484                         requires at least the named manager
17485                 - (nm_poll_and_update_wireless_link_state):
17486                   (nm_device_link_activated):
17487                   (nm_device_link_deactivated):
17488                         don't grab the device list lock when actually updating device
17489                         link status or strength, since nm_device_set_link_active()
17490                         needs to call nm_get_active_device(), which also locks the device list.
17491
17492         * src/NetworkManagerDevice.c
17493                 - (nm_device_set_link_active): if a device's link switches from off->on,
17494                         and it's wired, and the active device is wireless (or there is no
17495                         active device), activate the new device whose link just came on
17496                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17497                         my only calling the link to the current ap "failed" when more than 2
17498                         consecutive link checks have failed
17499
17500 2005-05-04  Dan Williams  <dcbw@redhat.com>
17501
17502         * src/NetworkManagerDevice.c
17503                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17504                         but let link_to_specific_ap() do the locking where it needs
17505
17506         Patch from Bill Moss:
17507         * src/NetworkManagerSystem.c
17508                 - Set MTU of VPN devices to 1412
17509
17510 2005-05-04  Dan Williams  <dcbw@redhat.com>
17511
17512         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17513
17514         * Fix some holes in device activation and retaining the currently connected
17515                 access point
17516
17517 2005-05-03  Dan Williams  <dcbw@redhat.com>
17518
17519         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17520           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17521           means you need dhcdbd, which you can get here (get the latest one):
17522
17523                 http://people.redhat.com/jvdias/dhcdbd/
17524
17525           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17526           interface as dhcdbd.
17527
17528         * Rewrite device activation to facilitate the new DHCP infrastructure and
17529           future improvements.  Its now "activation request" based, ie there is a single
17530           activation request composed of the device, access point, and other info which
17531           follows the entire activation process.  There are 5 stages of the activation
17532           process which correspond to:
17533
17534                 1) Device preparation
17535                 2) Device configuration (bring it up, set ESSID/Key/etc)
17536                 3) IP Config Start (fire off DHCP if we're using it)
17537                 4) IP Config Get (grab config from DHCP or static config files)
17538                 5) IP Config Commit (set device's IP address, DNS, etc)
17539
17540           Note that there is no longer a "scanning" step, since the access point must
17541           be known _before_ activation starts.  If the access point drops out or does
17542           not exist for some reason, the entire activation process fails and must be
17543           restarted for a different access point or device.
17544
17545         Patch from Bill Moss:
17546         * gnome/applet/applet.c
17547                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17548
17549 2005-04-27  Dan Williams  <dcbw@redhat.com>
17550
17551         * gnome/applet/applet-dbus-vpn.c
17552           gnome/applet/applet.c
17553           gnome/applet/applet.h
17554                 - Fix up active VPN handling so that we reliably know when a VPN
17555                         connection has been deactivated
17556
17557         * src/vpn-manager/nm-vpn-manager.c
17558                 - Remove duplicate VPNConnectionChange signal
17559
17560 2005-04-27  Dan Williams  <dcbw@redhat.com>
17561
17562         Patch from Peter Jones:
17563         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17564
17565         Patch from Bill Moss:
17566         * src/NetworkManagerSystem.c
17567                 - Fix checking of return value from ioctl()
17568
17569 2005-04-27  Dan Williams  <dcbw@redhat.com>
17570
17571         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17572         * Warn and exit if icons cannot be found
17573
17574 2005-04-27  Dan Williams  <dcbw@redhat.com>
17575
17576         Patch from Tom Parker:
17577         * Update debian backend
17578
17579 2005-04-27  Dan Williams  <dcbw@redhat.com>
17580
17581         * Merge the applet and the info-daemon, and move the converged
17582                 applet under gnome/applet
17583         * Move libnm_glib to gnome/libnm_glib
17584         * Convert most dbus calls between the applet, info-daemon, and NM
17585                 into async calls
17586         * Fix a few things valgrind noticed
17587         * Make NM broadcast state more reliably
17588
17589 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17590
17591         * configure.in: Added ne in ALL_LINGUAS
17592
17593 2005-04-15  Dan Williams  <dcbw@redhat.com>
17594
17595         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17596                 code for dbus 0.2x versions
17597
17598 2005-04-15  Dan Williams  <dcbw@redhat.com>
17599
17600         Patches from Tom Parker:
17601         - Fix memleaks
17602         - Join with worker thread rather than polling for its exit
17603
17604         Patch from Bill Moss:
17605         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17606
17607 2005-04-15  Dan Williams  <dcbw@redhat.com>
17608
17609         - Fixes to pass 'make distcheck'
17610
17611 2005-04-15  Dan Williams  <dcbw@redhat.com>
17612
17613         Initial VPN Support
17614                 - supports 'vpnc'
17615                 - reworks device IP configuration, backend files have changed and will need
17616                         to be updated for all distributions.  I will try to do what I can for
17617                         them, but I cannot test them.
17618
17619         - Move named directory to src/named-manager
17620         - Make backends directory self-contained
17621
17622 2005-04-06  Dan Williams  <dcbw@redhat.com>
17623
17624         Add debug code for socket/file descriptor leaks.  We register every socket
17625         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17626         list of sockets that we forgot to close on shutdown.  This also consolidates
17627         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17628
17629 2005-04-06  Dan Williams  <dcbw@redhat.com>
17630
17631         * dhcpcd/dhcpcd.c
17632                 - (dhcp_interface_free): fix a file descriptor leak that may have
17633                         caused network drivers to not unload due to refcounts > 0
17634
17635 2005-04-04  Dan Williams  <dcbw@redhat.com>
17636
17637         * panel-applet/NMWirelessAppletDbus.c
17638                 - (nmwa_dbus_call_nm_method): remove some commented code
17639
17640         * src/NetworkManagerAPList.[ch]
17641                 - (nm_ap_list_remove_ap_by_essid): new function
17642
17643         * src/NetworkManagerDevice.c
17644                 - (nm_device_wireless_force_use): remove access points from the ignore list
17645                         when the user forces them
17646
17647         * src/nm-dbus-device.c
17648                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17649
17650 2005-04-04  Dan Williams  <dcbw@redhat.com>
17651
17652         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17653
17654 2005-04-04  Dan Williams  <dcbw@redhat.com>
17655
17656         * src/NetworkManagerDevice.c:
17657                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17658                         of only erroring after the second consecutive scan times out.  Also
17659                         don't exit when the card requires more time than we can give it, just
17660                         log the event and continue.
17661
17662 2005-04-01  Steve Murphy  <murf@e-tools.com>
17663
17664         * configure.in: Added "rw" to ALL_LINGUAS.
17665
17666 2005-04-01  Dan Williams <dcbw@redhat.com>
17667
17668         Perform scans during device activation, if needed.  Both activation 
17669         and scans run in the same GMainContext.  Therefore, if an access point
17670         is not found by the time the device starts activation, it will not
17671         be available until after activation.  We now try to scan during
17672         activation (in nm_wa_test) every 15s so that all available access
17673         points are more likely to be found and available for the activation
17674         procedure.
17675
17676         Also change nm_wireless_link_state_handle() to only update the "best"
17677         AP if we are not forcing a device and if we are not about to change
17678         state.  This attempts to work around a race when forcing a device,
17679         where the forced AP would get cleared out too soon by the link state
17680         checking timeout in the main thread, and the activation attempt with
17681         that AP would fail.
17682
17683 2005-04-01  Dan Williams <dcbw@redhat.com>
17684
17685         * po/POTFILES.in
17686                 - Update with new translatables
17687
17688 2005-03-31  Dan Williams <dcbw@redhat.com>
17689
17690         * panel-applet/NMWirelessAppletDbus.c
17691                 - Fix device names now that hal has changed device parenting for
17692                         network devices.
17693
17694 2005-03-31  Dan Williams <dcbw@redhat.com>
17695
17696         Tighten up handling of wireless devices that don't support wireless
17697         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17698         hadn't been doing pseudo-scanning for a while either and would just
17699         spin waiting for an access point.  They are now manual devices where
17700         the user must choose the access point from the menu every time.  All
17701         "allowed" access points are listed in the applet's menu regardless
17702         of whether or not they can be seen by the card, since it can't scan
17703         anyway.
17704
17705         * src/NetworkManager.c
17706                 - (nm_wireless_link_state_handle): new function, but only update
17707                         the "best" ap for non-scanning devices when its not activating,
17708                         and when no device is being forced on the card
17709                 - (nm_link_state_monitor): split wireless link state handling out
17710                         into separate function
17711
17712         * src/NetworkManagerDevice.c
17713                 - (nm_device_copy_allowed_to_dev_list): new function
17714                 - (nm_device_new): populate non-scanning cards' AP lists with
17715                         access points from the "allowed" list
17716                 - (nm_device_new): don't start a scanning timeout for devices that
17717                         can't scan
17718                 - (nm_device_activation_schedule_finish): new parameter, should be
17719                         the AP that failed to be connected to, pass it on to the
17720                         activation finish function in NetworkManagerPolicy.c
17721                 - (nm_device_activate_wireless): don't ever try to get a new AP
17722                         for non-scanning devices, just fail.  The user must choose
17723                         a new access point manually.
17724                 - (nm_device_activate): grab the AP that failed connection and
17725                         pass it on
17726                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17727                         a link to it, user must manually choose a new one
17728                 - (nm_device_do_pseudo_scan): remove function
17729                 - (nm_device_wireless_process_scan_results): remove bits for non-
17730                         scanning cards since they never get here
17731                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17732                         and fake the scan list for test devices a bit earlier
17733
17734         * src/NetworkManagerPolicy.c
17735                 - (nm_policy_activation_finish): use the failed_ap that we get
17736                         passed rather than getting the best_ap from the card, which
17737                         may have changed since we were scheduled
17738                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17739                         update their scan list directly from the allowed list when
17740                         we get updates to the allowed list from NetworkManagerInfo
17741
17742         * src/NetworkManagerPolicy.h
17743                 - New member for failed access point in NMActivationResult
17744
17745   -------------------------------------
17746
17747         Driver Notification patch: notifies the user when their driver
17748                 sucks.  Gives them the option to ignore further insertions
17749                 of the card that has the sucky driver.
17750
17751         * NetworkManager.h
17752                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17753                         enum and replace it with NO_CARRIER_DETECT and
17754                         NO_WIRELESS_SCAN
17755
17756         * panel-applet/NMWirelessApplet.[ch]
17757                 - Merge essid.glade -> wireless-applet.glade
17758                 - Implement the "Your driver sucks" notification dialog
17759
17760         * panel-applet/NMWirelessAppletDbus.c
17761                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17762                 - Grab hardware address for each device from NM too
17763                 - Check whether the driver for each device sucks or not whenever
17764                         a new device is noticed
17765
17766         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17767                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17768
17769         * src/NetworkManager.c
17770                 - Fix a double-unref on device removal
17771
17772         * src/NetworkManagerUtils.c
17773                 - Set appropriate driver support level on a device that doesn't
17774                         support scanning or carrier detection
17775
17776         * src/nm-dbus-device.c
17777                 - New "getHWAddress" dbus method on devices
17778                 - getSupportsCarrierDetect -> getDriverSupportLevel
17779
17780 2005-03-31  Dan Williams <dcbw@redhat.com>
17781
17782         * src/NetworkManagerDevice.c
17783                 - (nm_device_wireless_scan): Fix leak of scan results in some
17784                         instances
17785
17786 2005-03-29  Dan Williams <dcbw@redhat.com>
17787
17788         * src/NetworkManager.c
17789                 - (nm_poll_and_update_wireless_link_state): make code less indented
17790
17791         Patch from Bill Moss:
17792         * src/NetworkManager.c
17793                 - (nm_device_update_link_state): Update signal strength on wireless
17794                         devices every time we update link state too.
17795
17796 2005-03-29  Dan Williams <dcbw@redhat.com>
17797
17798         * src/NetworkManagerDevice.c
17799                 - (nm_device_set_essid): Work around Orinoco cards which need
17800                         extra time after setting the ESSID
17801
17802 2005-03-29  Dan Williams <dcbw@redhat.com>
17803
17804         * src/NetworkManagerDevice.c
17805                 - Merge one more bit of Peter Jones' completion patch
17806
17807 2005-03-29  Dan Williams <dcbw@redhat.com>
17808
17809         * src/NetworkManagerDevice.c
17810                 - (nm_device_force_use): Fix possible segfault
17811
17812 2005-03-29  Dan Williams <dcbw@redhat.com>
17813
17814         * src/NetworkManagerDevice.c
17815                 - Use iw_get_ext() where we should rather than iw_set_ext()
17816
17817 2005-03-29  Dan Williams <dcbw@redhat.com>
17818
17819         * src/NetworkManagerDevice.c
17820                 - (nm_device_set_up_down): remove check for unsupported devices
17821                         that caused NM to not bring devices up when they were
17822                         added to the device list.
17823
17824 2005-03-28  Dan Williams <dcbw@redhat.com>
17825
17826         * src/NetworkManagerDevice.c
17827                 - (mdio_read): Fix two bugs that caused all devices to fail
17828                         the MII carrier detection support checks
17829
17830 2005-03-26  Dan Williams <dcbw@redhat.com>
17831
17832         * src/NetworkManagerDevice.c
17833                 - (nm_device_wireless_scan): Remove duplicated scanning code
17834
17835 2005-03-25  Dan Williams <dcbw@redhat.com>
17836
17837         * panel-applet/NMWirelessApplet.c
17838                 - (nmwa_about_cb): Add some more contributors
17839                 - (nmwa_update_state): show the applet when there's no connection
17840                 - Enable the "Stop/Resume all wireless devices" option in the
17841                         context menu
17842                 - New "no connection" icon
17843
17844         * src/NetworkManager.c
17845                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17846                         wireless is disabled or we're asleep
17847
17848         * src/NetworkManagerDHCP.c
17849                 - Remove trailing "\n" on debug messages
17850
17851         * src/NetworkManagerDbus.c
17852                 - (nm_dbus_network_status_from_data): new state "asleep"
17853
17854         * src/NetworkManagerDevice.c
17855                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17856                         latency and wait times for most operations
17857                 - (nm_device_wireless_scan): Don't scan when asleep
17858
17859         * src/NetworkManagerPolicy.c
17860                 - (nm_policy_get_best_device): return no device when asleep
17861                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17862                         for all wireless devices on update, not just active device
17863
17864         * src/NetworkManagerUtils.c
17865                 - Merge Peter Jones' "completion" patch
17866
17867         * src/nm-dbus-nm.c
17868                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17869                         we're told to disable them
17870                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17871
17872         * utils/nm-utils.h
17873                 - New variants of the warn/info/error/debug print functions that can take
17874                         variables rather than static strings
17875
17876 2005-03-24  Dan Williams <dcbw@redhat.com>
17877
17878         * src/NetworkManagerUtils.c
17879                 - (nm_get_device_driver_name): driver names are now on the parents of
17880                         "Network Interface" objects, so look for them there
17881
17882 2005-03-24  Dan Williams <dcbw@redhat.com>
17883
17884         * test/nmtest.c
17885                 - Escape some forgotten object paths before we shove them through dbus
17886
17887 2005-03-24  Dan Williams <dcbw@redhat.com>
17888
17889         * dhcpcd/dhcpcd.[ch]
17890           src/NetworkManagerDHCP.c
17891                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17892                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17893
17894         * src/NetworkManagerDbus.c
17895                 - spacing cleanups
17896
17897         * src/nm-dbus-dhcp.c
17898                 - Make the API suck less.  There is now only 1 type of each function,
17899                         ie only "getInteger" and no longer also "getIntegerv".  All types
17900                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17901                         that will never have more than 1 element.  This should simplify
17902                         things greatly.
17903
17904         * test/nm-dhcp-opt-test.c
17905                 - Make the tool not segfault
17906                 - adapt to new DHCP Options API
17907
17908 2005-03-22  Dan Williams <dcbw@redhat.com>
17909
17910         * src/NetworkManager.c
17911                 - (nm_wired_link_deactivated): actually ignore netlink events from
17912                         wireless devices.
17913
17914 2005-03-22  Dan Williams <dcbw@redhat.com>
17915
17916         * src/NetworkManager.c
17917                 - (nm_wired_link_activated): actually ignore netlink events from
17918                         wireless devices.
17919
17920 2005-03-17  Dan Williams <dcbw@redhat.com>
17921
17922         Patch from Tom Parker:
17923         * src/nm-netlink-monitor.c
17924                 - Include unistd.h
17925         * info-daemon/NetworkManagerInfoDbus.c
17926                 - (nmi_dbus_update_network_auth_method): free GConf values
17927
17928         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17929         * src/NetworkManagerDevice.c
17930                 - (nm_device_set_wireless_config): wait for successful
17931                         association longer for some cards (Atheros a/b/g)
17932
17933 2005-03-15  Ray Strode  <rstrode@redhat.com>
17934
17935         * src/NetworkManager.c:
17936         (sigterm_pipe_handler):
17937         remove bogus FIXME
17938
17939 2005-03-15  Ray Strode  <rstrode@redhat.com>
17940
17941         * src/NetworkManagerDbus.c:
17942         Fix some sign weirdness that gcc4 doesn't like,
17943         and add a header file so PPC can hopefully find
17944         SIGTRAP
17945
17946 2005-03-14  Ray Strode  <rstrode@redhat.com>
17947         
17948         Fourth (probably working) cut at porting to
17949         dbus 0.30 api and new hal. This cut adds
17950         some new logging macros to make debugging
17951         easier.
17952
17953         * dispatcher-daemon/NetworkManagerDispatcher.c:
17954         * info-daemon/NetworkmanagerInfo.c:
17955         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17956         * info-daemon/NetworkManagerInfoVPN.c:
17957         * src/NetworkManager.c:
17958         * src/NetworkManagerAP.c:
17959         * src/NetworkManagerAPList.c:
17960         * src/NetworkManagerDHCP.c:
17961         * src/NetworkManagerDbus.c:
17962         * src/NetworkManagerDevice.c:
17963         * src/NetworkManagerPolicy.c:
17964         * src/NetworkManagerSystem.c:
17965         * src/NetworkManagerUtils.c:
17966         * src/NetworkManagerWireless.c:
17967         * src/autoip.c:
17968         * src/nm-dbus-nm.c:
17969         * src/backends/NetworkManagerDebian.c:
17970         * src/backends/NetworkManagerGentoo.c:
17971         * src/backends/NetworkManagerRedHat.c:
17972         * src/backends/NetworkManagerSlackware.c:
17973         use new logging macros.
17974
17975         * dispatcher-daemon/NetworkManagerDispatcher.c:
17976         (nmd_dbus_filter): s/dbus_free/g_free/
17977
17978         * info-daemon/Makefile.am: link in utils library.
17979         * info-daemon/NetworkmanagerInfo.c: use new logging 
17980         macros.
17981         (nmi_dbus_get_network): don't assume enumerations
17982         are 32-bit.
17983         (nmi_dbus_nmi_message_handler): don't free what 
17984         doesn't belong to us.
17985
17986         * libnm_glib/libnm_glib.c:
17987         (libnm_glib_get_nm_status): 
17988         (libnm_glib_init): don't free what doesn't
17989         belong to us.
17990         (libnm_glib_dbus): strdup result, so it doesn't get
17991         lost when message is unref'd.
17992
17993         * panel-applet/NMWirelessAppletDbus.c:
17994         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17995
17996         * src/NetworkManager.c:
17997         (nm_monitor_wired_link_state): request initial status 
17998         dump of all cards when we start up, instead of relying
17999         on /sys/.../carrier.
18000         (nm_info_handler), (nm_set_up_log_handlers): 
18001         log handlers to specify what syslog priorites 
18002         the logging macros default to.
18003
18004         * src/NetworkManagerAPList.c: 
18005         (nm_ap_list_populate_from_nmi):
18006         s/dbus_free_string_array/g_strfreev/
18007
18008         * src/NetworkManagerDbus.c:
18009         (nm_dbus_get_network_object):
18010         validate d-bus message argument types.
18011         Advance message iterator after reading argument,
18012         prepend instead of append to GSList.
18013
18014         * src/NetworkManagerDevice.c:
18015         (nm_device_probe_wired_link_status):
18016         remove redundant /sys in /sys path. remove wrong
18017         contents == NULL means has carrier assumption.
18018
18019         * src/nm-netlink-monitor.c 
18020         (nm_netlink_monitor_request_status): implement
18021         function to ask kernel to dump interface link
18022         status over netlink socket.
18023
18024         * test/*.c: s/dbus_free/g_free/
18025
18026         * utils/nm-utils.h:
18027         (nm_print_backtrace): new macro to print backtrace.
18028         (nm_get_timestamp): new macro to get sub-second precise
18029         unix timestamp.
18030         (nm_info), (nm_debug), (nm_warning), (nm_error):
18031         new logging functions. nm_info just prints,
18032         nm_debug includes timestamp and function,
18033         nm_warning includes function, nm_error includes
18034         backtrace and sigtrap.
18035
18036 2005-03-11  Ray Strode  <rstrode@redhat.com>
18037
18038         Third (unfinished, partially working) cut at porting to 
18039         dbus 0.30 api and new hal.
18040
18041         * info-daemon/NetworkManagerInfoDbus.c:
18042                 don't free null arrays.
18043
18044         * panel-applet/NMWirelessAppletDbus.c: 
18045         * src/nm-dbus-device.c:
18046         * src/nm-dbus-net.c: 
18047         * src/NetworkManagerDbus.c: more 
18048         STRING -> OBJECT_PATH fun
18049         * src/NetworkManagerDevice.c:
18050         * src/NetworkManagerDevice.h:
18051         (rename nm_device_get_link_active): rename to 
18052         nm_device_has_active_link
18053         (nm_device_wireless_link_active): rename to
18054         nm_device_probe_wireless_link_state
18055         (nm_device_wired_link_active): rename to
18056         nm_device_probe_wired_link_state.  Rewrite to
18057         use carrier file since hal doesn't maintain
18058         link state anymore.
18059         (nm_device_update_link_active): rename to
18060         nm_device_update_link_state
18061         * src/NetworkManagerPolicy.c 
18062           (nm_policy_activation_finish): check for NULL
18063           MAC address.
18064
18065         * src/Makefile.am:
18066         * src/NetworkManagerMain.h: 
18067         * src/NetworkManager.c:
18068         * src/nm-netlink-monitor.c:
18069         * src/nm-netlink-monitor.h: New class to support
18070         monitoring wired ethernet link status, since HAL
18071         doesn't export that information anymore.
18072
18073 2005-03-09  Ray Strode  <rstrode@redhat.com>
18074
18075         Second (unfinished, unworking) cut at porting to 
18076         dbus 0.30 api.
18077
18078         * dispatcher-daemon/NetworkManagerDispatcher.c:
18079         * info-daemon/NetworkManagerInfoDbus.c:
18080         * panel-applet/NMWirelessAppletDbus.c:
18081         * src/NetworkManagerDbusUtils.c:
18082         * src/NetworkManagerDbusUtils.h:
18083         * src/nm-dbus-device.c:
18084         * src/nm-dbus-nm.c:
18085         * test/nmtest.c: support dbus "object path" type
18086
18087         * configure.in: 
18088         * Makefile.am:
18089         * info-daemon/Makefile.am:
18090         * libnm_glib/Makefile.am:
18091         * panel-applet/Makefile.am:
18092         * dispatcher-daemon/Makefile.am
18093         * src/Makefile.am:
18094         * test/Makefile.am:
18095         * utils/Makefile.am: 
18096         * utils/nm-utils.c: 
18097         * utils/nm-utils.h: new utils static lib
18098
18099 2005-03-07  Ray Strode  <rstrode@redhat.com>
18100
18101         * info-daemon/NetworkManagerInfoDbus.c:
18102         * libnm_glib/libnm_glib.c:
18103         * panel-applet/NMWirelessAppletDbus.c:
18104         * src/NetworkManager.c:
18105         * src/NetworkManagerDbus.c:
18106         * src/NetworkManagerDevice.c:
18107         * src/NetworkManagerUtils.c:
18108         * src/nm-dbus-device.c:
18109         * src/nm-dbus-dhcp.c:
18110         * src/nm-dbus-net.c:
18111         * src/nm-dbus-nm.c:
18112         * test/nminfotest.c:
18113         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18114
18115 2005-03-04  Dan Williams  <dcbw@redhat.com>
18116
18117         * configure.in
18118                 - Mark HEAD as 0.4
18119
18120 2005-03-04  Dan Williams  <dcbw@redhat.com>
18121
18122         Patch from Peter Jones:
18123         - Make stuff work with gcc 4.0
18124
18125 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18126
18127         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18128
18129 2005-02-27  Jim Huang  <jserv@kaffe.org>
18130
18131         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18132
18133 2005-02-27  Dan Williams  <dcbw@redhat.com>
18134
18135         Patch from Bill Moss:
18136         * panel-applet/NMWirelessAppletDbus.c
18137                 - Make sure strength for current access point is up-to-date when we
18138                         update the gui data model
18139
18140 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18141
18142         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18143
18144 2005-02-27  Dan Williams  <dcbw@redhat.com>
18145
18146         * src/backends/NetworkManagerRedHat.c
18147                 - (nm_system_init): Kill any dhclient processes lying around as well
18148                         as stopping 'nifd' if its already been started.  NetworkManager
18149                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18150
18151 2005-02-27  Dan Williams  <dcbw@redhat.com>
18152
18153         * panel-applet/NMWirelessApplet.c
18154                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18155                         dbus data model, not the GUI data model twice.
18156
18157 2005-02-27  Dan Williams  <dcbw@redhat.com>
18158
18159         * panel-applet/NMWirelessApplet.[ch]
18160           panel-applet/NMWirelessAppletDbus.[ch]
18161                 - Move to incremental network updates.  Instead of blowing away our list
18162                         of devices every time we get a signal from NetworkManager, we now
18163                         incrementally add/remove networks when NetworkManager notifies us that
18164                         a new network has appeared or disappered.  Strength updates now happen
18165                         on-the-fly for each access point as well.  There are now two copies of
18166                         data from NetworkManager: one for the dbus side, and one for the gui side.
18167                         When the dbus side data is modified, it is copied over to the gui side
18168                         so we don't have to hold the data_mutex for long periods of time (and
18169                         therefore block animation of the applet's icon).
18170                 - Clean up some memleaks too
18171
18172         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18173                 - Minor code beautification
18174
18175         * src/NetworkManagerAPList.c
18176                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18177                         completely new and whether or not an existing one's strength was updated.
18178                         Try to fix multiple access points and signal strength by using the highest
18179                         signal strength in each scan for any given ESSID.
18180
18181         * src/NetworkManagerDbus.[ch]
18182                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18183                         wireless networks; now we have only WirelessNetworkUpdate which includes
18184                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18185                 - Kill usage of DbusMessageIter
18186
18187         * src/NetworkManagerDevice.c
18188                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18189                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18190                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18191                         currently associated with from the network list.
18192                 - Update for new signals during scan, send out Appeared, Disappeared, or
18193                         StrengthChanged when necessary.
18194
18195 2005-02-25  Dan Williams  <dcbw@redhat.com>
18196
18197         * README
18198                 - Line break the README
18199
18200 2005-02-25  Dan Williams  <dcbw@redhat.com>
18201
18202         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18203                 - Remove usage of gtk_window_set_default_size()
18204
18205         * panel-applet/essid.glade
18206                 - Stick default size here
18207                 - Add in random crap that current glade wants to add in now
18208
18209 2005-02-25  Dan Williams  <dcbw@redhat.com>
18210
18211         * src/backends/NetworkManagerRedHat.c
18212                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18213                         and that we actually tell nscd to reload the hosts cache when it changes
18214
18215 2005-02-25  Dan Williams  <dcbw@redhat.com>
18216
18217         * info-daemon/NetworkManagerInfoDbus.c
18218                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18219
18220         * test/nminfotest.c
18221                 - Whack usage of DbusMessageIter
18222                 - Clean up DbusError and DbusMessage handling and freeing
18223                 - Remove unused unregister handler
18224
18225         * test/nmtest.c
18226                 - Whack usage of DbusMessageIter
18227
18228         * test/nmtestdevices.c
18229                 - Whack usage of DbusMessageIter
18230
18231 2005-02-25  Dan Williams  <dcbw@redhat.com>
18232
18233         * NetworkManager.h
18234                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18235                         signal
18236
18237 2005-02-25  Dan Williams  <dcbw@redhat.com>
18238
18239         * named/nm-named-manager.c
18240                 - Ensure that pid and watch variables for child named process get cleared out
18241                         when the child goes away.
18242
18243 2005-02-22  Dan Williams  <dcbw@redhat.com>
18244
18245         * src/NetworkManagerPolicy.c
18246                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18247                         and NULL out data->active_device so that we have to choose another one.
18248                         This may make NetworkManager keep attempting to connect to a wired network
18249                         if it fails, but if it keeps failing the wired network has more problems than
18250                         just NetworkManager.
18251
18252         * src/backends/NetworkManagerRedHat.c
18253                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18254                         is already running
18255
18256         * named/nm-named-manager.c
18257                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18258                         named so that the distro can flush whatever name service caching
18259                         daemon it uses
18260
18261 2005-02-21  Dan Williams  <dcbw@redhat.com>
18262
18263         * src/NetworkManagerDHCP.[ch]
18264                 - (nm_device_dhcp_remove_timeouts): new function
18265
18266         * src/NetworkManagerDevice.c
18267                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18268                         remove the DHCP timeouts.
18269
18270 2005-02-21  Dan Williams  <dcbw@redhat.com>
18271
18272         * panel-applet/NMWirelessApplet.[ch]
18273           panel-applet/menu-info.[ch]
18274                 - Give the panel applet some major love: menu items are no longer
18275                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18276                         This allows the applet to actually reflect theme changes correctly,
18277                         since themeing of subclassed items in GTK _sucks_.
18278
18279 2005-02-18  Dan Williams  <dcbw@redhat.com>
18280
18281         * libnm_glib/libnm_glib.[ch]
18282           test/libnm_glib_test.c
18283                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18284                         and its data, and doesn't have to free the callback data anymore
18285
18286 2005-02-18  Dan Williams  <dcbw@redhat.com>
18287
18288         * panel-applet/NMWirelessApplet.c
18289                 - Revert 2005-02-18 William Jon McCann fix for standard
18290                         copyright string until it passes 'make distcheck'.
18291                         With standard copyright string, xgettext complains
18292                         about "Non-ASCII string at ...".
18293
18294 2005-02-18  Dan Williams  <dcbw@redhat.com>
18295
18296         * panel-applet/essid.glade
18297           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18298                 - Correct spelling of "adaptor"->"adapter"
18299
18300 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18301
18302         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18303         (nmwa_about_cb): Use standard copyright string.  Update comment
18304         text to reflect that it is a notification area applet.  Remove
18305         leading newline in authors list.
18306         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18307         instead of on parent menu item activation.  Fixes #167550.
18308
18309 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18310
18311         * panel-applet/essid.glade: Capitalize items as per HIG.
18312           Fixes #167632
18313
18314 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18315
18316         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18317         files for GTK 2.4 or lower, since now public in GTK 2.6.
18318
18319         * panel-applet/essid.glade: Don't specify window size.
18320         
18321 2005-02-17  Dan Williams  <dcbw@redhat.com>
18322
18323         Caught by Bill Moss:
18324         * dhcpcd/client.c
18325                 - Time remaining for DHCP transaction calculation was incorrectly
18326                         inside a #ifdef DEBUG
18327
18328 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18329
18330         * configure.in: Added fr (French) to ALL_LINGUAS.
18331
18332 2005-02-14  Dan Williams  <dcbw@redhat.com>
18333
18334         * src/NetworkManagerDHCP.c
18335                 - (set_domain_searches): Fix free of invalid pointer
18336
18337 2005-02-14  Dan Williams  <dcbw@redhat.com>
18338
18339         Patch from Peter Jones:
18340         * dhcpcd/client.c
18341                 - Ensure we return RET_DHCP_CEASED everywhere we should
18342         * dhcpcd/udpipgen.c
18343                 - Use faster TOS for IP packets
18344                 - Don't set ip_id since we're UDP
18345
18346         Patch from Tomislav Vujec:
18347         * src/nm-dbus-dhcp.c
18348           test/nm-dhcp-opt-test.c
18349                 - Clean up warnings to enable cvs tree compilation.
18350
18351 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18352
18353         * configure.in
18354           po/hr.po
18355                 - Add the Croatian locale.
18356
18357 2005-02-14  Colin Walters  <walters@verbum.org>
18358
18359         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18360         list of domains to search.
18361         
18362         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18363
18364 2005-02-13  Dan Williams  <dcbw@redhat.com>
18365
18366         * dhcpcd/client.c
18367                 - Debug output cleanups of DHCP option printing and parsing.
18368
18369 2005-02-13  Dan Williams  <dcbw@redhat.com>
18370
18371         Patch from Dan Reed:  DHCP options D-BUS API
18372                 Exposes the DHCP options that a device receives to clients over D-BUS.
18373
18374         * configure.in
18375                 - A few cleanups
18376
18377         * dhcpcd/client.h
18378                 - Correct names, option length, and types for DHCP options
18379
18380         * dhcpcd/dhcpcd.[ch]
18381                 - Clarify function names that access DHCP options & data
18382
18383         * src/NetworkManagerDHCP.c
18384                 - Use new DHCP data access functions
18385
18386         * src/NetworkManagerDbus.c
18387                 - Message handler for DHCP functions
18388
18389         * src/nm-dbus-dhcp.[ch] (new)
18390                 - DHCP dbus methods
18391
18392         * test/nm-dhcp-opt-test.c
18393                 - Test DHCP D-BUS API and return all present DHCP options
18394
18395 2005-02-12  Dan Williams  <dcbw@redhat.com>
18396
18397         * test/Makefile.am
18398           test/nmclienttest.c
18399           test/nmtest.c
18400                 - Move nmclienttest.c -> nmtest.c
18401
18402 2005-02-12  Dan Williams  <dcbw@redhat.com>
18403
18404         * dhcpcd/buildmsg.c
18405                 - Pad DHCP packets until they are at least 300 bytes in size.
18406
18407 2005-02-11  Dan Williams  <dcbw@redhat.com>
18408
18409         * dhcpcd/client.c
18410                 - (dhcp_init): only print out client ID and class ID if they are specified
18411
18412         * src/NetworkManagerDbus.[ch]
18413           src/nm-dbus-nm.[ch]
18414           src/nm-dbus-device.[ch]
18415           src/nm-dbus-net.[ch]
18416                 - Move NM, Device, and Net functions to separate files and use the
18417                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18418                         method dispatching
18419
18420         * src/NetworkManagerDbusUtils.c
18421                 - Add new validate_method called before each dispatch (if present)
18422                         that can validate the method call
18423
18424         * src/NetworkManagerWireless.c
18425                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18426                         levels never to be evaluated
18427
18428         Patch from j@bootlab.org
18429         * src/NetworkManagerDevice.c
18430                 - Add typedef for "u64"
18431
18432         * src/backends/NetworkManagerDebian.c
18433                 - Copy in Dave Woodhouse's fixes for IPv6
18434
18435 2005-02-11  Dan Williams  <dcbw@redhat.com>
18436
18437         Patch from Dave Woodhouse for IPv6:
18438         * src/NetworkManagerUtils.c
18439                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18440                         and multicast addresses
18441
18442         * src/NetworkManagerDevice.c
18443                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18444                         after bringing up a card.
18445
18446 2005-02-10  Dan Williams  <dcbw@redhat.com>
18447
18448         Patch from Dave Woodhouse:
18449         * src/NetworkManagerSystem.h
18450           src/backends/NetworkManagerDebian.c
18451           src/backends/NetworkManagerGentoo.c
18452           src/backends/NetworkManagerSlackware.c
18453                 - New nm_system_device_add_ip6_link_address() function to add link-local
18454                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18455
18456         * src/backends/NetworkManagerRedHat.c
18457                 - (nm_system_device_add_ip6_link_address): implement
18458                 - (nm_system_device_flush_addresses): revert to previous behavior of
18459                         flushing all addresses
18460
18461 2005-02-10  Dan Williams  <dcbw@redhat.com>
18462
18463         Patch from Tom Parker:
18464         * src/NetworkManagerDevice.c
18465                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18466                         mii.h headers are broken, and instead use our own typedefs
18467
18468 2005-02-10  Dan Williams  <dcbw@redhat.com>
18469
18470         * dhcpcd/buildmsg.c
18471                 - (fill_host_and_class_id): only fill in client and class IDs if
18472                         they are set by callers.
18473
18474         * dhcpcd/client.c
18475                 - (class_id_setup): don't autogenerate a class ID, only use one
18476                         we're given, if any.
18477                 - (client_id_setup): don't autogenerate a client ID, only use one
18478                         we're given, if any.
18479
18480         * dhcpcd/dhcpcd.c
18481                 - (dhcp_interface_init): ensure that client options are correctly
18482                         NULL terminated
18483
18484         * src/NetworkManagerDHCP.c
18485                 - (nm_device_dhcp_request): pass hostname to dhcp library
18486
18487 2005-02-10  Dan Williams  <dcbw@redhat.com>
18488
18489         * dhcpcd/client.c
18490                 - #rh147661# Don't send kernel version in DHCP requests
18491
18492         * src/NetworkManagerSystem.h
18493           src/backends/NetworkManagerDebian.c
18494           src/backends/NetworkManagerGentoo.c
18495           src/backends/NetworkManagerRedHat.c
18496           src/backends/NetworkManagerSlackware.c
18497                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18498                         functions, they are no longer used anyway
18499
18500         * src/backends/NetworkManagerRedHat.c
18501                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18502                         addresses in an attempt to keep IPv6 local-scope addresses around
18503
18504 2005-02-10  Dan Williams  <dcbw@redhat.com>
18505
18506         * src/NetworkManager.c
18507                 - (nm_create_device_and_add_to_list): change the add message slightly
18508
18509         * src/NetworkManagerUtils.c
18510                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18511                         Return driver name to calling function
18512                 - (nm_get_driver_support_level): print out the driver a device is using
18513                         during the support check
18514
18515         Patch from Dave Woodhouse:
18516         * dhcpcd/udpipgen.c
18517                 - (in_cksum): copy last byte of odd-sized packets into a
18518                         'u_short' rather than a 'u_char', should fix wrong checksums
18519                         on big-endian platforms
18520
18521 2005-02-09  Dan Williams  <dcbw@redhat.com>
18522
18523         * Clean up usage of GSList objects and looping through their members
18524         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18525                 now.
18526         * Fix problem where even if scanning was turned off, card would still
18527                 cycle through frequencies.
18528
18529 2005-02-08  Dan Williams  <dcbw@redhat.com>
18530
18531         * panel-applet/NMWirelessApplet.c
18532                 - Fix for gtk 2.4
18533
18534 2005-02-08  Dan Williams  <dcbw@redhat.com>
18535
18536         Patch from Bill Moss
18537         * panel-applet/NMWirelessApplet.c
18538                 - Restore correct ESSID in tooltips
18539
18540 2005-02-07  Dan Williams  <dcbw@redhat.com>
18541
18542         * panel-applet/NMWirelessApplet.[ch]
18543                 - Add a context menu that contains:
18544                         Pause/Resume Wireless Scanning
18545                         Stop/Start All Wireless Devices
18546                         About...
18547                 - Grab active device strength off active device,
18548                         not its network
18549
18550         * panel-applet/NMWirelessAppletDbus.[ch]
18551                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18552                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18553                 - Update active device strength every 2 seconds, not every 1 second
18554
18555         * panel-applet/menu-info.c
18556                 - Only disable wired devices in the menu when they support carrier detection,
18557                         and don't currently have a link.  Non-carrier-detect devices will always
18558                         remain choosable
18559
18560         * src/Makefile.am
18561           src/NetworkManagerDbusUtils.[ch]
18562                 - Add new new dbus utils sources
18563
18564         * src/NetworkManager.c
18565                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18566                         with the boolean parameter
18567                 - Set scanning_enabled & wireless_enabled to TRUE
18568
18569         * src/NetworkManagerDbus.c
18570                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18571                 - Implement scanning & wireless enable/disable calls
18572                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18573
18574         * src/NetworkManagerDevice.c
18575                 - New link detection stuff again...
18576                         o  Create device's mainloop earlier (but don't run it earlier)
18577                         o  Hook up new carrier-detect support stuff
18578                         o  Add in the ethtool & mii support detection code
18579                 - Don't scan if scanning is disabled
18580
18581         * src/NetworkManagerPolicy.c
18582                 - Never automatically choose a device that doesn't support carrier detection
18583                 - Don't automatically choose a wireless device if wireless is disabled
18584
18585 2005-02-07  Dan Williams  <dcbw@redhat.com>
18586
18587         * libnm_glib/libnm_glib.c
18588                 - Small cleanup in element list iteration
18589
18590 2005-02-07  Dan Williams  <dcbw@redhat.com>
18591
18592         * src/NetworkManagerWireless.c
18593                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18594                         to be in line with the WEXT quality specification
18595
18596 2005-02-02  Dan Williams  <dcbw@redhat.com>
18597
18598         Patch from Nathan Fredrickson <nathan@silverorange.com>
18599         * Fix up compile for deprecation of libgnomeui
18600                 - Switch to <glib/gi18n.h> from <libintl.h>
18601                 - Remove <libgnomeui/libgnomeui.h> includes
18602                 - Use gtk_window_set_default_icon_from_file() rather than
18603                         gnome_window_set_default_icon_from_file()
18604
18605         * named/nm-named-manager.c
18606                 - (generate_named_conf): Fix return-nothing in non-void
18607                         function
18608
18609 2005-02-02  Dan Williams  <dcbw@redhat.com>
18610
18611         * Clean up unused variables and the like
18612
18613 2005-02-02  Dan Williams  <dcbw@redhat.com>
18614
18615         * src/NetworkManagerAPList.c
18616                 - (nm_ap_list_merge_scanned_ap): merge strength too
18617
18618         * src/NetworkManagerUtils.c
18619                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18620                         of locking issues by printing out prettier information than g_mutex_lock
18621                 - Print out names of mutexes registered with nm_register_mutex_desc()
18622                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18623                         us to seemingly block here for too long
18624
18625         * src/NetworkManager.c
18626           src/NetworkManagerAPList.c
18627           src/NetworkManagerDevice.c
18628                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18629                         so we get better debug information printed
18630
18631         * src/NetworkManagerDbus.c
18632                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18633                         since it sometimes has locking side effects
18634                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18635                         from 10s
18636                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18637                         we don't need a switch.  This gets called often enough that we can't block
18638                         until the scan mutex is acquired, because we'll block on device activation
18639                         and a few other things, which hangs main thread for too long.
18640
18641         * src/NetworkManagerPolicy.c
18642                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18643                         nm_device_need_ap_switch() will be called               
18644
18645 2005-02-02  Dan Williams  <dcbw@redhat.com>
18646
18647         * panel-applet/NMWirelessApplet.c
18648                 - Display name of wireless network we are connecting to or connected to
18649                         in the tooltip of the applet
18650
18651 2005-02-02  Dan Williams  <dcbw@redhat.com>
18652
18653         * src/NetworkManagerDHCP.c
18654                 - Hopefully fix double-default-route problem by cleaning up the default
18655                         route added by DHCP code right before the DHCP transaction begins
18656
18657 2005-02-02  Dan Williams  <dcbw@redhat.com>
18658
18659         * named/nm-named-manager.c
18660                 - Write out valid resolv.conf when we exit
18661
18662 2005-02-01  Dan Williams  <dcbw@redhat.com>
18663
18664         Patch from Colin Walters:
18665         * named/nm-named-manager.c
18666                 - Make multi-domain search options work
18667
18668 2005-01-31  Dan Williams  <dcbw@redhat.com>
18669
18670         * info-daemon/NetworkManagerInfoDbus.c
18671                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18672
18673         * src/NetworkManagerDevice.c
18674                 - (nm_device_new): Don't store the entire range struct, use only what we need
18675                         (which is currently avg_quality, max_quality, and frequencies).  Also
18676                         zero device structure when we've free'd it to maybe expose errors down
18677                         the line.
18678                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18679                         quality data from the card since quality will be useless during a scan.
18680                         Call updated wireless qual-to-percent function with values stored in
18681                         nm_device_new() earlier.
18682                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18683                         nm_device_get_bad_crypt_packets())
18684                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18685                         nm_device_new()
18686                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18687                         list if available.  Problem was this: when the WEP key is wrong, NM will
18688                         try OS then SK modes, and then get stuck in SK mode after that.  This
18689                         should reset it.
18690                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18691                         function
18692
18693         * src/NetworkManagerWireless.c
18694                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18695                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18696                         if that's all present, otherwise fall back to signal-to-noise ratios.
18697
18698 2005-01-29  Dan Williams  <dcbw@redhat.com>
18699
18700         * initscript/RedHat/NetworkManager
18701                 - Don't spit out sysctl stuff to console
18702
18703         * libnm_glib/libnm_glib.c
18704                 - (libnm_glib_init): call dbus_g_thread_init()
18705
18706         * panel-applet/NMWirelessAppletDbus.c
18707                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18708
18709         * src/NetworkManager.c
18710                 - (main): call dbus_g_thread_init()
18711
18712         * src/NetworkManagerAPList.c
18713                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18714                         so we can actually see what's there in a normal syslog
18715
18716         * src/NetworkManagerDevice.c
18717                 - (nm_device_activate_wireless): print out the "waiting for access point"
18718                         message only once, then say what access point we actually got after
18719                         the wait.
18720                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18721                         function, wait until the scan is done.  Scans may change the ESSID of
18722                         the card, making this function think we need to switch access points
18723                 - (nm_device_wireless_process_scan_results): for artificial access points
18724                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18725                         prevents collisions with the scanning code, which may change the card's
18726                         ESSID and cause the access point to get dropped from the device's AP
18727                         list.  Also increase the keep-around time to 2m from 60s since the max
18728                         scan interval could be 60s in some cases.
18729
18730         * src/NetworkManagerPolicy.c
18731                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18732                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18733                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18734                         between NM and NMI.
18735
18736 2005-01-27  Dan Williams  <dcbw@redhat.com>
18737
18738         * info-daemon/NetworkManagerInfoDbus.c
18739                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18740                         GConf, make a minimal entry for it (essid & timestamp)
18741
18742         * src/NetworkManagerAPList.c
18743                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18744                         NetworkManagerInfo isn't running
18745
18746         * src/NetworkManagerDbus.[ch]
18747                 - (nm_dbus_nmi_is_running): new function
18748
18749         * src/NetworkManagerDevice.c
18750                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18751                         address to garbage.
18752
18753         * src/NetworkManagerPolicy.c
18754                 - (nm_policy_activation_finish): On successful activation, make sure
18755                         the "best" AP has a MAC address, and don't tell NMI to add the
18756                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18757                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18758                         access point after refreshing our allowed list if it doesn't already
18759                         have a "best" access point.
18760
18761 2005-01-25  Dan Williams  <dcbw@redhat.com>
18762
18763         * panel-applet/NMWirelessAppletDbus.c
18764                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18765                         so we check for NM_DBUS_SERVICE rather than not for it
18766
18767         * libnm_glib/libnm_glib.c
18768                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18769                         ServiceOwnerChanged signal
18770
18771 2005-01-25  Dan Williams  <dcbw@redhat.com>
18772
18773         * configure.in
18774                 - Check DBUS version in configure, and set the C macros
18775                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18776
18777         * info-daemon/NetworkManagerInfoDbus.c
18778                 - Remove #if 0-d section of code that quit NMI if NM went away.
18779
18780         * panel-applet/NMWirelessAppletDbus.c
18781                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18782
18783         * src/NetworkManager.c
18784           src/NetworkManagerMain.h
18785           src/NetworkManagerDbus.c
18786                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18787                 - Make updating of our Allowed Wireless Network lists from NMI
18788                         an idle function in the main thread now, with a high priority.
18789
18790 2005-01-24  Dan Williams  <dcbw@redhat.com>
18791
18792         * panel-applet/gtkcellview.[ch]
18793           panel-applet/menu-info.c
18794                 - Fix GTK version checks to be <= rather than <
18795
18796         * test/Makefile.am
18797                 - Include the libtool archive of libnm_glib rather than
18798                         trying to pull in the .so
18799
18800 2005-01-24  Dan Williams  <dcbw@redhat.com>
18801
18802         * src/NetworkManagerDevice.c
18803           src/NetworkManagerDevicePrivate.h
18804                 - Block nm_device_new() until our device's worker thread has had a
18805                         chance to start up.  Fixes a race between main thread and worker
18806                         thread starting that caused activation requests to get lost.
18807
18808 2005-01-24  Dan Williams  <dcbw@redhat.com>
18809
18810         * initscript/RedHat/NetworkManager
18811                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18812                         to add the NM startup script at priority 50, which was
18813                         way too early
18814
18815 2005-01-24  Colin Walters  <walters@redhat.com>
18816
18817         * named/named.conf: Use any port for query source instead of
18818         restricting to port 53.
18819
18820 2005-01-24  Dan Williams  <dcbw@redhat.com>
18821
18822         * initscript/RedHat/NetworkManager
18823                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18824                         to add the NM startup script at priority 50, which was
18825                         way too early
18826
18827 2005-01-24  Dan Williams  <dcbw@redhat.com>
18828
18829         Patch from Tom Parker <palfrey@tevp.net>
18830         * Fix up compile warnings & errors in the wireless applet
18831
18832 2005-01-24  Dan Williams  <dcbw@redhat.com>
18833
18834         * panel-applet/NMWirelessApplet.c
18835                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18836
18837 2005-01-24  Dan Williams  <dcbw@redhat.com>
18838
18839         * panel-applet/gtkcellview.[ch]
18840                 - Only compile these files for GTK 2.4 or lower, since 
18841                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18842                         when choosing "Other Wireless Networks" from the panel
18843                         applet menu
18844
18845 2005-01-21  Dan Williams  <dcbw@redhat.com>
18846
18847         * src/NetworkManager.c
18848                 - Daemonize earlier so that glib doesn't get confused (?)
18849
18850 2005-01-21  Dan Williams  <dcbw@redhat.com>
18851
18852         * panel-applet/NMWirelessApplet.[ch]
18853           panel-applet/NMWirelessAppletDbus.c
18854           panel-applet/menu-info.c
18855           src/NetworkManagerDevice.c
18856                 - Disable wired devices in the menu when they have no link.
18857
18858 2005-01-21  Dan Williams  <dcbw@redhat.com>
18859
18860         * Cache last-known-good wireless authentication method in
18861                 NetworkManagerInfo, and use that method first during
18862                 wireless device activation.  Should speed up devices that
18863                 need Shared Key authentication method since Open System is
18864                 now the default.
18865
18866         * Remove the hack to not do full activation on wired connections
18867                 that are active when we launch, it causes too many problems
18868                 with name resolution and was a hack in the first place.
18869
18870         * Re-work wireless device activation again somewhat to have a
18871                 clearer chain of events and to use last-known-good
18872                 authentication method of the access point.  Also provide
18873                 better status throughout activation to ensure the applet
18874                 can tell the user exactly what's going on.
18875
18876         * Remove the "find wireless network" code and now simply attempt
18877                 to activate with that access point.  This reduces the delay
18878                 between selecting "Other wireless Network" and actually
18879                 connecting to that network.
18880
18881         * Correctly stop the device's worker thread when its removed.
18882
18883 2005-01-21  Dan Williams  <dcbw@redhat.com>
18884
18885         * dhcpcd/client.c
18886                 - Clean up some of the debug messages
18887
18888 2005-01-21  Dan Williams  <dcbw@redhat.com>
18889
18890         * Add new icons, more frames of animation
18891         * Remove some hacks to get the panel applet to display correct
18892                 status, an NM update will soon follow that will fix the
18893                 real issue.
18894
18895 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18896
18897         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18898         the first include for working i18n. Also, don't include it in .h files
18899         * panel-applet/NMWirelessApplet.h: Same
18900         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18901         * panel-applet/menu-info.c: Same
18902
18903 2005-01-18  Dan Williams <dcbw@redhat.com>
18904
18905         * dhcpcd/client.c
18906                 - Remove some debug messages
18907                 - Wrap others in #ifdef DEBUG/#endif
18908
18909         * src/NetworkManager.c
18910                 - Remove some debug messages
18911                 - Clarify some debug messages
18912                 - Remove code related to old single-thread wireless scanning
18913
18914         * src/NetworkManagerAP.[ch]
18915                 - New AP property "last_seen" to track how recently an AP was
18916                         found in a scan
18917                 - Start using 'const' more in function arguments
18918
18919         * src/NetworkManagerAPList.[ch]
18920                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18921                         of an AP found in an AP list from a source AP, or if not found
18922                         in the list add the source AP
18923                 - (nm_ap_list_combine): remove, no longer needed
18924
18925         * src/NetworkManagerDevice.c
18926                 - Each device now has a "worker" thread from start to end of its life.
18927                         Scanning for wireless devices now happens in that thread,
18928                         not in a single "wireless scanning thread" for all devices as
18929                         previously.  Activation consists of adding an idle handler to the
18930                         thread's main loop/context, which gets run at the next available
18931                         opportunity.
18932                 - Wireless scanning is also simplified, there is now only one list of
18933                         access points per wireless device, and APs older than 60s are
18934                         removed from the list.  Previously, we kept results for the last
18935                         3 scans and merged whole lists, which was complicated.
18936                 - Cleaned up activation debug messages.
18937                 - Wireless activation and access-point search routines now use Open System
18938                         authentication before trying Shared Key.
18939                 - Removed some code in nm_device_update_best_ap() that could cause cards
18940                         to loose their link to the access point.
18941                 - Scanning now uses a backoff algorithm, where the inverval becomes
18942                         progressively longer between scans when the list of scanned access
18943                         points doesn't change.  A change will revert to the shortest scan
18944                         interval (20s).
18945
18946         * src/NetworkManagerWireless.[ch]
18947                 - Remove code related to old single-thread wireless scanning
18948
18949 2005-01-18  Colin Walters  <walters@redhat.com>
18950
18951         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18952         of older nameservers.
18953
18954 2005-01-18  Colin Walters  <walters@redhat.com>
18955
18956         * named/nm-named-manager.c (generate_named_conf): Many fixes
18957         to config file generation.
18958         (safer_kill): Remove, was too much trouble for little gain.
18959         (nm_named_manager_start): Run named as NM_NAMED_USER.
18960
18961         * configure.in: Add option --with-named-user.
18962
18963 2005-01-14  Colin Walters  <walters@redhat.com>
18964
18965         Patch from ed@catmur.co.uk (Ed Catmur)
18966
18967         * named/nm-named-manager.c: Add "context" property.
18968         Use it to add child watch source in specific GMainContext.
18969
18970         * src/NetworkManager.c (nm_data_new): Initialize
18971         named with correct main context.  Start named only
18972         after forking.
18973
18974 2005-01-14  Colin Walters  <walters@redhat.com>
18975
18976         * named/nm-named-manager.c (generate_named_conf): Write config
18977         and pid files into NM_NAMED_DATA_DIR; this allows things to
18978         work better with FC3 named SELinux policy.  Also fix up silly
18979         format error.
18980
18981         * configure.in: Add --with-named-dir option.
18982
18983 2005-01-14  Colin Walters  <walters@redhat.com>
18984
18985         * configure.in: Make named support require passing --with-named.
18986
18987         * named/nm-named-manager.c: Support writing resolv.conf directly
18988         without running named.
18989
18990 2005-01-13  Dan Williams <dcbw@redhat.com>
18991
18992         * named/nm-named-manager.c
18993                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18994
18995         * src/NetworkManagerDevice.c
18996                 - Rework wireless link detection code to be more reliable
18997
18998 2005-01-12  Dan Williams <dcbw@redhat.com>
18999
19000         * initscripts/RedHat/NetworkManager
19001                 - Change initial level to "-" rather than "345" so that
19002                         we don't activate ourselves by default on install
19003
19004 2005-01-12  Dan Williams <dcbw@redhat.com>
19005
19006         * libnm_glib/
19007                 - Client library for applications using glib
19008
19009         * configure.in
19010           various Makefiles
19011                 - Split NM_CFLAGS and NM_LIBS into separate variables
19012                         like DBUS_*, HAL_* and GLIB_*
19013
19014         * src/NetworkManager.c
19015           src/NetworkManagerMain.h
19016                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19017                         broadcast a status changed signal over DBUS from the main thread.
19018                         Still unused anywhere for the moment.
19019
19020         Patch from j@bootlab.org
19021         * panel_applet/NMWirelessAppletDbus.c
19022           src/NetworkManagerDbus.c
19023                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19024                         for the "getMode" method call
19025
19026 2005-01-10  Dan Williams <dcbw@redhat.com>
19027
19028         * src/NetworkManagerDevice.c
19029                 - Minor fixups & corrections to "auto" frequency mode, make it
19030                         less chatty with syslog
19031
19032 2005-01-10  Dan Williams <dcbw@redhat.com>
19033
19034         * src/NetworkManagerDevice.c
19035                 - Implement "auto" frequency/channel support, since cards like Atheros
19036                         can't use other frequencies at all when you've told it to use a
19037                         specific one, even for scanning.
19038                 - Grab the scan mutex around places where we can't tolerate wireless
19039                         settings changing underneath us, like nm_device_wireless_network_exists()
19040                         and nm_device_activate_wireless()
19041
19042         * src/NetworkManagerWireless.c
19043                 - Back scan interval off to 20s instead of 14s
19044
19045 2005-01-09  Dan Williams <dcbw@redhat.com>
19046
19047         * src/NetworkManagerDevice.c
19048                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19049                         already set.  Stops some drivers like Atmel from continually
19050                         reloading the firmware, which they do upon every configuration
19051                         change.
19052
19053 2005-01-09  Dan Williams <dcbw@redhat.com>
19054
19055         * dhcpcd/client.c
19056                 - Use correct timeout value
19057
19058         * info-daemon/NetworkManagerInfoDbus.c
19059           src/NetworkManagerDbus.c
19060                 - Consolidate communication between NM and NMI by doing only 1 dbus
19061                         method call to get Wireless Network info from NMI instead of 6
19062
19063         * src/NetworkManager.c
19064                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19065                         when we didn't have an AP to use, we'd wait for one forever without
19066                         quitting
19067
19068         * src/NetworkManagerDevice.c
19069                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19070                         activation, dhcp might not have started yet but we don't quit activation
19071                         before starting it, so the quit signal gets lost
19072
19073 2005-01-07  Dan Williams <dcbw@redhat.com>
19074
19075         * dhcpcd/client.c
19076                 - Rework the DHCP client code to be much less chatty when
19077                         it receives non-DHCP UDP packets during the DHCP run
19078                         (reported by and preliminary patches from Bill Moss)
19079
19080         * Move wireless scanning to a separate thread.  This thread forwards the
19081                 results to the main thread when done where they are integrated into
19082                 the device's access point lists.  This keeps the main thread (which
19083                 does all the DBUS communication) from being blocked for long periods
19084                 of time by wireless scanning.
19085
19086         * Make state modification an idle routine in the main loop, and trigger
19087                 state changes rather than polling for them.
19088
19089         * src/backends/NetworkManagerGentoo.c
19090                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19091
19092         * src/NetworkManagerDevice.c
19093                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19094                         router advertisements, causing problems and infinite loop
19095                         during "best" device determination due to link going up/down
19096                         (reported by Bill Moss)
19097
19098         Apply patch from Peter Jones
19099         * src/NetworkManagerDevice.c
19100                 - Shortcut for link-checking for ipw2x00 cards
19101                 - Split out association check into separate routine
19102
19103 2004-01-05  Colin Walters  <walters@redhat.com>
19104
19105         * named/named.conf: Add PID_FILE.
19106
19107         * named/nm-named-manager.c: Always generate a pid
19108         file, since older BIND versions don't support
19109         "pid-file none".
19110
19111 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19112
19113         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19114
19115 2004-12-22  Dan Williams <dcbw@redhat.com>
19116
19117         * src/NetworkManagerDevice.c
19118                 - Silently fail when setting bitrate doesn't work
19119
19120
19121         Patches from j@bootlab.org:
19122         * src/backends/NetworkManagerDebian
19123                 - Update backend to match functionality in RedHat backend
19124         * src/NetworkManagerDevice.c
19125                 - Take down then bring up wired devices after connection so
19126                 they send out ipv6 router advertisements
19127
19128 2004-12-21  Colin Walters  <walters@verbum.org>
19129
19130         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19131         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19132
19133 2004-12-21  Colin Walters  <walters@redhat.com>
19134
19135         * configure.in: Correct named detection.
19136
19137 2004-12-21  Colin Walters  <walters@redhat.com>
19138
19139         * src/NetworkManager.c (nm_data_new): Initialize named.
19140         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19141         the mainloop when these signals are received.
19142         (nm_data_free): Unref named.
19143         (sigterm_handler, sigterm_pipe_handler): New functions for
19144         exiting mainloop.
19145         
19146         * src/NetworkManagerMain.h (NMData): Add signal handling and
19147         nameserver bits.
19148
19149         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19150         unref.
19151
19152         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19153         set nameservers from DHCP response data.
19154         (set_domain_search): Set domain search from DHCP response.
19155         (nm_device_dhcp_configure): Invoke them.
19156
19157         * src/NetworkManagerSystem.c
19158         (nm_system_device_update_resolv_conf): Delete.  Deleting
19159         code is totally sweet.
19160
19161         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19162
19163         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19164         implements an object which controls a nameserver.  Currently
19165         uses bind 9.
19166
19167         * configure.in: Check for named.
19168
19169         * Makefile.am (SUBDIRS): Add named dir.
19170
19171         * named/named.conf: New template config file.
19172
19173 2004-12-20  Colin Walters  <walters@redhat.com>
19174
19175         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19176         instead of '='.
19177
19178 2004-12-17  Dan Williams  <dcbw@redhat.com>
19179
19180         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19181                 link-local addresses instead of doing DHCP.
19182
19183         * In the panel applet, there's a new "Create new Wireless Network..." item
19184
19185         * The panel applet also sticks around now even if NetworkManager dies, but
19186                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19187                 a bug, I'll fix that later.
19188
19189         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19190                 lookups after a switch rather than actually doing them.
19191
19192         * Clean up some of those warnings in nm_ap_list_* functions
19193
19194         * Delay between scans changed to 15s instead of 10s
19195
19196 2004-12-15  Dan Williams  <dcbw@redhat.com>
19197
19198         Patch from Tom Parker
19199         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19200                 address
19201
19202         * Longer pause after setting ESSID on cards that support a larger number
19203                 of channels to give the card time to find the right channel
19204
19205         * Add system hook to restart mDNSResponder (or whatever the local implementation
19206                 of Multicast DNS is) when we activate interfaces
19207
19208 2004-12-15  Dan Williams  <dcbw@redhat.com>
19209
19210         * Rework the DHCP code again to revert to sending full ethernet frames
19211                 rather then relying on the kernel to do the right thing with our
19212                 packets.
19213
19214 2004-12-06  Dan Williams  <dcbw@redhat.com>
19215
19216         * dhcpcd/client.c
19217                 - Fix some minor errors in dhcp_handle_transaction() that caused
19218                         unexpected early timeouts of DHCP transactions
19219
19220         * dhcpcd/client.h
19221                 - DHCP retransmit time from 4s -> 5s
19222
19223 2004-12-05  Dan Williams  <dcbw@redhat.com>
19224
19225         * Major rework of the DHCP code, taking some cues from pump.  We don't
19226                 write raw Ethernet packets anymore, which simplifies the code quite
19227                 a bit.  The new code should be more robust, not hang in recvfrom()
19228                 as much, and generally work better.  This also means that we need
19229                 to force HAL/dbus to use a created GMainContext rather than the
19230                 default context, since having the DHCP renew/rebind thread using
19231                 its own GMainContext seemed to give dbus a fit.  There is also more
19232                 debugging information printed from the DHCP loop to help with future
19233                 problems.
19234
19235         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19236                 assume that the default gateway should be the DHCP server.
19237
19238         Patch from Matthew Schick <matt oss-institute org>
19239         * src/backends/NetworkManagerGentoo.c
19240                 - Fix compilation error due to missing "ip4_broadcast"
19241
19242 2004-12-03  Dan Williams  <dcbw@redhat.com>
19243
19244         * initscript/Makefile.am
19245         * initscript/Debian/NetworkManager
19246         * initscript/Gentoo/NetworkManager
19247         * initscript/RedHat/NetworkManager
19248         * initscript/NMLaunchHelper.c
19249                 - Remove NMLaunchHelper, if you need to wait until the network
19250                         comes up, use the dead code from CVS.
19251
19252 2004-12-01  Colin Walters  <walters@redhat.com>
19253         
19254         * configure.in: Suck in gcc warnings code from Rhythmbox,
19255         but use fewer default flags, and in particular add -Wno-unused,
19256         since the codebase has a lot of unused variables.
19257
19258         * test/nmtestdevices.c (create_device): 
19259         * test/nminfotest.c (get_network_string_property) 
19260         (get_networks_of_type): 
19261         * test/nmclienttest.c (main): 
19262         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19263         * initscript/NMLaunchHelper.c (get_nm_status): 
19264         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19265         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19266         Fix declarations after statements.
19267
19268 2004-12-01  Colin Walters  <walters@redhat.com>
19269
19270         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19271         (nmi_dbus_get_vpn_userpass): New method.
19272         (nmi_dbus_nmi_message_handler): Invoke it.
19273
19274         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19275
19276         * info-daemon/NetworkManagerInfoVPN.h,
19277         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19278         to requests for VPN passwords.
19279
19280         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19281
19282 2004-12-01  Colin Walters  <walters@redhat.com>
19283
19284         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19285         includes.
19286
19287 2004-12-01  Colin Walters  <walters@redhat.com>
19288
19289         * panel-applet/NMWirelessAppletDbus.c
19290         (nmwa_dbus_update_active_device_strength): Fix missing
19291         return value.
19292
19293 2004-12-01  Colin Walters  <walters@redhat.com>
19294
19295         * panel-applet/NMWirelessApplet.c: Add missing include.
19296
19297 2004-12-01  Colin Walters  <walters@redhat.com>
19298
19299         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19300         Remove useless CLAMP (); the value is unsigned, and the case tests
19301         qual->qual < 100, so the value must always be between 0 and 100.
19302
19303 2004-12-01  Colin Walters  <walters@redhat.com>
19304
19305         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19306
19307 2004-11-22  Colin Walters  <walters@verbum.org>
19308
19309         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19310         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19311         which is essentially a noop since nscd caches hosts on disk too.
19312         
19313 2004-11-22  Colin Walters  <walters@redhat.com>
19314
19315         * src/Makefile.am (NetworkManager_SOURCES): Add
19316         NetworkManagerDevicePrivate.h.
19317
19318 2004-11-22  Dan Williams <dcbw@redhat.com>
19319
19320         * src/NetworkManagerDevicePrivate.h
19321                 - Split out the NMDevice struct to a different file so that stuff like
19322                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19323
19324         * dhcpcd/client.c
19325                 - fprintf->syslog
19326                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19327                         need to cancel the dhcp request during the send and recv
19328
19329         * dhcpcd/client.h
19330                 - Move the DHCP option enum to dhcpcd.h
19331
19332         * src/NetworkManagerDHCP.c
19333                 - Split out the actual IP/netmask/etc setting code
19334                 - New Renew/Rebind functions
19335                 - New timer setup function for renew/rebind operations
19336
19337         * src/NetworkManagerDevice.c
19338                 - For device activation, if we are using DHCP then keep the activation thread
19339                         alive until device deactivation.  We need to renew/rebind the DHCP address
19340                         after the T1 (renew) and T2 (rebind) times have expired.
19341                 - Increase some timeouts after bringing wireless cards up/down
19342
19343 2004-11-17  Dan Williams <dcbw@redhat.com>
19344
19345         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19346                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19347                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19348                 show known access points that don't broadcast their ESSID in the menus without
19349                 any user intervention whatsoever.
19350
19351         * info-daemon/NetworkManagerInfoDbus.c
19352                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19353                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19354
19355         * src/NetworkManagerAP.[ch]
19356                 - Add a "user_addresses" data member to the NMAccessPoint structure
19357                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19358                         the user_addresses data member
19359
19360         * src/NetworkManagerAPList.c
19361                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19362                         the AP's reported address
19363                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19364
19365         * src/NetworkManagerDHCP.c
19366                 - Increase DHCP timeout from 25s -> 30s
19367
19368         * src/NetworkManagerDbus.[ch]
19369                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19370                         user addresses
19371
19372         * src/NetworkManagerDevice.c
19373                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19374                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19375                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19376                         So, we take the card down to clear it out.
19377                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19378                         too, since that's where the user_addresses are
19379
19380         * src/NetworkManagerPolicy.c
19381                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19382                         that wireless networks' user_addresses list upon successful activation
19383
19384 2004-11-16  Dan Williams <dcbw@redhat.com>
19385
19386         * src/NetworkManagerDevice.[ch]
19387                 - (nm_device_clear_activation_fail): new function
19388
19389         * src/NetworkManagerPolicy.c
19390                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19391                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19392
19393 2004-11-16  Dan Williams <dcbw@redhat.com>
19394
19395         * src/NetworkManagerDevice.c
19396                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19397                         leak the structure, better updating of now_scanning status
19398                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19399
19400 2004-11-15  Dan Williams <dcbw@redhat.com>
19401
19402         Major rework of link detection code.  We now use DHCP
19403         as part of the link detection which proves to be much more robust,
19404         and also supports Open System authentication for wireless networks.
19405
19406         We no longer use external DHCP client programs.  Instead, we use 
19407         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19408         which was written by:
19409                 Yoichi Hariguchi <yoichi@fore.com>
19410                 Sergei Viznyuk <sv@phystech.com>
19411                 http://www.phystech.com/download/
19412         It resides in the "dhcpcd" directory and was refactored into a general
19413         purpose DHCP client library by me.
19414
19415         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19416         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19417
19418 2004-11-15  Dan Williams <dcbw@redhat.com>
19419
19420         Patch from Tom Parker <palfrey@tevp.net>:
19421
19422         * src/NetworkManagerDevice.c
19423                 - Less output to console when no access
19424                         points are found during a scan
19425
19426 2004-11-15  Dan Williams <dcbw@redhat.com>
19427
19428         Patch from Tom Parker <palfrey@tevp.net>:
19429
19430         * src/backends/interface_parser.c
19431                 - Use g_strdup ()
19432                 - Check for inp == NULL
19433                 - use syslog ()
19434
19435 2004-11-13  Colin Walters  <walters@redhat.com>
19436
19437         Patch from Tom Parker <palfrey@tevp.net>:
19438
19439         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19440         
19441         * src/backends/NetworkManagerRedHat.c: Switch to
19442         including shvar.h instead of shvar.c.
19443
19444         * src/backends/NetworkManagerDebian.c: Don't include
19445         interface_parser.c in source file.
19446
19447         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19448         and interface_parser.[ch].
19449         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19450         Include shvar.c and shvar.h here.
19451         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19452         interface_parser.c and interface_parser.h here.
19453
19454 2004-11-12  Colin Walters  <walters@redhat.com>
19455
19456         * configure.in: Strip out TARGET_DISTRO and
19457         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19458         conditionals.
19459
19460         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19461         (libnmbackend_la_SOURCES): Use Automake conditionals
19462         to add distro-specific files.
19463
19464         * initscript/Makefile.am (SUBDIRS): Update to
19465         use conditionals.
19466
19467 2004-11-12  Colin Walters  <walters@redhat.com>
19468
19469         Patches from j bootlab org
19470
19471         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19472         Add interface_parser.[ch].
19473
19474         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19475         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19476
19477 2004-11-12  Colin Walters  <walters@redhat.com>
19478
19479         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19480         call to nmi_dbus_is_running too, not necessary anymore.
19481         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19482         pick up exit().
19483
19484 2004-11-11  Colin Walters  <walters@verbum.org>
19485
19486         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19487         Delete.
19488         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19489         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19490         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19491         This avoids a race condition that made it pretty easily
19492         possible to get two NetworkManagerInfo daemons running.
19493
19494 2004-11-11  Colin Walters  <walters@verbum.org>
19495         
19496         * src/NetworkManager.c (main): Use daemon(3).
19497
19498         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19499
19500         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19501
19502 2004-11-10 Dan Williams <dcbw@redhat.com>
19503
19504         Patches from j bootlab org
19505         * src/NetworkManagerDevice.c
19506                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19507                         whether the card has a link or not, some cards are slow
19508                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19509
19510         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19511                 - Disable the "Login" button on the passphrase dialog until the user
19512                         enters a valid passphrase or key
19513
19514         Patches from Tom Parker <palfrey tevp net>
19515         * src/backends/NetworkManagerDebian.c
19516                 - Add static IP support to the debian backend
19517
19518         * src/backends/interface_parser.[ch]
19519                 - Parse debian interface config files
19520
19521 2004-11-08 Dan Williams <dcbw@redhat.com>
19522
19523         * src/NetworkManagerDevice.c
19524                 - Some random fprintf->syslog conversions
19525                 - (nm_device_wireless_network_exists): double-check for network
19526                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19527
19528         * src/NetworkManagerWireless.[ch]
19529                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19530                         so that the binary->ascii conversion works (if unsigned, the bitshift
19531                         will fill with zeros, which is what's required).  Also mask bitshift
19532                         result with 0xF for futher assurance.
19533
19534 2004-11-06 Dan Williams <dcbw@redhat.com>
19535
19536         * src/NetworkManagerUtils.c
19537                 - (nm_get_wireless_driver_support_level): default to
19538                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19539                         flip this when changing from whitelist->blacklist of
19540                         wireless drivers
19541
19542 2004-11-05 Dan Williams <dcbw@redhat.com>
19543
19544         Patch from Robert Paskowitz:
19545         * src/backends/NetworkManagerGentoo.c
19546                 - Update static IP config code
19547
19548 2004-11-05 Dan Williams <dcbw@redhat.com>
19549
19550         * info-daemon/NetworkManagerInfoDbus.c
19551           src/NetworkManagerDbus.[ch]
19552           src/NetworkManagerDevice.c
19553                 - Keep track of the # of attempts to get the WEP key
19554                         from the user and pass that along to the info daemon
19555
19556 2004-11-05 Dan Williams <dcbw@redhat.com>
19557
19558         * src/NetworkManagerUtils.c
19559                 - Blacklist wireless cards rather than whitelisting them.
19560                 - Grab driver name from HAL rather than trying to find it
19561                         ourselves.
19562
19563 2004-11-03 Dan Williams <dcbw@redhat.com>
19564
19565         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19566                 - Disable OK button until valid data is entered
19567                         for encryption stuff too
19568
19569         * panel-applet/NMWirelessApplet.c
19570                 - Report card strength for current AP if the card
19571                         doesn't report strength data for scanned access
19572                         points
19573
19574         * src/NetworkManagerDevice.c
19575                 - Smooth out cards reported quality, Atmel card was
19576                         intermittently reporting no quality data but soon
19577                         recovers
19578
19579         * src/NetworkManagerWireless.c
19580                 - Better quality data percentage calculation.  Atmel
19581                         cards (mine at least) seem to report the quality
19582                         in percentage format already, so honor that
19583
19584         Patch from <j@bootlab.org>
19585         * NetworkManager.h
19586           info-daemon/NetworkManagerInfoPassphraseDialog.c
19587           info-daemon/passphrase.glade
19588           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19589           panel-applet/essid.glade
19590           src/NetworkManagerAP.c
19591           src/NetworkManagerDevice.c
19592           src/NetworkManagerWireless.[ch]
19593                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19594
19595 2004-11-03 Dan Williams <dcbw@redhat.com>
19596
19597         * src/NetworkManagerDevice.[ch]
19598                 - (nm_device_set_enc_key): Add parameter to set Authentication
19599                         Mode (Open System, Shared Key, or None).  We're still using
19600                         Shared Key for now though.
19601
19602 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19603
19604         * panel-applet/menu-info.c: change from bold text to light
19605         colored, may cause problems with some themes, i've tested a lot
19606         and they seem fine. 
19607
19608         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19609
19610 2004-11-01  Colin Walters  <walters@verbum.org>
19611
19612         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19613         (nm_wireless_128bit_key_from_passphrase): Add const.
19614
19615         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19616         (nm_ap_set_enc_key_source): Add const.
19617         
19618 2004-11-01  Colin Walters  <walters@verbum.org>
19619
19620         * .cvsignore: Update.
19621
19622 2004-10-29 Dan Williams <dcbw@redhat.com>
19623
19624         * src/NetworkManagerDevice.c
19625                 - (nm_device_wireless_network_exists): Actually use the encryption
19626                         key we got from the applet when attempting to find a wireless network
19627                 - Don't bring devices down so much since on some cards it triggers
19628                         firmware hotplugs each time
19629
19630         * src/NetworkManagerDbus.c
19631                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19632                         from the caller
19633
19634 2004-10-29 Dan Williams <dcbw@redhat.com>
19635
19636         * src/NetworkManager.c
19637                 - (nm_hal_device_property_modified): unlock a locked active
19638                         wireless device when a wired connection gets a link.
19639                         (Means you'll switch to wired whenever you plug in no
19640                         matter what).
19641
19642 2004-10-29 Dan Williams <dcbw@redhat.com>
19643
19644         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19645                 - New files, implement the "Other wireless network" dialog
19646
19647         * panel-applet/NMWirelessApplet.c
19648                 - Move "other wireless network" dialog to separate file
19649
19650         * panel-applet/NMWirelessAppletDbus.[ch]
19651                 - Take key and key_type paramaters for the set_device function
19652
19653         * panel-applet/essid.glade
19654                 - Add UI bits for encryption settings
19655
19656         * src/NetworkManagerDbus.c
19657                 - Retrieve key and key_type params for "setActiveDevice" method call
19658                         and pass them on
19659                 - unref AP returned from nm_device_get_best_ap() when needed
19660
19661         * src/NetworkManagerDevice.c
19662                 - (nm_device_get_best_ap): ref the ap before returning it
19663                 - unref AP returned from nm_device_get_best_ap() when needed
19664                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19665                         need to call nm_device_get_best_ap() here, it was pretty much
19666                         redundant anyway
19667                 - (AP_NEED_KEY): break second link check condition out into separate
19668                         function, and fix segfault when ap->enc_key_source was NULL
19669                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19670                         pass them along to nm_device_wireless_network_exists().  If the
19671                         network does exist, set the passed-in key+key_type on the AP
19672
19673         * src/NetworkManagerPolicy.c
19674                 - unref AP returned from nm_device_get_best_ap() when needed
19675
19676 2004-10-28 Dan Williams <dcbw@redhat.com>
19677
19678         * src/NetworkManagerUtils.c
19679                 - (nm_spawn_process): Fix a potential dereference of NULL
19680
19681         Patches from Peter Jones:
19682
19683         * src/NetworkManagerDevice.c
19684                 - (nm_device_test_wireless_extensions): Better check for
19685                         wireless devices
19686
19687         * src/NetworkManagerUtils.c
19688                 - (nm_spawn_process): Pass in valid stdout and stderr so
19689                         executed programs don't randomly SIGPIPE and fail
19690                 - (nm_get_wired_driver_support_level): quash hal warning
19691                         when checking for USB ethernet device
19692
19693 2004-10-27 Dan Williams <dcbw@redhat.com>
19694
19695         * info-daemon/NetworkManagerInfo.c
19696           info-daemon/NetworkManagerInfoDbus.c
19697           info-daemon/NetworkManagerInfoPassphraseDialog.c
19698           panel-applet/NMWirelessApplet.c
19699                 - Properly escape gconf keys
19700
19701         * src/NetworkManager.c
19702                 - remove unused variables
19703
19704         * src/NetworkManagerAP.c
19705                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19706                         refcount since it got set in nm_ap_new()
19707
19708         * src/NetworkManagerAPList.c
19709                 - (nm_ap_list_combine): Give up ownership of newly created
19710                         access points to the ap list, fixes memleak
19711
19712         * src/NetworkManagerDevice.c
19713                 - Remove cached_ap_list4 member since its not really needed
19714                 - (nm_device_wireless_network_exists): Try to get correct
19715                         encryption status of a found AP if its already in our
19716                         device list
19717                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19718                         memory allocs/deallocs a bit clearer and shorter-lived
19719
19720 2004-10-26 Ray Strode <rstrode@redhat.com>
19721
19722         * panel-applet/NMWirelessApplet.c:
19723           (custom_essid_item_selected):  kill some compiler
19724         warnings 
19725
19726 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19727
19728         * info-daemon/NetworkManagerInfoDbus.c
19729                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19730                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19731
19732 2004-10-23 Dan Williams <dcbw@redhat.com>
19733
19734         * info-daemon/NetworkManagerInfoDbus.c
19735                 - Trap the "DeviceActivationFailed" signal
19736
19737         * docs/NetworkManager DBUS API.txt
19738                 - Add "DeviceActivationFailed" signal
19739
19740         * panel-applet/NMWirelessAppletDbus.c
19741                 - Quash the "NetworkManager service not available" message
19742
19743         * src/NetworkManagerDbus.[ch]
19744                 - Add the "DeviceActivationFailed" signal
19745
19746         * src/NetworkManagerDevice.c
19747                 - Add support for activation_failed flag
19748                 - Fix deadlock where activation thread didn't clean itself up, making
19749                         main thread still believe it was alive forever (didn't reset activation
19750                         flags like activating, just_activated, etc when IP configuration
19751                         failed)
19752
19753         * src/NetworkManagerPolicy.c
19754                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19755                         for wireless networks, try to fall back to some other access point
19756
19757 2004-10-23 Dan Williams <dcbw@redhat.com>
19758
19759         * panel-applet/NMWirelessApplet.[ch]
19760                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19761                         to the applet object, so we can get tooltips
19762                 - Add tooltips (RH #136866)
19763
19764         * src/NetworkManagerDevice.c
19765                 - When trying to find a wireless network, try to connect with encryption
19766                         turned on first, so that we can more accurately detect whether or not
19767                         we need to use encryption for the actual association later on
19768
19769 2004-10-21 Dan Williams <dcbw@redhat.com>
19770
19771         * Add some support for telling NetworkManagerInfo to tell the user
19772                 that they are using a device that's not fully supported
19773
19774         * Fix some assertions in debug messages due to null access point args
19775
19776 2004-10-21 Dan Williams <dcbw@redhat.com>
19777
19778         * src/NetworkManagerDevice.c
19779                 - Don't try to activate/bring up/down unsupported
19780                         devices
19781
19782         * src/NetworkManagerUtils.c
19783                 - Fix case of PCI ID checks for driver support levels
19784
19785 2004-10-21 Dan Williams <dcbw@redhat.com>
19786
19787         * NetworkManager.h
19788                 - New file, now contains commonly used structures and bits
19789                         for the dbus API of NetworkManager
19790
19791         * Makefile.am
19792                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19793
19794         * src/NetworkManager.h
19795                 - Rename -> src/NetworkManagerMain.c
19796
19797         * Various fixups all around to use NetworkManager.h and new
19798                 src/NetworkManagerMain.h, remove redundant bits that got
19799                 moved into NetworkManager.h
19800
19801         * src/NetworkManagerDevice.[ch]
19802           src/NetworkManagerUtils.[ch]
19803           src/NetworkManagerPolicy.c
19804           src/NetworkManagerDbus.c
19805                 - Whitelist wireless drivers, and blacklist some wired
19806                         drivers.  Also blacklist cipsec and ethernet-over-usb
19807                         devices at this time (RH #135722, RH #135648)
19808                 - Don't leak unsupported devices out over dbus, or allow
19809                         them to be set as the active device.  Skip over them
19810                         during automatic device picking
19811
19812         * test/nmclienttest.c
19813                 - Clean up the dbus code a lot
19814
19815 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19816
19817         * configure.in: post release bump.
19818
19819 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19820
19821         * configure.in:
19822         * NEWS: Released NetworkManager-0.3.1
19823
19824 2004-10-18 Dan Williams <dcbw@redhat.com>
19825
19826         Patches from Thom May:
19827         * test/nmtestdevices.c
19828                 - Include <string.h>
19829         * src/backends/NetworkManagerDebian.c:
19830                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19831                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19832                         Move to using g_strdup_printf rather than arbitrary buffers
19833                 - (nm_system_device_setup_static_ip4_config) Implement function.
19834                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19835
19836 2004-10-17 Dan Williams <dcbw@redhat.com>
19837
19838         * info-daemon/NetworkManagerInfoDbus.c
19839                 - Display name of network in the "network not found" dialog
19840
19841         * panel-applet/NMWirelessAppletDbus.c
19842                 - (nmwa_dbus_call_nm_method): new function replaces all other
19843                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19844                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19845                         consolidated into nmwa_dbus_get_object_name()
19846
19847 2004-10-15 Dan Williams <dcbw@redhat.com>
19848
19849         * src/NetworkManagerDbus.c
19850           info-daemon/NetworkManagerInfoDbus.c
19851                 - Display an error dialog when the user tries to use an
19852                         "Other wireless network" that's not found.
19853
19854 2004-10-15 Dan Williams <dcbw@redhat.com>
19855
19856         * panel-applet/NMWirelessApplet.[ch]
19857                 - Fix up corner cases in applet state, making it
19858                         look more responsive.  Change state to "connecting" when
19859                         the user is forcing a device too.
19860
19861 2004-10-15 Dan Williams <dcbw@redhat.com>
19862
19863         * src/NetworkManagerAPList.c
19864                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19865
19866         * src/NetworkManagerDbus.c
19867                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19868
19869         * src/NetworkManagerDevice.c
19870                 - Disown APs after the device's AP list takes ownership
19871
19872 2004-10-15 Dan Williams <dcbw@redhat.com>
19873
19874         * panel-applet/NMWirelessApplet.c
19875                 - Update our applet state from the GUI thread
19876
19877         * panel-applet/NMWirelessAppletDbus.c
19878                 - Greatly simplify the locking to make the GUI thread
19879                         smoother.  Update a private copy of the device list
19880                         and active device and only when done talking to
19881                         NetworkManager turn it over to the GUI thread.
19882
19883 2004-10-15 Dan Williams <dcbw@redhat.com>
19884
19885         * src/NetworkManagerAP.[ch]
19886                 - Add "artificial" get/set functions, set for APs that
19887                         aren't discovered as part of a scan but instead
19888                         discovered by force-setting the ESSID
19889
19890         * src/NetworkManagerDevice.[ch]
19891                 - (nm_device_wireless_network_exists): pass back whether
19892                         or not the discovered AP was encrypted.  Also, try
19893                         falling back to encrypted mode on the card if unencrypted
19894                         association doesn't work
19895                 - (nm_device_find_and_use_essid): If the network requested
19896                         did in fact exists, but it wasn't in our scan list, add
19897                         an "artificial" entry for it.  Some Cisco cards don't
19898                         see non-ESSID-broadcasting APs in their scan but can still
19899                         associate with them if you know the ESSID, this works around
19900                         that behavior
19901                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19902                         to scan if the card is currently associated with that AP
19903
19904 2004-10-15 Dan Williams <dcbw@redhat.com>
19905
19906         ---- We have a website ----
19907         http://people.redhat.com/dcbw/NetworkManager
19908
19909         Patch from Robert Paskowitz:
19910         * src/NetworkManager.c
19911                 - (main): Make sure we are run as root
19912         * src/NetworkManagerDevice.c
19913                 - Fix type in ad-hoc setting function
19914
19915         Patch from Thom May:
19916         * src/backends/NetworkManagerDebian.c
19917                 - Make Debian backend compile again
19918
19919 2004-10-14 Dan Williams <dcbw@redhat.com>
19920
19921         * Tagged NetworkManager-0_3
19922
19923 2004-10-14 Dan Williams <dcbw@redhat.com>
19924
19925         Patch from Robert Paskowitz:
19926         * NEWS
19927           src/NetworkManagerDevice.[ch]
19928           src/backends/NetworkManagerDebian.c
19929           src/backends/NetworkManagerGentoo.c
19930           src/backends/NetworkManagerRedHat.c
19931           src/backends/NetworkManagerSlackware.c
19932                 - Add support for grabbing and using a broadcast address
19933                         from system config files
19934                 - Some Gentoo backend fixes for grabbing network config
19935                 - Fix LOG_WARN->LOG_WARNING
19936
19937 2004-10-14 Dan Williams <dcbw@redhat.com>
19938
19939         * NEWS: a few small fixes in the credits
19940
19941 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19942
19943         * NEWS: prep for release.
19944
19945 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19946
19947         * panel-applet/NMWirelessAppletDbus.c
19948         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19949
19950 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19951
19952         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19953         applet->state == APPLET_STATE_NO_NM animation.
19954
19955         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19956         set the text correctly.
19957
19958 2004-10-14 Dan Williams <dcbw@redhat.com>
19959
19960         * src/NetworkManager.c
19961                 - Only accept and manager 802.3 and 802.11 devices
19962
19963         * src/NetworkManagerDbus.[ch]
19964                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19965                         logic into NetworkManagerDevice.c
19966                 - (nm_dbus_network_status_from_data): new function
19967                 - (nm_dbus_signal_network_status_change): new function, unused for now
19968                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19969
19970         * src/NetworkManagerDevice.[ch]
19971                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19972                         a random ESSID.
19973
19974 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19975
19976         * info-daemon/NetworkManagerInfo.c 
19977                 - (main): Added session management
19978
19979 2004-10-14 Dan Williams <dcbw@redhat.com>
19980
19981         * panel-applet/NMWirelessAppletDbus.[ch]
19982                 - Expose network_device_[un]ref()
19983                 - Expose wireless_network_[un]ref()
19984                 - (wireless_network_new_with_essid): new function, create and return
19985                         a wireless network with a particular essid
19986
19987         * panel-applet/NMWirelessApplet.c
19988                 - Hook up the "other network" dialog to do something
19989
19990 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19991
19992         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19993         doesn't work yet, but it looks okay.
19994
19995         * panel-applet/icons/*png: Resize to 22x22 and install in the
19996         right place.
19997
19998 2004-10-13 Dan Williams <dcbw@redhat.com>
19999
20000         * panel-applet/NMWirelessApplet.c
20001                 - Add function to print out applet_state in a readable
20002                         manner
20003
20004         * src/NetworkManager.c
20005                 - (main): Don't segfault when nm_dbus_init() fails, we had
20006                         a left-over call to hal_shutdown() into which we passed NULL
20007
20008         * src/NetworkManagerAP.c
20009                 - (nm_ap_set_essid): Allow NULL essids
20010
20011         * src/NetworkManagerAPList.[ch]
20012                 - More use of nm_ap_list_[un]lock ()
20013                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20014                         network/essid, just return nothing.  Also skip over NULL
20015                         essid access points in the list when searching
20016                 - (nm_ap_list_get_ap_by_address): new function
20017                 - (nm_ap_list_update_network): set the access point's key source to
20018                         NULL when the key returned from NetworkManagerInfo is NULL or
20019                         of 0 length
20020                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20021                         copy timestamp over too
20022                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20023                         find the correct ESSID for a blank-essid access point by searching
20024                         through another list and matching access point MAC addresses
20025                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20026
20027         * src/NetworkManagerDbus.c
20028                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20029                         may specify.  This is mainly for access points that don't
20030                         broadcast their essid.  So if the user tells us to associate with
20031                         some random ESSID that's not in our access point list, we find
20032                         out if the access point does in fact exist (by attempting association
20033                         and then matching that access point's MAC address with the essid the
20034                         user gave us) and then we switch to it.
20035                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20036                         to the returned list of networks for the "getNetworks" method
20037
20038         * src/NetworkManagerDevice.[ch]
20039                 - Extra debugging info for link detection
20040                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20041                         based on MAC address
20042                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20043                 - (nm_device_wireless_network_exists): new function, find out whether
20044                         a random ESSID exists by attempting to associate with it
20045                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20046                         device list as long as they have an AP MAC address we can use.
20047                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20048                         devices too.  Lets the applet update more frequently.
20049
20050         * src/backends/NetworkManagerGentoo.c
20051                 - Patch from: Robert Paskowitz
20052                         - Update backend code for Gentoo
20053                         - Implement nm_system_device_update_config_info ()
20054
20055         * test/nmclienttest.c
20056                 - (set_network_device): new function, takes a command-line argument
20057                         and tells NetworkManager to use that wireless network
20058
20059 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20060
20061         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20062         if the notification icon crashes 5 times within 5 seconds of each respawn 
20063
20064 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20065
20066         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20067         g_print.
20068
20069 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20070
20071         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20072
20073         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20074         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20075         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20076         Change the name of the icons.
20077
20078         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20079         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20080         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20081         (nm_menu_wireless_expose_event): Really bad hack to get the style
20082         to draw in the right color.
20083
20084 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20085
20086         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20087         Notification if it crashes
20088
20089 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20090
20091         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20092         (nmwa_dbus_get_string): remove unused functions
20093
20094         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20095         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20096         remove unused functions
20097
20098         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20099
20100 2004-10-12 Dan Williams <dcbw@redhat.com>
20101
20102         * panel-applet/NMWirelessAppletDbus.c
20103                 - New functions:
20104                         wireless_network_new
20105                         wireless_network_copy
20106                         network_device_new
20107                         network_device_copy
20108
20109         * src/NetworkManagerDevice.[ch]
20110                 - New functions:
20111                         nm_device_set_mode_managed
20112                         nm_device_set_mode_adhoc
20113                 - Use these functions where appropriate
20114                 - When creating a new wireless device, force the card
20115                         to managed/Infrastructure mode as soon as possible
20116
20117 2004-10-12 Dan Williams <dcbw@redhat.com>
20118
20119         * src/NetworkManagerDevice.c
20120                 - Force wireless cards into Infrastructure mode before we use them
20121
20122 2004-10-12 Dan Williams <dcbw@redhat.com>
20123
20124         * TODO
20125                 - Remove bit about static IP address support
20126
20127         * src/NetworkManagerUtils.c
20128                 - (nm_spawn_process): Add some error reporting
20129
20130         * src/NetworkManagerDevice.c
20131                 - (nm_device_activation_configure_ip): hook up to the static config
20132                         routines in the backends
20133
20134         * src/backends/NetworkManagerRedHat.c
20135                 - (nm_system_device_update_config_info): use shvar.c routines to
20136                         parse the config file iformation, not our own
20137                 - (nm_system_device_setup_static_ip4_config): new function, based
20138                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20139                         with a static IP address and gateway
20140
20141         * src/backends/shvar.[ch]
20142                 - Parser (filched from initscripts package) for ifcfg-* files
20143
20144         * src/backends/NetworkManagerSystem.h
20145           src/backends/NetworkManagerGentoo.c
20146           src/backends/NetworkManagerDebian.c
20147           src/backends/NetworkManagerSlackware.c
20148                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20149
20150 2004-10-11 Dan Williams <dcbw@redhat.com>
20151
20152         * TODO
20153                 - Remove bit about more robust AP diffing since I just implemented it
20154
20155 2004-10-11 Dan Williams <dcbw@redhat.com>
20156
20157         * src/NetworkManagerAP.c
20158                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20159                         enough RAM to allocate new AP structures, but return NULL instead
20160
20161         * src/NetworkManagerAPList.[ch]
20162                 - (nm_ap_list_is_empty): new function
20163                 - (nm_ap_list_combine): new function, combine two access point lists
20164                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20165                         into another
20166
20167         * src/NetworkManagerDevice.[ch]
20168                 - Rename some functions to be clearer:
20169                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20170                         nm_device_just_activated     -> nm_device_is_just_activated
20171                         nm_device_activating         -> nm_device_is_activating
20172                         nm_device_now_scanning       -> nm_device_is_scanning
20173                 - Cache the last 4 scans so that the access point list is more stable.
20174                         We combine the lastest two scans and use that as the AP list,
20175                         and diff that combined list against the combination of the earliest
20176                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20177
20178 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20179
20180         * info-daemon/NWManagerInfo.h
20181                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20182
20183         * info-daemon/NWManagerInfoDbus.c
20184                 - (shutdown_callback): new function
20185                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20186                         if NetworkManager goes away.  Kill the timeout
20187                         if NetworkManager restarts before the 30 seconds
20188                         are up.
20189                 - (nmi_dbus_service_init): 
20190                         - call gtk_main_quit if NetworkManager is not running
20191                         - add filters to monitor dbus service creations and
20192                                 deletions
20193         
20194 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20195
20196         * panel-applet/NMWirelessApplet.c
20197                 - (nmwa_update_state): Hide notification icon if we are only
20198                         showing one wired card and no wireless interfaces 
20199                         (Red Hat Bug #134895)
20200
20201         * panel-applet/NMWirelessAppletDbus.c
20202                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20203
20204         * info-daemon/NWManagerInfo.c
20205                 - (main): Terminated the notification_icon_cmd array with a NULL
20206
20207 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20208
20209         * configure.in (ALL_LINGUAS): Added de (German).
20210
20211 2004-10-08 Dan Williams <dcbw@redaht.com>
20212
20213         * src/NetworkManagerDevice.c
20214                 - Be a bit more robust about link checking, ie make sure that
20215                         the WEP key we were given actually has some data in it
20216
20217 2004-10-08 Dan Williams <dcbw@redhat.com>
20218
20219         * info-daemon/NetworkManagerInfo.c (main):
20220                 - Initialize GError object to NULL
20221
20222 2004-10-08 Dan Williams <dcbw@redhat.com>
20223
20224         * panel-applet/NMWirelessAppletDbus.c
20225                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20226
20227 2004-10-08 Dan Williams <dcbw@redhat.com>
20228
20229         * info-daemon/NetworkManagerInfo.[ch]
20230           info-dameon/NetworkManagerInfoDbus.[ch]
20231           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20232                 - Preserve original label text in the passphrase dialog so that
20233                         it actually gets updated with the new network name the next
20234                         time around.  Previously, we were overwriting it so you'd get
20235                         the wrong network name to enter a key for
20236                 - Add a "Key Type" combo to the passphrase dialog, user selects
20237                         encryption key type now, type is stored in GConf too
20238                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20239
20240         * src/NetworkManagerAP.[ch]
20241                 - Remove all the encyption method magic.  It's now set by the user
20242                         and NetworkManager retrieves the type of encryption key from
20243                         NetworkManagerInfo
20244
20245         * src/NetworkManagerAPList.[ch]
20246           src/NetworkManagerDbus.[ch]
20247                 - Adjust to new way of setting encryption key and method
20248                 - Pull encryption method down from NMI along with key
20249
20250         * src/NetworkManagerDevice.[ch]
20251                 - Removed encryption method fallback magic as the method is now
20252                         determined by the user.  This greatly simplifies the connection
20253                         logic.
20254                 - More robust connection/link logic.  Besides removing the encryption
20255                         method fallback magic, check whether or not the card is receiving
20256                         invalidly encrypted packets, which usually indicates that we have
20257                         a bad WEP key set.
20258                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20259
20260         * test/nminfotest.c
20261                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20262
20263 2004-10-07 Dan Williams <dcbw@redhat.com>
20264
20265         * info-daemon/NetworkManagerInfo.conf
20266                 - Allow root user to run NMI too
20267
20268 2004-10-06 Dan Williams <dcbw@redhat.com>
20269
20270         * src/NetworkManagerDevice.[ch]
20271           src/NetworkManagerDbus.c
20272           doc/NetworkManager DBUS API.txt
20273                 - Add a new status tag "scanning", which is set when there
20274                         is no active network connection, but NetworkManager is
20275                         looking for an access point to associate with
20276
20277         * panel-applet/main.c
20278                 - Cast the applet appropriately for gtk_widget_show_all ()
20279
20280 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20281
20282         * panel-applet/eggtrayicon.[ch]:
20283         * panel-applet/main.c: Add missing file
20284
20285 2004-10-04 Dan Williams <dcbw@redhat.com>
20286
20287         * src/NetworkManagerDevice.[ch]
20288                 - Add a slightly more robust method of determining if the WEP key
20289                         is correct or not, by checking the WEP-discarded packet count
20290                         on the card
20291
20292         * info-daemon/NetworkManagerInfo.c
20293                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20294                         un-escape values we pull out rather than escaping them
20295
20296 2004-10-03  Marcel Telka  <marcel@telka.sk>
20297
20298         * configure.in (ALL_LINGUAS): Added sk.
20299
20300 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20301
20302         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20303         and feel.  We should be back to working, and have a good, clean
20304         look.
20305
20306 2004-09-30 Dan Williams <dcbw@redhat.com>
20307
20308         * info-daemon/NetworkManagerInfo.c
20309           info-daemon/NetworkManagerInfoDbus.c
20310           test/nminfotest.c
20311                 - Escape ESSIDs in gconf
20312
20313         * src/NetworkManagerDevice.c
20314                 - Fix pseudo-scanning to use netowrk list from info daemon
20315
20316 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20317
20318         * configure.in: Add a temporary --enable-notification-icon.  This
20319         will prolly go away.
20320
20321         * info-daemon/Makefile.am:
20322         * info-daemon/NetworkManagerInfo.c:
20323         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20324
20325         * panel-applet/Makefile.am:
20326         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20327         * panel-applet/NMWirelessApplet.h:
20328
20329 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20330
20331         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20332         before 'select custom ESSID'.
20333
20334         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20335         fully complete, but syncing in prep for merge.
20336
20337         * panel-applet/icons/*png: New images
20338
20339 2004-09-28 Dan Williams <dcbw@redhat.com>
20340
20341         * src/NetworkManager.c
20342           src/NetworkManagerDevice.c
20343           src/NetworkManagerPolicy.c
20344                 - Don't blow away an active wired connection on startup
20345
20346 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20347
20348         Changes from J5
20349         
20350         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20351
20352         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20353         syslog output
20354
20355 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20356
20357         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20358         have a wireless card.
20359
20360 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20361
20362         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20363         Also, get the right device strings.
20364
20365 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20366
20367         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20368         the logic to make this right.
20369
20370         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20371         devices so that wired networks are always first.
20372
20373 2004-09-22    <clarkbw@cvs.gnome.org>
20374
20375         * initscript/Debian/.cvsignore:
20376         * initscript/Slackware/.cvsignore:
20377         Added new cvsignores for Makefile, Makefile.in
20378         
20379         * test/.cvsignore:
20380         Added nmtestdevices
20381         
20382         * src/NetworkManagerDevice.c: 
20383         * src/NetworkManager.c: 
20384         Updated the wireless/wired HAL device strings from net.ethernet to
20385         net.80203 or net.80211 depending on wired or wireless respectively
20386         
20387         * examples/python/NetworkManager.py: 
20388         s/Quality/Strength/
20389
20390         * examples/python/systray/network_tray.py:
20391         Lots of little changes and fixes.  been rotting for a while so I
20392         figured I'd finally sync them all with CVS
20393
20394 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20395
20396         * configure.in: Add graphics
20397
20398         * panel-applet/Makefile.am: Add graphics
20399
20400         * panel-applet/icons/*: Add graphics
20401
20402         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20403         the icons fully lined up.
20404
20405         * panel-applet/menu-info.c: 
20406         * panel-applet/menu-info.h: Add another menu type.
20407
20408 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20409
20410         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20411
20412         * panel-applet/menu-item.[ch]: Wireless menu item.
20413
20414 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20415
20416         * info-daemon/NetworkManagerInfo.conf
20417                 - Created a more robust security policy for the DBus service
20418                         - everything is denied by default
20419                         - root can own and send to the service
20420                         - users logged in at the console can send to the service
20421
20422 2004-09-13  Dan Williams <dcbw@redhat.com>
20423
20424         * src/NetworkManagerDevice.c
20425                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20426                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20427                         the latter
20428
20429 2004-09-13  Dan Williams <dcbw@redhat.com>
20430
20431         * TODO: fix typo
20432
20433         * docs/NetworkManager DBUS API.txt
20434                 - Update for new signal strength changes
20435
20436         * panel-applet/NMWirelessApplet.c
20437                 - Make panel icon show strength of the current connection
20438                 - Cleanups and memleak fixes
20439
20440         * panel-applet/NMWirelessApplet.h
20441                 - Add data members for signal strength on devices and networks
20442
20443         * panel-applet/NMWirelessAppletDbus.c
20444                 - Free more DBusErrors
20445                 - Update for new signal strength changes
20446                 - Make devices and networks more like real objects, use ref/unref methods
20447                 - Actually unlock the mutex when updating the active device
20448
20449         * src/NetworkManagerAP.c
20450                 - Change AP functions and data members from "quality"->"strength"
20451
20452         * src/NetworkManagerDbus.c
20453                 - Kill "getMaxQuality" and "getQuality" methods
20454                 - Add "getStrength" methods for Networks and Devices
20455
20456         * src/NetworkManagerDevice.[ch]
20457                 - Add accessors for device strength
20458                 - Add functions to update strength for a device.  Note that not all drivers
20459                         actually support signal strength for scanned access points (Atmel drivers
20460                         being one)
20461                 - Calculate signal strength for each AP during scan
20462
20463         * src/NetworkManagerWireless.[ch]
20464                 - Add function to return signal strength % from a device and a raw quality struct
20465
20466         * test/nmclienttest.c
20467                 - Update for new signal strength changes
20468
20469 2004-09-11  Dan Williams <dcbw@redhat.com>
20470
20471         * src/NetworkManager.c
20472                 - Fix race condition between initscripts and NM on card insertion
20473                         which could cause a card to keep an IP address and routes around
20474                         even when it was not the active device
20475
20476         * src/NetworkManagerDbus.c
20477                 - Fix compile errors, free more DBusErrors
20478
20479 2004-09-11  Dan Williams <dcbw@redhat.com>
20480
20481         * docs/NetworkManager DBUS API.txt
20482                 - Add an explanation of NM's API
20483
20484         * src/NetworkManagerDbus.c
20485                 - Free some more DBusErrors if needed
20486
20487 2004-09-11  Dan Williams <dcbw@redhat.com>
20488
20489         * panel-applet/NMWirelessApplet.c
20490           panel-applet/NMWirelessAppletDbus.c
20491                 - Start using NetworkDevice/WirelessNetwork structures in more places
20492                 - Update for unified device/network forcing in NetworkManager
20493
20494         * src/NetworkManager.c
20495                 - some code consolidation
20496
20497         * src/NetworkManagerDbus.c
20498                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20499                         or two arguments:  the first is the NM ID of the device to switch to,
20500                         and the second (optional) argument is the ESSID of a wireless network
20501                         to use as well.
20502                 - Get rid of "setNetwork" method due to above change
20503
20504         * src/NetworkManagerDevice.c
20505                 - (nm_device_new): perform scan and update best AP on device creation
20506                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20507                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20508                         spin waiting for cancellation to finish before returning
20509
20510         * src/NetworkManagerPolicy.c
20511                 - Changes here clarify the situations in which a device switch occurs, and 
20512                         make sure to keep using a forced device and network if the user gives
20513                         us one
20514                 - Remove old unused code
20515
20516 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20517
20518         * configure.in: Added Danish (da) to ALL_LINGUAS.
20519
20520 2004-09-09  Dan Williams <dcbw@redhat.com>
20521
20522         * panel-applet/NMWirelessAppletDbus.c
20523                 - Pull fresh devices and networks from NM when wireless networks
20524                         change.  Provides faster feedback of a forced wireless network
20525
20526         * src/NetworkManagerDbus.c
20527                 - Return error when "getMaxQuality" is called on a wired device
20528                 - Make best_ap freezing actually work again, and signal cancellation
20529                         of activation if there's already a device activation when the user
20530                         freezes the best_ap
20531
20532         * src/NetworkManagerDevice.c
20533                 - Don't clear out the best_ap for wireless devices when the link goes
20534                         down, that's done elsewhere
20535                 - Kill any dhcp daemons when cancelling device activation since they
20536                         may be stuck waiting for a DHCP address, and since we're cancelling
20537                         activation we don't care about that anymore
20538
20539         * src/NetworkManagerPolicy.c
20540                 - Make sure to unref the device we ref earlier (we refed it to make sure
20541                         it stuck around during device activation and such)
20542                 - If we were going to change the best device, but its activating currently
20543                         (and therefore the change didn't occur due to the check earlier)
20544                         we mark the state changed to we come back to it later when device
20545                         activation has canceled and its no longer activating
20546
20547         * src/backends/NetworkManagerRedHat.c
20548                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20549
20550 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20551
20552         * info-daemon/passphrase.glade: 
20553         set passphrase input to activates_default : True
20554
20555         * examples/python/systray/network_tray.py
20556         (network_tray.sort_networks):
20557
20558         Added support for having wireless always scanning
20559
20560 2004-09-09  Dan Williams <dcbw@redhat.com>
20561
20562         NOTE: this commit changes the behavior of wireless devices in
20563         NetworkManager.  They are now up all the time, scanning all
20564         the time.  Only the active device has an IP address and routing
20565         information set up however.  Also, NetworkManager will no longer
20566         opportunistically switch wireless networks when a better one
20567         comes in range, it will remain associated with one wireless network
20568         until that one drops out.
20569
20570         * panel-applet/NMWirelessApplet.c
20571           panel-applet/NMWirelessAppletDbus.c
20572                 - List all wireless cards and their respective networks
20573
20574         * src/NMLoadModules
20575                 - Use full path to /sbin/ip
20576
20577         * src/NetworkManager.c
20578                 - Keep wireless devices up all the time so they can scan
20579
20580         * src/NetworkManagerDbus.c
20581                 - On a WirelessNetworkUpdate signal from NMI, don't update
20582                         the "best" AP
20583
20584         * src/NetworkManagerDevice.c
20585                 - (nm_device_set_link_active): clear out the best ap for
20586                         wireless devices when the link is set to FALSE
20587                 - Scan on all wireless cards, all the time
20588                 - (nm_device_activation_worker): split out the wireless card
20589                         link-waiting code to a separate function
20590                 - Keep wireless cards up even if device activation fails
20591                 - Don't update the "best" ap as much
20592
20593         * src/NetworkManagerPolicy.c
20594                 - Don't update the best ap when checking if its frozen,
20595                         let link checking clear out a frozen best ap for us
20596
20597         * src/NetworkManagerWireless.c
20598                 - Scan on all wireless cards, all the time
20599
20600 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20601
20602         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20603
20604 2004-09-09  Ankit Patel <ankit@redhat.com>
20605
20606         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20607
20608 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20609
20610         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20611
20612 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20613
20614         * examples/python/NetworkManager.py: 
20615         added CONNECTED, CONNECTING, and DISCONNECTED states
20616         added methods to return number of devices of a single type
20617
20618         * examples/python/systray/network_tray.py: 
20619         did some tweaks to get the menu looking near what it is supposed
20620         to look like.  Also did a Airo card hack to make it show the
20621         correct AP quality
20622
20623 2004-09-08  Dan Williams <dcbw@redhat.com>
20624
20625         * panel-applet/no-networkmanager.png
20626           panel-applet/Makefile.am
20627           panel-applet/NMWirelessApplet.c
20628                 - Add a "NetworkManager not running" icon and use it
20629                 - Use new consolidated GConf keys rather than Preferred/Trusted
20630
20631         * TODO: update
20632
20633         * info-daemon/NetworkManagerInfo.c
20634           info-daemon/NetworkManagerInfoDbus.[ch]
20635           info-daemon/NetworkManagerInfoPassphraseDialog.c
20636                 - There are now no longer two separate lists of wireless networks,
20637                         but one list where each network is "trusted" or not trusted
20638                 - Add a "getNetworkTrusted" dbus method
20639                 - "WirelessNetworkUpdate" signal now sent rather than
20640                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20641                 - Start freeing some dbus errors (not completed yet)
20642
20643         * info-daemon/passphrase.glade
20644                 - Remove the "don't show" hints for pager and taskbar
20645                 - Add a title since its going to be in the taskbar
20646
20647         * src/NetworkManager.[ch]
20648           src/NetworkManagerAPList.[ch]
20649                 - There are now no longer two separate lists of wireless networks,
20650                         but one list where each network is "trusted" or not trusted
20651
20652         * src/NetworkManagerAP.[ch]
20653                 - Add get/set "trusted" accessors and data bit
20654
20655         * src/NetworkManagerDbus.[ch]
20656                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20657                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20658
20659         * src/NetworkManagerDevice.[ch]
20660                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20661                 - (nm_device_new): Get device config from backend when initializing devices
20662                 - (nm_device_activation_worker): Split out device configuration on
20663                         activation to deal with static/dynamic IP differences, and try encryption
20664                         fallbacks on a device if the encryption method for the best AP is not good
20665                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20666                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20667
20668         * src/NetworkManagerWireless.c
20669                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20670
20671         * src/backends/NetworkManagerRedHat.c
20672           src/backends/NetworkManagerSystem.h
20673                 - (nm_system_device_update_config_info): Add function to get device configuration
20674                         from system data in ifcfg-* files
20675
20676         * src/backends/NetworkManagerDebian.c
20677           src/backends/NetworkManagerGentoo.c
20678           src/backends/NetworkManagerSlackware.c
20679                 - Add stub functions for getting device configuration
20680
20681 2004-09-07  Dan Williams <dcbw@redhat.com>
20682
20683         * src/backends/NetworkManagerRedhat.c
20684           src/backends/NetworkManagerSlackware.c
20685                 - Use full path to /sbin/ip everywhere
20686
20687 2004-09-07  Dan Williams <dcbw@redhat.com>
20688
20689         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20690
20691         * configure.in
20692           initscript/Makefile.am
20693           initscript/Slackware/Makfile.am
20694           initscript/Slackware/rc.networkmanager
20695           src/Makefile.am
20696           src/backends/NetworkManagerSlackware.c
20697                 - Add Slackware support
20698
20699 2004-09-07  Dan Williams <dcbw@redhat.com>
20700
20701         Patches below from:
20702                 <j@bootlab.org>
20703                 Mark Roach <mrroach@okmaybe.com>
20704                 Thom May <thom@debian.org>
20705
20706         * configure.in
20707           initscript/Debian/NetworkManager
20708           initscript/Debian/Makefile.am
20709                 - Initscript for Debian
20710
20711         * src/backends/NetworkManagerDebian.c
20712                 - Add missing system init function to allow compilation
20713                         on Debian
20714
20715 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20716
20717         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20718
20719 2004-09-03  Akagic Amila <bono@linux.org.ba>
20720
20721         * configure.in: Added 'bs' to ALL_LINGUAS.
20722
20723 2004-09-02  Colin Walters  <walters@verbum.org>
20724
20725         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20726         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20727         g_strdup_printf instead of arbitrarily sized buffers.
20728
20729 2004-09-01  Colin Walters  <walters@verbum.org>
20730
20731         * NetworkManager.pc.in: New file.
20732
20733         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20734
20735 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20736         
20737         * configure.in: Punjabi(pa) is added to po/.
20738
20739 2004-08-31  Dan Williams <dcbw@redhat.com>
20740
20741         * Remove 'debug' extern global from all files since we now
20742                 use syslog()
20743
20744         * src/NetworkManager.[ch]
20745                 - Break out routine that get the net.interface property from HAL,
20746                         removing that logic from nm_create_device_and_add_to_list()
20747                 - (nm_create_device_and_add_to_list): make this a bit more general so
20748                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20749                         the create of test devices.
20750                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20751                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20752                         which makes NetworkManager listen for dbus commands to create test
20753                         devices, which have no backing hardware.  Use when you're on a plane
20754                         for example, and/or forgot your wireless card at home.  Test devices
20755                         _cannot_ be created unless NM is started with --enable-test-devices.
20756
20757         * src/NetworkManagerDbus.[ch]
20758                 - New "getLinkActive" method for devices
20759                 - New "setLinkActive" method for devices (only works on test devices)
20760                 - New "createTestDevice" method on NetworkManager object to create a test
20761                         device of a specified type (ie wired, wireless).  UDI is created from
20762                         scratch, as is the interface name.  Only works when NM is started with
20763                         --enable-test-devices switch.
20764                 - New "removeTestDevice" method on NetworkManager object which removes a
20765                         test device.  Only works when NM is started with --enable-test-devices
20766
20767         * src/NetworkManagerDevice.[ch]
20768                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20769                         whether a device is a test device or not, and what its link status is.
20770                 - Deal with test devices in most functions.  For those that work directly on hardware
20771                         special-case test devices.
20772                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20773                         command-line.
20774                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20775                         checking to separate functions to facilitate test device link checking.
20776                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20777                         don't make a distinction between System Authentication and Encryption
20778                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20779                         on the card.  We don't deal with Shared Key auth yet.
20780                 - (nm_device_activation_worker): split the activation cancel check logic out into
20781                         a separate routine nm_device_activation_cancel_if_needed()
20782                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20783                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20784                         a list of fake access points that they can "see"
20785                 - (nm_device_is_test_device): return whether or not a device is a test device
20786
20787         * src/NetworkManagerPolicy.c
20788                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20789                         previously if you "locked"/forced NM to use a wireless device but then
20790                         selected a wireless network for NM to use, it would switch to a wired device.
20791                         So, if the active device is wireless and it has a "forced" best AP, use it
20792                         if the "forced" best AP is still valid
20793                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20794                         there were no usable network devices, or the last one was removed
20795
20796         * src/backends/NetworkManager*.c
20797                 - Deal with test devices, mostly just return success for operations like getting
20798                         a DHCP address
20799
20800         * test/nmtestdevices.c
20801                 - Test tool to create/remove/link-switch test devices
20802
20803 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20804
20805         * examples/python/NetworkManager.py: 
20806         added convience functions has_wired_device and has_wireless_device
20807
20808         * examples/python/systray/network_tray.py: 
20809         cleaned up a bunch of cruft, added support for listing wireless
20810         networks just like the real applet.  This is probably all I'm
20811         going to work on this applet from now on.
20812         TODO: add support for actually changing networks and devices
20813
20814         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20815         changed "nm.networks" into a dict from a list so I can store all
20816         the cool information about networks in there
20817
20818         * examples/python/systray/network_tray.py: 
20819         Added nice message when you try to run without running make first
20820
20821         * examples/python/NetworkManager.py: 
20822         Bug fixes to the code so we get all the device information
20823         that we need in get_device()
20824         
20825         * examples/python/NMTester.py: 
20826         Fixed _print_device_list to print_device_list
20827
20828 2004-08-29  Seth Nickell  <seth@gnome.org>
20829
20830         * configure.in:
20831
20832         Actually properly setup the Debian backend in configure.
20833         
20834 2004-08-29  Colin Walters  <walters@verbum.org>
20835
20836         * test/nminfotest.c: Include string.h and stdlib.h.
20837         (get_network_string_property, get_networks_of_type): Return NULL.
20838
20839         * test/nmclienttest.c (get_device_name, get_active_device): Return
20840         NULL.
20841
20842         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20843         use strlen, fgets always NULL-terminates the string.
20844
20845         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20846         dbus_message_get_member): Remove /* in comment.
20847
20848         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20849
20850         * src/NetworkManager.c (quit): Unused, delete.
20851         (nm_data_free): Cast arg to GFunc.
20852
20853         * panel-applet/NMWirelessAppletDbus.c: Need to include
20854         string.h, and dbus-glib-lowlevel.h (the latter is needed
20855         for dbus_connection_setup_with_g_main at present).
20856         (nmwa_dbus_update_wireless_network_list): Parenthesize
20857         assignment in conditional.
20858         (nmwa_dbus_worker): Return NULL.
20859
20860         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20861         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20862         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20863         (nmwa_populate_menu): Return NULL on failure, instead of just
20864         return;
20865
20866         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20867
20868         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20869         variables.
20870
20871         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20872         delete.
20873         
20874 2004-08-29  Colin Walters  <walters@verbum.org>
20875
20876         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20877         a GTimeVal instead of time_t.  This is easier to work with,
20878         since time_t may be a long or double, we don't know.
20879
20880         * src/NetworkManagerDbus.h: Update prototype.
20881         
20882         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20883         instead of time_t.
20884         (nm_ap_get_timestamp): Update to return GTimeVal.
20885         (nm_ap_set_timestamp): Update to take GTimeVal.
20886         
20887         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20888         to handle GTimeVal.
20889
20890         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20891         GTimeVal change.
20892         (nm_ap_list_print_members): Fix warnings in printf format.
20893
20894 2004-08-29  Colin Walters  <walters@verbum.org>
20895         
20896         * panel-applet/NMWirelessApplet.c: Include config.h.
20897
20898 2004-08-29  Colin Walters  <walters@verbum.org>
20899
20900         * configure.in: Generate config.h.
20901
20902         * configure.in: Dump dependency on OpenSSL; we can't
20903         use it since this package is GPL:
20904         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20905         Instead, check for libgcrypt, use it if available,
20906         otherwise use included MD5 code.
20907
20908         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20909         Suck in from gnome-keyring, munge a bit.
20910         
20911         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20912         gnome-keyring-md5.h gnome-keyring-md5.c.
20913         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20914
20915         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20916         libgcrypt or included gnome-keyring md5 bits.
20917         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20918
20919 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20920
20921         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20922
20923 2004-08-27  Bryan Clark  <bclark@redhat.com>
20924
20925         * examples/python/systray/Makefile: 
20926
20927         Updated the clean section
20928         
20929         * examples/python/systray/trayiconmodule.c: 
20930         * examples/python/systray/trayicon.override: 
20931         * examples/python/systray/network_tray.py: 
20932         * examples/python/systray/eggtrayicon.h: 
20933         * examples/python/systray/eggtrayicon.c: 
20934         * examples/python/systray/Makefile: 
20935         * examples/python/README: 
20936         * examples/python/NetworkManager.py: 
20937         * examples/python/NMTester.py: 
20938
20939         Initial commit of these python example files
20940
20941 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20942
20943         * panel-applet/NMWirelessApplet.c
20944                 - Make current device bold
20945                 - Show more user-friendly device name if we got one from hal
20946
20947         * panel-applet/NMWirelessAppletDbus.c
20948                 - Grab "info.product" key from hal for network devices
20949                 - Cache the current active device
20950
20951 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20952
20953         * configure.in: Added en_CA to ALL_LINGUAS.
20954
20955 2004-08-27  Christian Rose  <menthos@menthos.com>
20956
20957         * configure.in: Added "sv" to ALL_LINGUAS.
20958
20959 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20960
20961         * Tag NetworkManager-0.2
20962
20963 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20964
20965         * initscripts/Makefile.am
20966         * configure.in: Make pass distcheck
20967
20968         * po/ChangeLog: added
20969
20970 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20971
20972         * panel-applet/NMWirelessApplet.c
20973                 - Remove debugging code
20974                 - Enable device switching from menus
20975
20976         * panel-applet/NMWirelessAppletDbus.[ch]
20977                 - Method for asking NM to switch devices
20978
20979         * src/NetworkManagerDevice.c
20980                 - Set dev->activating earlier, avoids race between
20981                         the dbus signal of "DeviceActivating" and setting
20982                         dev->activating (which is what NM's "status" method call
20983                         looks at)
20984
20985 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20986
20987         * panel-applet/NMWirelessApplet.[ch]
20988                 - Rework menu code to add devices to menu, and to show
20989                         signal strength for each access point.  Code cleanups
20990                         too.
20991
20992         * panel-applet/NMWirelessAppletDbus.c
20993                 - Grab network devices from NetworkManager too
20994                 - Grab quality information from NM for wireless networks
20995
20996         * src/NetworkManagerDbus.[ch]
20997                 - Add dbus methods for getting the HAL UDI from a device and
20998                         for getting its base quality, if its wireless
20999                 - Consolidate some functions (wireless network notifications,
21000                         device notifications)
21001                 - Add method for requesting NM to use a particular device
21002
21003         * src/NetworkManager.c
21004                 - Change for function consolidations from NetworkManagerDbus.c
21005                 - Implement active device locking and user-requested devices
21006                         (ie, tell NM to use a particular device instead of the one
21007                         it autochose)
21008
21009         * src/NetworkManagerDevice.c
21010                 - Add method for getting the base quality of a device, if its
21011                         wireless
21012                 - Grab device base quailty info from iwlib during scans
21013
21014         * src/NetworkManagerPolicy.c
21015                 - Use a user-requested device rather than the auto-chosen device
21016                         if we are told to
21017
21018 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21019
21020         * Makefile.am: add po as a supdir
21021
21022         * autogen.sh: use gnome-autogen.sh
21023
21024         * initscript/Gentoo/.cvsignore:
21025         * initscript/RedHat/.cvsignore: Shut up cvs
21026
21027         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21028
21029         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21030         (nmwa_fill): Use gettext.
21031
21032         * configure.in: add gettext support
21033         * po/.cvsignore:
21034         * po/NetworkManager.pot:
21035         * po/POTFILES.in:
21036
21037 2004-08-26  Seth Nickell  <seth@gnome.org>
21038
21039         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21040         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21041         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21042         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21043         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21044         * panel-applet/NMWirelessApplet.h:
21045
21046         Use a menu bar instead of a button for the main clickable
21047         thingy.
21048         
21049 2004-08-25  Dan Williams <dcbw@redhat.com>
21050
21051         * src/NetworkManagerDevice.c
21052                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21053                         turning encryption off, because the Cisco driver doesn't associate
21054                         with WEP-enabled access points unless we are in "open"
21055
21056 2004-08-25  Dan Williams <dcbw@redhat.com>
21057
21058         * src/NetworkManagerWireless.c
21059                 - Don't try to defererence blank passphrases
21060
21061 2004-08-25  Dan Williams <dcbw@redhat.com>
21062
21063         * panel-applet/NMWirelessApplet.c
21064                 - Rebuild the menu whenever a user clicks
21065
21066 2004-08-25  Dan Williams <dcbw@redhat.com>
21067
21068         * panel-applet/NMWirelessApplet.c
21069                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21070                         when NM isn't around or when its not connected
21071
21072         * src/NetworkManagerDevice.c
21073                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21074                         canceled.
21075
21076 2004-08-25  Dan Williams <dcbw@redhat.com>
21077
21078         * panel-applet/NMWirelessAppletDbus.c
21079                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21080                         for getting encryption, and don't stop on "val" once we've gotten it
21081                         from NetworkManager.  Short form:  encryption should now show up.
21082
21083 2004-08-25  Dan Williams <dcbw@redhat.com>
21084
21085         * panel-applet/NMWirelessApplet.c
21086                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21087                         network to associate with
21088
21089 2004-08-25  Dan Williams <dcbw@redhat.com>
21090
21091         * panel-applet/*
21092                 - Rework the panel applet to do all DBUS communication in a separate
21093                         thread
21094
21095 2004-08-25  Dan Williams <dcbw@redhat.com>
21096
21097         * info-daemon/NetworkManagerInfo.[ch]
21098                 - Remove "get_next_priority" function
21099
21100         * info-daemon/NetworkManagerInfoDbus.[ch]
21101                 - Convert "priority" functions to "timestamp"
21102
21103 2004-08-25  Dan Williams <dcbw@redhat.com>
21104
21105         * src/NetworkManagerAP.[ch]
21106                 - Add a "enc_method_good" member and accessors to an Access Point
21107                         to signal when we've found the correct encryption method
21108                         for an access point
21109                 - Add a "timestamp" member and accessors, remove "priority" member
21110                         and accessors (use timestamps instead)
21111                 - Rename "wep_key"->"enc_key"
21112                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21113                         for a specified encryption method using the access points
21114                         source encryption key/passphrase
21115
21116         * src/NetworkManagerAPList.c
21117                 - When updating a network with dbus, grab timestamp now instead of
21118                         priority
21119
21120         * src/NetworkManagerDBus.[ch]
21121                 - Add signal for "DeviceActivating"
21122                 - Switch priority->timestamp
21123
21124         * src/NetworkManagerDevice.c
21125                 - Change references of "wep_key" -> "enc_key" or "key"
21126                 - Signal DeviceActivating when starting activation
21127                 - When activating a wireless device, if the access point we are connecting
21128                         to is encrypted, and we have a source key, try to generate a mangled
21129                         key and use that (ie, generate real WEP key from a passphrase)
21130                 - Rework device activation to fallback to other encryption methods if
21131                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21132                         first, then if that doesn't work fall back to direct hex key).
21133                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21134                         priority.  We now prefer the latest access point used, rather than using
21135                         a priority scheme
21136                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21137                         points we've just discovered, and merge in correct info from the global
21138                         access point lists
21139
21140 2004-08-25  Seth Nickell  <seth@gnome.org>
21141
21142         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21143         Debian support.
21144         
21145         * src/Makefile.am:
21146         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21147         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21148         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21149         (nm_system_delete_default_route),
21150         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21151         (nm_system_load_device_modules):
21152
21153 2004-08-24  Dan Willemsen <dan@willemsen.us>
21154
21155         * src/NetworkManager.c
21156           src/backends/NetworkManagerGentoo.c
21157           src/backends/NetworkManagerRedHat.c
21158           src/backends/NetworkManagerSystem.h
21159                 - Implement preliminary Gentoo support, adding a
21160                         nm_system_init function to the backend specification
21161
21162         * configure.in
21163                 - Distribution auto-detection, lowercase any user-fed
21164                         distribution names
21165
21166         * initscript/.cvsignore
21167           initscript/Makefile.am
21168           initscript/RedHat/Makefile.am
21169           initscript/RedHat/NetworkManager
21170           initscript/Gentoo/Makefile.am
21171           initscript/Gentoo/NetworkManager
21172                 - Refactored initscript code separately for each
21173                         distribution
21174
21175 2004-08-23  Dan Williams <dcbw@redhat.com>
21176
21177         * configure.in
21178           src/Makefile.am
21179           src/NetworkManagerDevice.c
21180           src/NetworkManager.c
21181           src/NetworkManagerUtils.[ch]
21182           src/backends/NetworkManagerSystem.h
21183           src/backends/NetworkManagerRedHat.c
21184           src/backends/NetworkManagerGentoo.c
21185                 - Refactor system-specific code into separate backends for
21186                         each distribution
21187
21188 2004-08-23  Dan Willemsen <dan@willemsen.us>
21189
21190         * dispatcher-daemon/NetworkManagerDispatcher.c
21191           info-daemon/NetworkManagerInfo.[ch]
21192           info-daemon/NetworkManagerInfoDbus.c
21193           info-daemon/NetworkManagerInfoPassphraseDialog.c
21194           src/NetworkManager.c
21195           src/NetworkManagerAP.c
21196           src/NetworkManagerAPList.c
21197           src/NetworkManagerDbus.c
21198           src/NetworkManagerDevice.c
21199           src/NetworkManagerPolicy.c
21200           src/NetworkManagerUtils.[ch]
21201           src/NetworkManagerWireless.c
21202                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21203
21204         * src/NetworkManager.c
21205                 - Fixed usage wording for --no-daemon
21206
21207 2004-08-23  Dan Williams <dcbw@redhat.com>
21208
21209         * panel-applet/NMWirelessApplet.c
21210                 - Update our state every second to get more responsive panel icon
21211                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21212                         was causing our marching ants status blips to never move when
21213                         looking for a wireless network
21214
21215         * src/NetworkManagerDevice.c
21216                 - (nm_device_activation_begin): return if activation has already begun
21217                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21218                         trusted/preferred network into the device's access point when the
21219                         scan list is processed
21220
21221 2004-08-23  Dan Williams <dcbw@redhat.com>
21222
21223         * initscript/NetworkManager
21224                 - Use NMLaunchHelper rather than sleeping
21225
21226         * initscript/NMLaunchHelper.c
21227           Makefile.am
21228                 - Add helper program that exits only when NM activates a device,
21229                         or 10 seconds have passed, whichever happens first.  This
21230                         stops the boot processes until we have a network connection,
21231                         which NM can't do because it daemonizes and brings the connection
21232                         up in the background.  Allows stuff like NFS to not die.
21233
21234 2004-08-20  Dan Williams <dcbw@redhat.com>
21235
21236         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21237                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21238                         for a network, set the essid as well since it may not exist yet
21239                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21240                         since WEP keys/passphrases are long and prone to entry-error
21241
21242         * panel-applet/Makefile.am
21243           panel-applet/wired.png
21244                 - Add (pulled from system-config-network temporarily)
21245
21246         * panel-applet/NMWirelessApplet.[ch]
21247                 - Show wired picture when a wired connection is used
21248                 - Rename wireless icon enums, adding WIRELESS
21249
21250         * src/NetworkManagerDevice.c
21251                 - (nm_device_activate_wireless): unset encryption before bringing
21252                         down the card and setting the essid
21253                 - (nm_device_activatin_worker): request a key from the user if the
21254                         AP we are connecting to is encrypted but we don't have a key
21255                         for it yet
21256                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21257                         strcmp() that prevented a user-entered key from actually getting
21258                         used
21259
21260 2004-08-16  Dan Williams <dcbw@redhat.com>
21261
21262         * initscript/NetworkManager
21263                 - Check for /sbin/ip
21264                 - Do sysctl magic that network service does
21265                 - sleep 4s after start to allow network time to come up [hack]
21266
21267         * src/Makefile.am
21268           src/NMLoadModules
21269                 - Load all network device kernel modules (hal doesn't know devices
21270                         are ethernet until the module is loaded, and therefore we don't know)
21271
21272         * src/NetworkManager.c
21273                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21274                         network devices, and bring up the loopback device explicitly
21275
21276         * src/NetworkManagerUtils.[ch]
21277                 - (nm_enable_loopback): new function
21278
21279 2004-08-13  Dan Williams <dcbw@redhat.com>
21280
21281         * configure.in
21282           panel-applet/Makefile.am
21283                 - Fix up cleanfiles and server_DATA/server_in_files
21284
21285         * README
21286                 - Update with some comments on theory of operation
21287
21288         * CONTRIBUTING
21289           Makefile.am
21290                 - Add CONTRIBUTING
21291
21292 2004-08-12  Dan Williams <dcbw@redhat.com>
21293
21294         * info-daemon/passphrase.glade
21295                 - Set window title to " "
21296
21297         * panel-applet/Makefile.am
21298           panel-applet/keyring.png
21299                 - Deliver to correct place
21300
21301         * panel-applet/NMWirelessApplet.[ch]
21302                 - Add comments
21303                 - Remove applet->have_active_device as its no longer used
21304                 - (nmwa_load_theme): load keyring.png too
21305                 - (error_dialog): remove
21306                 - (show_warning_dialog): subsume functionality of error dialog too
21307                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21308                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21309                         the networks menu
21310                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21311                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21312                         and when we get broadcasts of changed wireless access points only, not when the
21313                         user clicks on the button to display the menu (too long of a wait)
21314                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21315                         networks that are encrypted
21316                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21317                         menu item with g_object_set_data()
21318
21319         * panel-applet/NMWirelessAppletDbus.[ch]
21320                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21321                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21322                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21323                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21324                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21325                         activation/deactivation signals and rebuild the menu when they happen
21326
21327         * src/NetworkManager.c
21328                 - (main): use new nm_spawn_process() rather than system()
21329
21330         * src/NetworkManagerDbus.c
21331                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21332                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21333                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21334                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21335                         to freeze the best_ap.
21336
21337         * src/NetworkManagerDevice.[ch]
21338                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21339                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21340                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21341                         ap list
21342
21343         * src/NetworkManagerUtils.[ch]
21344                 - (nm_spawn_process): add replacement for system() usage
21345
21346 2004-08-11  Dan Williams <dcbw@redhat.com>
21347
21348         * panel-applet/NMWirelessApplet.[ch]
21349                 - Fix up copyright and credits to include Bastien and Eskil,
21350                         who created the gnome-applets wireless applet, from whose
21351                         skeleton this one was created
21352                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21353                         pixmap to draw is computed during nmwa_update_state()
21354                 - Applet now shows itself all the time due to panel packing issues
21355                         which caused the applet to previously never come back after hiding.
21356                         When a wired device is the active device, the applet shows "not connected"
21357
21358         * panel-applet/NMWirelessAppletDbus.[ch]
21359                 - Clean up error messages and show what function they are from
21360                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21361                 - Add new device type getters, and a status getter
21362
21363         * src/NetworkManagerDbus.c
21364                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21365                         network is actually in the device's ap list
21366                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21367
21368         * src/NetworkManagerDevice.c
21369                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21370                         card
21371
21372         * test/nmclienttest.c
21373                 - Report status of NetworkManager too
21374
21375 2004-08-11  Dan Williams <dcbw@redhat.com>
21376
21377         * info-daemon/NetworkManagerInfo.c:
21378                 - (main): clean up Seth's code style
21379
21380         * info-daemon/NetworkManagerInfoDbus.c:
21381                 - Use the more aptly-named path/service/interface constants from NetworkManager
21382                 - Don't return empty strings ("") as object paths ever, instead return errors
21383
21384         * panel-applet/NMWirelessApplet.c:
21385                 - Clean up Seth's code style
21386
21387         * src/NetworkManager.[ch]
21388                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21389                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21390
21391         * src/NetworkManagerAPList.[ch]
21392                 - Move Iter struct right above the iter functions to preserve opacity
21393                 - (nm_ap_list_remove_ap): implement
21394                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21395                         remove AP if NetworkManagerInfo doesn't know anything about it
21396                 - (nm_ap_list_diff): user NMAPList iterators
21397                 - (nm_ap_list_print_members): implement debugging function
21398
21399         * src/NetworkManagerDbus.[ch]
21400                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21401                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21402                         and move the actual key setting stuff into NetworkManagerDevice.c
21403                 - (nm_dbus_get_network_priority): return -1 now on errors
21404                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21405                         get lost, and force the active device to update its "best" ap when AP lists change
21406                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21407                         method call due to pending_device member removal
21408
21409         * src/NetworkManagerDevice.[ch]
21410                 - Move NMDevice structure to the top
21411                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21412                 - Remove Pending Action stuff from everywhere
21413                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21414                         activation for us.  This thread blocks until all conditions for activation have
21415                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21416                         then setup up the interface and runs dhclient.  We have to do this because there
21417                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21418                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21419                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21420                         can tell nm_device_activation_worker() that we've got a key
21421                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21422                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21423                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21424                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21425
21426         * src/NetworkManagerPolicy.c
21427                 - Remove anything to do with pending_device
21428                 - Adjust device activation to deal with activation-in-worker-thread
21429
21430         * src/NetworkManagerUtils.c
21431                 - Clean up locking debugging a bit
21432
21433         * src/NetworkManagerWireless.[ch]
21434                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21435                         was badly named and is better as a device function
21436
21437         * panel-applet/.cvsignore: add
21438
21439 2004-08-09  Seth Nickell  <seth@gnome.org>
21440
21441         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21442         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21443         (nmwa_new):
21444         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21445
21446         Don't load the menus until clicked on (also removes a call outside
21447         normal code paths at first load).
21448
21449         Hide applet when NM is not present.
21450         
21451         Improve printf debugging stuff.
21452         
21453 2004-08-09  Dan Williams <dcbw@redhat.com>
21454
21455         * dispatcher-daemon/NetworkManagerDispatcher.c:
21456                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21457                 - Use constants for NetworkManager interface, service, and path
21458
21459 2004-08-09  Dan Williams <dcbw@redhat.com>
21460
21461         * src/NetworkManagerDbus.c:
21462                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21463                         instead return an error message
21464                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21465                         on a wired device.  Also never return an empty object path, instead return an error message
21466
21467 2004-08-06  Seth Nickell  <seth@gnome.org>
21468
21469         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21470
21471         Check the error code when getting a connection.
21472         
21473         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21474
21475         Check if the NM service exists when initializing (rather than
21476         assuming it does not).
21477         
21478         * src/NetworkManagerDbus.c: (nm_dbus_init):
21479
21480         Don't acquire the well-known service name until we have
21481         registered object/path handlers and can actually receive
21482         calls.
21483         
21484 2004-08-06  Dan Williams <dcbw@redhat.com>
21485
21486         * panel-applet/*
21487                 - Add panel applet
21488
21489         * src/NetworkManagerPolicy.c
21490           src/NetworkManager.c
21491                 - Get access point lists from NetworkManagerInfo on-demand,
21492                         and look for ServiceCreate/ServiceDeleted signals to see when
21493                         we should query NMI for lists
21494         * src/NetworkManagerAPList.c
21495                 - Make sure to init the list's mutex
21496                 - Convert traversals of the list over to the list iter functions
21497
21498         * src/NetworkManagerDbus.[ch]
21499                 - Use more aptly-named path/service/interface constants
21500                 - Treat both active and pending devices the same for "getActiveDevice"
21501                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21502
21503         * src/NetworkManagerDevice.c
21504                 - Honor "ignored" network list when picking best ap to use
21505
21506 2004-08-06  Seth Nickell  <seth@gnome.org>
21507
21508         * aclocal.m4:
21509
21510         Autogenerated, remove from CVS.
21511         
21512         * autogen.sh:
21513
21514         Don't hardcode automake version.
21515         
21516         * configure.in:
21517         * info-daemon/Makefile.am:
21518         * info-daemon/NetworkManagerInfo.c: (main):
21519
21520         Use GnomeProgram et al. for doing session management.
21521         Use popt stuff for argument parsing rather than doing
21522         it manugally.
21523         
21524 2004-08-05  Dan Williams <dcbw@redhat.com>
21525
21526         * test/nminfotest.c
21527                 - Update to new NMI dbus API, check different network types
21528
21529         * info-daemon/NetworkManagerInfoDbus.c
21530                 - Update to new NM dbus API, ie network type sent in query message
21531
21532 2004-08-05  Dan Williams <dcbw@redhat.com>
21533
21534         * An assload of changes
21535
21536 2004-08-02  Dan Williams <dcbw@redhat.com>
21537
21538         * TODO
21539                 - new task: proper logging support
21540
21541         * info-daemon/NetworkManagerInfo.c
21542                 - Correct spelling of "canceled"
21543                 - Correct casting of objects for g_signal_connect()
21544
21545         * info-daemon/NetworkManagerInfoDbus.c
21546                 - Add defines for NetworkManager namespace and object path, and use them
21547                 - Add filter function to trap new signals from NetworkManager:
21548                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21549
21550         * info-daemon/passphrase.glade
21551                 - Change name of "ok" button to "Login to Network..."
21552                 - Mark invisible
21553
21554         * src/NetworkManager.c
21555                 - Code and debug message cleanups
21556                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21557                 - (nm_add_initial_devices) Check returned string array of devices
21558                         and don't try to add devices if array is NULL
21559                 - (main) Initialize libhal a bit later, make code a bit clearer
21560
21561         * src/NetworkManagerAP.[ch]
21562                 - New accessor and data member "matched": used to speed up AP list
21563                         diffing
21564                 - New accessor and data member "enc_method": will be used during key
21565                         fallback to cache which passphrase->key conversion actually works
21566                         so we don't have to do it every time
21567
21568         * src/NetworkManagerAPList.[ch]
21569                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21570                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21571                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21572                         dbus in response to those differences
21573
21574         * src/NetworkManagerDbus.[ch]
21575                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21576                         make an object path for that access point (NOTE that we don't yet check to
21577                         make sure that access point is actually in the device's AP list yet)
21578                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21579                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21580                         New: signal appearance/disappearance of wireless networks
21581                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21582                         key entry
21583
21584         * src/NetworkManagerDevice.[ch]
21585                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21586                 - (nm_device_ap_list_get) New: return the AP list (static function)
21587                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21588                         new one resulting from the scan with the old one
21589
21590         * src/NetworkManagerWireless.c
21591                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21592
21593         * test/nminfotest.c
21594                 - #define object paths and namespaces and use the #defines rather than static strings
21595                 - Test out user-key functionality of NetworkManagerInfo too
21596
21597 2004-07-29  Dan Williams <dcbw@redhat.com>
21598
21599         * info-daemon/NetworkManagerInfoDbus.c
21600           src/NetworkManagerDbus.c
21601                 - Update to current DBus (ie don't use decomposed paths when registering
21602                         object paths/fallbacks)
21603
21604 2004-07-27  Dan Williams <dcbw@redhat.com>
21605
21606         * Remove various Makefile.in files
21607
21608         * TODO
21609                 - Add some more items
21610
21611         * configure.in
21612                 - Add checks for OpenSSL/md5 headers and libs
21613
21614         * src/Makefile.am
21615                 - Use OpenSSL CFLAGS
21616
21617         * src/NetworkManagerAP.[ch]
21618                 - Remove 'stamp' functions, replace with 'invalid' functions
21619                         to support user cancelling WEP key entry
21620
21621         * src/NetworkManagerDbus.c
21622                 - Remove 'stamp' return functions
21623                 - Treat returned user key as a passphrase and convert to a WEP key,
21624                         but don't actually use the WEP key yet.  We use the returned user
21625                         key as a hexadecimal WEP key until we can figure out a UI for
21626                         passphrase-vs-hex key
21627
21628         * src/NetworkManagerWireless.[ch]
21629                 - Add passphrase-to-128bit-key function
21630
21631 2004-07-27  Dan Williams <dcbw@redhat.com>
21632
21633         * TODO
21634                 - Add a couple of items
21635
21636 2004-07-27  Dan Williams <dcbw@redhat.com>
21637
21638         * info-daemon/NetworkManagerInfo.c
21639                 - Update allowed network's GConf key when user enters a WEP key explicitly
21640
21641         * info-daemon/NetworkManagerDbus.c
21642                 - Fix some comments
21643                 - nmi_dbus_get_allowed_networks(): kill warning
21644
21645 2004-07-27  Dan Williams <dcbw@redhat.com>
21646
21647         * initscript/Makefile.in
21648                 - Remove
21649
21650         * initscript/Makefile.am
21651                 - Add correct rules to install the init.d initscript
21652
21653         * info-daemon/NetworkManagerInfoDbus.c
21654                 - Remove debug fprintf
21655
21656         * src/NetworkManagerDbus.[ch]
21657                 - Remove debug fprintfs
21658                 - Add macros for NetworkManagerInfo object path/namespace
21659                 - Use said macros instead of constant strings
21660
21661 2004-07-27  Dan Williams <dcbw@redhat.com>
21662
21663         * initscript/.cvsignore
21664                 - Add
21665
21666         * info-daemon/Makefile.am
21667                 - Install .glade files and keyring.png
21668                 - Fix stupid omission of a \ that caused half the flags not to be
21669                         passed to gcc
21670
21671         * info-daemon/NetworkManagerInfo.c
21672                 - gtk_signal_connect->g_signal_connect
21673                 - Alert NetworkManagerInfo to new glade file location
21674
21675 2004-07-27  Dan Williams <dcbw@redhat.com>
21676
21677         * test/nmclienttest.c
21678           test/nminfotest.c
21679                 - Add missing <dbus/dbus.h> headers
21680                 - Add GPL message at top
21681
21682 2004-07-27  Dan Williams <dcbw@redhat.com>
21683
21684         * src/NetworkManagerAPList.[ch]
21685           src/Makefile.am
21686                 - Add.  Deal with allowed network list additions, deletions, and updates
21687
21688         * dispatcher-daemon/NetworkManagerDispatcher.c
21689                 - Add missing <dbus/dbus.h> header
21690
21691         * info-daemon/NetworkManagerInfo.[ch]
21692                 - Add missing <dbus/dbus.h> header
21693                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21694                         network change
21695                 - Better error checking
21696
21697         * info-daemon/NetworkManagerInfoDbus.[ch]
21698                 - Add missing <dbus/dbus.h> header
21699                 - Convert to using dbus_message_append_args/dbus_message_get_args
21700                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21701                         that an allowed network changed.  We don't want to signal on individual
21702                         keys _inside_ an allowed network really, just want NM to query the info
21703                         daemon for updated info on all keys.
21704                 - Better error checking
21705
21706         * src/NetworkManager.[ch]
21707                 - Add missing <dbus/dbus.h> header
21708                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21709                 - Zero out NMData structure on free
21710                 - No longer use a thread for allowed_ap_list updating, instead its now done
21711                         through dbus queries against NetworkManagerInfo
21712                 - Populate allowed_ap_list initially before adding existing network devices
21713                         to the device list, so wireless devices can get their "best" AP
21714
21715         * src/NetworkManagerDbus.[ch]
21716                 - Convert to using dbus_message_append_args/dbus_message_get_args
21717                 - Better error checking
21718                 - Implement Allowed Network info functions to request allowed network
21719                         info from NetworkManagerInfo
21720                 - Implement the filter function to process signals from NetworkManagerInfo
21721                         about changing allowed networks
21722
21723         * src/NetworkManagerDevice.c
21724                 - Fix file descriptor leak in nm_device_update_ip4_address()
21725
21726 2004-07-27  Dan Williams <dcbw@redhat.com>
21727
21728         * .cvsignore
21729           src/.cvsignore
21730           test/.cvsignore
21731           dispatcher-daemon/.cvsignore
21732           info-daemon/.cvsignore
21733                 - Add .cvsignore files to reduce noise when diffing
21734
21735 2004-07-24  Dan Williams <dcbw@redhat.com>
21736
21737         * src/NetworkManager.[ch]
21738           src/NetworkManagerDbus.[ch]
21739           src/NetworkManagerDevice.[ch]
21740           src/NetworkManagerPolicy.c
21741           src/NetworkManagerWireless.[ch]
21742                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21743                 - Pass the NMData application data structure through all calls
21744                         that need it so we can get rid of nm_get_global_data()
21745                 - Change deallocation of the allowed_ap_list GSList in preparation
21746                         for not completely clearing it every time we get an update,
21747                         but instead getting incremental updates via GConf/dbus
21748
21749 2004-07-22  Dan Williams <dcbw@redhat.com>
21750
21751         * configure.in
21752                 - Add checks for GConf libs & headers & flags
21753
21754         * info-daemon/Makefile.am
21755                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21756
21757         * info-daemon/NetworkManagerInfo.[ch]
21758                 - Don't use gquarks for data storage, just use normal data storage
21759                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21760
21761         * info-daemon/NetworkManagerDbus.[ch]
21762                 - Add method call for getting allowed networks
21763                 - Add method calls for getting an allowed network's essid, priority, and key
21764                 - Hook the method calls up to GConf
21765                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21766                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21767                 
21768         * src/NetworkManagerDbus.[ch]
21769                 - Switch for enumeration of networks to using essid instead
21770
21771         * test/Makefile.am
21772           test/nminfotest.c
21773                 - Add test program for NetworkManagerInfo
21774
21775 2004-07-19  Dan Williams <dcbw@redhat.com>
21776
21777         * src/NetworkManagerDbus.c
21778                 - Switch from indexed device paths to names.  Less code, more efficient.
21779                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21780
21781 2004-07-19  Dan Williams <dcbw@redhat.com>
21782
21783         * dispatcher-daemon/NetworkManagerDispatcher.c
21784                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21785
21786 2004-07-19  Dan Williams <dcbw@redhat.com>
21787
21788         * Makefile.am
21789                 - Add info-daemon directory
21790
21791         * configure.in
21792                 - Check for glade libs and headers
21793                 - Add info-daemon directory
21794
21795         * src/NetworkManagerAP.c
21796                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21797                         copied over to the new AP.
21798
21799         * src/NetworkManagerDbus.c
21800           src/NetworkManagerDbus.h
21801                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21802                 - Remove nm_dbus_signal_need_key_for_network()
21803                 - Add disabled code for asynchronous user wep key callbacks
21804                 - Add functions for getting, setting, and cancelling user key operations
21805                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21806                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21807
21808         * src/NetworkManagerDevice.c
21809           src/NetworkManagerDevice.h
21810                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21811                         logic is in device activation now
21812                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21813                         key is wrong) trigger get-user-key pending action
21814                 - Implement get-user-key pending action stuff, tie to dbus messages
21815                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21816                 - Add nm_device_ap_list_get_ap_by_essid()
21817                 - Instead of copying "best" access points, ref them instead so that the key we set
21818                         sticks around
21819
21820         * src/NetworkManagerPolicy.c
21821                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21822                 - Don't cancel pending actions on a device if its the same device as last iteration
21823                 - Only promote pending_device->active_device if activation was successfull
21824
21825         * src/Makefile.am
21826                 - Rename nmclienttest->nmtest
21827
21828         * info-daemon/Makefile.am
21829           info-daemon/NetworkManagerInfo.c
21830           info-daemon/NetworkManagerInfo.h
21831           info-daemon/NetworkManagerInfoDbus.c
21832           info-daemon/NetworkManagerInfoDbus.h
21833           info-daemon/passphrase.glade
21834           info-daemon/NetworkManagerInfo.conf
21835           info-daemon/keyring.png
21836                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21837                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21838                         lists to NetworkManager by proxying user's GConf
21839           
21840
21841 2004-07-15  Dan Williams <dcbw@redhat.com>
21842
21843         * src/Makefile.am
21844                 - Turn on warnings
21845
21846         * src/NetworkManager.c
21847                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21848                         that doing the deactivation ourselves
21849                 - Cancel an pending actions on a device if its being removed
21850                 - Break up link state checking a bit, make non-active wireless cards
21851                         deactivated to save power
21852                 - Remove unused variables
21853
21854         * src/NetworkManager.h
21855                 - Add support for "pending" device
21856
21857         * src/NetworkManagerAP.h
21858           src/NetworkManagerAP.c
21859                 - Add support for determining whether and AP has encryption enabled or not
21860                 - AP address is now "struct ether_addr" rather than a string
21861
21862         * src/NetworkManagerDbus.h
21863           src/NetworkManagerDbus.c
21864                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21865                 - Changes for AP address from struct ether_addr->string
21866
21867         * src/NetworkManagerDevice.h
21868           src/NetworkManagerDevice.c
21869                 - Remove unused variables, fix warnings
21870                 - Add support for Pending Actions (things that block a device from being "active"
21871                         until they are completed).
21872                 - First pending action:  Get a WEP key from the user
21873                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21874                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21875                 - Update wireless link checking to try to determine if the AP we are associated
21876                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21877                         trigger the GetUserKey pending action on the device
21878                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21879                         up in that case, otherwise we can't scan or link-check on it
21880                 - Add IP address change notifications at appropriate points (still needs some work)
21881                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21882
21883         * src/NetworkManagerPolicy.h
21884           src/NetworkManagerPolicy.c
21885                 - Split out "best" access point determiniation into separate function
21886                 - Make device activation 2-stage:  first the device is pending, then
21887                         in the next iteration through it becomes "active" unless it has
21888                         pending actions
21889
21890         * src/NetworkManagerUtils.h
21891           src/NetworkManagerUtils.c
21892                 - Clean up unused variables and warnings
21893                 - Wrap our debug macros in {} to prevent possible confusion
21894
21895         * src/NetworkManagerWireless.c
21896                 - Forgot to return current best priority, which lead to last available AP always
21897                         being chosen no matter what its priority was.  Corrected.
21898
21899 2004-07-15  Dan Williams <dcbw@redhat.com>
21900
21901         * dispatcher-daemon/Makefile.am
21902                 - Turn on warnings
21903
21904         * dispatcher-daemon/NetworkManagerDispatcher.c
21905                 - Remove unused variables due to warnings
21906                 - Fix some comments
21907                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21908
21909 2004-07-06  Dan Williams <dcbw@redhat.com>
21910
21911         * src/NetworkManager.c
21912                 - Add IPv4 address update for active device during link state check
21913                 - Don't allow wireless cards to be powered up when they are not the
21914                         active device
21915
21916         * src/NetworkManagerDbus.c
21917           src/NetworkManagerDbus.h
21918                 - Add DBUS IPv4 address change signal
21919                 - Add DBUS IPv4 address get method for devices
21920
21921         * src/NetworkManagerDevice.c
21922                 - Make setting the WEP key actually work
21923                 - Move IP address get/set/update stuff here, per-device
21924                 - Power down/bring down wireless device when deactivated
21925                 - For scanning wireless devices, if first scan returned ENODATA, try again
21926
21927         * src/NetworkManagerPolicy.c
21928                 - Only set the WEP key for an allowed access point if there is one.
21929                         We were setting it to be blank if one wasn't specified.
21930
21931         * src/NetworkManagerUtils.h
21932           src/NetworkManagerUtils.c
21933                 - Move the IP address stuff to NetworkManagerDevice.c
21934
21935         * dispatcher-daemon/NetworkManagerDispatcher.c
21936                 - Add device IPv4 address change notification stuff
21937
21938 2004-07-05  Dan Williams <dcbw@redhat.com>
21939
21940         * dispatcher-daemon/NetworkManagerDispatcher.c
21941                 - A bit more descriptive state message
21942                 - Don't segfault when reading directory
21943
21944         * src/NetworkManager.h
21945                 - Remove NMData desired_ap member, its now
21946                         per-device rather than global
21947
21948         * src/NetworkManager.c
21949                 - Remove references to desired_ap
21950                 - Move the allowed AP list refresh stuff into a thread
21951
21952         * src/NetworkManagerDevice.c
21953           src/NetworkManagerDevice.h
21954                 - Each wireless device now has a "best ap"
21955                 - Make device activate/deactivate functions per-device
21956                 - Make wireless scanning per-device
21957                 - Add IPv4 address discover functions, stub IPv6 ones
21958                 - Move ethernet address validation functions to NetworkManagerUtils.c
21959                 - Add wireless access point accessor function
21960                 - Get/Set functions for "best ap"
21961
21962         * src/NetworkManagerPolicy.c
21963                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21964                 - Deal with per-device "best ap" rather than data->desired_apa
21965                 - Implement allowed access point worker thread
21966                 - Add nm_policy_essid_is_allowed() function
21967
21968         * src/NetworkManagerUtils.c
21969           src/NetworkManagerUtils.h
21970                 - Add nm_ethernet_address_is_valid() function
21971                 - Add IPv4/IPv6 address get functions
21972
21973         * src/NetworkManagerWireless.c
21974           src/NetworkManagerWireless.h
21975                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21976
21977 2004-06-29  Dan Williams <dcbw@redhat.com>
21978
21979         * dispatcher-daemon/NetworkManagerDispatcher.c
21980                 - Implement script callout functionality
21981
21982 2004-06-24  Dan Williams <dcbw@redhat.com>
21983
21984         * NetworkManager.c
21985             - Spacing cleanups
21986             - Flush device routes and ip addresses when added to the device list
21987
21988         * NetworkManagerDbus.c
21989             - Spacing cleanups
21990             - Add missing returns in the two signal functions
21991         
21992         * NetworkManagerPolicy.c
21993             - Spacing and variable cleanups
21994
21995 2004-06-24  Dan Williams <dcbw@redhat.com>
21996
21997         * Makefile.am
21998           Makefile.in
21999           configure.in
22000           dispatcher-daemon/Makefile.am
22001           dispatcher-daemon/Makefile.in
22002           dispatcher-daemon/NetworkManagerDispatcher.c
22003             - Add a daemon that receives signals from NetworkManager
22004                         and will (eventually) call scripts in /etc/somewhere
22005                         when devices go up or down.
22006         
22007         * NetworkManager.c
22008             - Spacing cleanups
22009             - Flush device routes and ip addresses when added to the device list
22010
22011         * NetworkManagerDbus.c
22012             - Spacing cleanups
22013             - Add missing returns in the two signal functions
22014         
22015         * NetworkManagerPolicy.c
22016             - Spacing and variable cleanups
22017             - Rename nm_policy_switch_interface->nm_policy_switch_device
22018             - nm_policy_switch_device():
22019                                 Use kill (pid) instead of system ("kill <pid>")
22020             - nm_state_modification_monitor():
22021                                 Add wireless essid to output of debug statements
22022                                 Correct typo in device compare to switch or not (should be !=)
22023                                 Don't sleep after sending "no longer active" signal, was useless
22024
22025 2004-06-24  Dan Williams <dcbw@redhat.com>
22026
22027         * Initial import