2008-11-19 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-19  Dan Williams  <dcbw@redhat.com>
2
3         * configure.in
4           Makefile.am
5           docs/libnm-util/Makefile.am
6           docs/libnm-util/libnm-util.types
7                 - Start to document libnm-util
8
9 2008-11-19  Dan Williams  <dcbw@redhat.com>
10
11         * libnm-util/nm-connection.h
12           libnm-util/nm-connection.c
13                 - Document public functions
14
15 2008-11-19  Dan Williams  <dcbw@redhat.com>
16
17         * libnm-util/nm-setting.h
18           libnm-util/nm-setting.c
19           src/nm-device.c
20           src/nm-manager.c
21           system-settings/plugins/ifcfg-fedora/plugin.c
22                 - Prefix compare flag defines with NM_SETTING_
23
24 2008-11-19  Dan Williams  <dcbw@redhat.com>
25
26         * libnm-util/nm-connection.c
27           libnm-util/nm-connection.h
28                 - (nm_connection_replace_settings): take a GError
29
30         * libnm-glib/nm-settings.c
31           libnm-glib/nm-dbus-connection.c
32           src/nm-manager.c
33           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
34           system-settings/plugins/keyfile/nm-keyfile-connection.c
35           system-settings/plugins/keyfile/plugin.c
36                 - Handle, or don't handle, errors from nm_connection_replace_settings()
37
38 2008-11-19  Dan Williams  <dcbw@redhat.com>
39
40         * libnm-util/libnm-util.ver
41           libnm-util/nm-connection.c
42                 - (nm_setting_register, nm_setting_unregister): unexport; they are
43                         private and don't have a use outside libnm-util
44
45 2008-11-17  Dan Williams  <dcbw@redhat.com>
46
47         * src/nm-hso-gsm-device.c
48                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
49                         devices
50
51 2008-11-17  Dan Williams  <dcbw@redhat.com>
52
53         * system-settings/plugins/ifcfg-fedora/reader.c
54                 - (read_mac_address): clean up
55                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
56                         expects
57
58         * system-settings/plugins/ifcfg-fedora/plugin.c
59                 - (read_one_connection): don't segfault on NULL errors
60
61 2008-11-14  Dan Williams  <dcbw@redhat.com>
62
63         * Tag 0.7.0-rc2
64
65 2008-11-14  Dan Williams  <dcbw@redhat.com>
66
67         Handle gateways on different subnets
68
69         * src/NetworkManagerSystem.c
70                 - (add_ip4_route_to_gateway): gateway route should be link scope and
71                         a host route
72                 - (replace_default_ip4_route): use a destination address too; gateway
73                         address should be /0; don't leak the gateway route object
74
75 2008-11-14  Dan Williams  <dcbw@redhat.com>
76
77         * libnm-glib/libnm_glib.ver
78           libnm-glib/nm-dbus-settings-system.c
79           libnm-glib/nm-dbus-settings-system.h
80                 - Add libnm-glib bits for CanModify
81
82 2008-11-14  Dan Williams  <dcbw@redhat.com>
83
84         * introspection/nm-settings-system.xml
85           system-settings/src/dbus-settings.c
86           system-settings/src/dbus-settings.h
87                 - Add a "CanModify" property to indicate if any plugins support
88                         connection modification
89
90 2008-11-14  Dan Williams  <dcbw@redhat.com>
91
92         Relicense libnm-glib to LGPLv2+ with agreement from contributors
93
94 2008-11-14  Dan Williams  <dcbw@redhat.com>
95
96         * vpn-manager/nm-vpn-connection.c
97                 - (plugin_state_changed): clear VPN secrets on error to ensure they
98                         are always requested from the settings service (rh #429287)
99
100 2008-11-13  Dan Williams  <dcbw@redhat.com>
101
102         * libnm-util/crypto.c
103                 - (crypto_get_private_key_data): fix bad initial arg type checking
104                         from pkcs#12 patch
105
106 2008-11-13  Dan Williams  <dcbw@redhat.com>
107
108         Add support for PKCS#12 private keys (bgo #558982)
109
110         * libnm-util/crypto.c
111           libnm-util/crypto.h
112                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
113                         take a GByteArray instead of a filename
114                 - (file_to_g_byte_array): handle private key files too
115                 - (decrypt_key): take a GByteArray rather than data + len
116                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
117                         one function that takes a filename, and one that takes raw data;
118                         detect pkcs#12 files as well
119                 - (crypto_load_and_verify_certificate): detect file type
120                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
121                         functions
122
123         * libnm-util/crypto_gnutls.c
124                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
125                         whereby tail padding was incorrectly handled, leading to erroneous
126                         successes when trying to decrypt the data
127                 - (crypto_verify_cert): rework somewhat
128                 - (crypto_verify_pkcs12): validate pkcs#12 keys
129
130         * libnm-util/crypto_nss.c
131                 - (crypto_init): enable various pkcs#12 ciphers
132                 - (crypto_decrypt): take a GByteArray rather than data + len
133                 - (crypto_verify_cert): clean up
134                 - (crypto_verify_pkcs12): validate pkcs#12 keys
135
136         * libnm-util/test-crypto.c
137                 - Handle pkcs#12 keys
138
139         * libnm-util/nm-setting-8021x.c
140           libnm-util/nm-setting-8021x.h
141           libnm-util/libnm-util.ver
142                 - Add two new properties, 'private-key-password' and
143                         'phase2-private-key-password', to be used in conjunction with
144                         pkcs#12 keys
145                 - (nm_setting_802_1x_set_ca_cert_from_file,
146                    nm_setting_802_1x_set_client_cert_from_file,
147                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
148                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
149                         type
150                 - (nm_setting_802_1x_get_private_key_password,
151                    nm_setting_802_1x_get_phase2_private_key_password): return private
152                         key passwords
153                 - (nm_setting_802_1x_set_private_key_from_file,
154                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
155                         key from a file, and update the private key password at the same time
156                 - (nm_setting_802_1x_get_private_key_type,
157                    nm_setting_802_1x_get_phase2_private_key_type): return the private
158                         key type
159
160         * src/supplicant-manager/nm-supplicant-settings-verify.c
161                 - Whitelist private key passwords
162
163         * src/supplicant-manager/nm-supplicant-config.c
164                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
165                         add the private key password to the supplicant config, but do not
166                         add the client certificate (as required by wpa_supplicant)
167
168 2008-11-12  Tambet Ingo  <tambet@gmail.com>
169
170         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
171         (add_secrets): Don't add empty secrets to the secrets hash table.
172
173 2008-11-07  Dan Williams  <dcbw@redhat.com>
174
175         * libnm-util/nm-setting-wireless.c
176                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
177                         that cased this function to return garbage, breaking hidden AP
178                         detection
179
180 2008-11-07  Dan Williams  <dcbw@redhat.com>
181
182         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
183
184         * src/NetworkManagerSystem.c
185           src/NetworkManagerSystem.h
186                 - (nm_system_device_set_ip4_route): return the route that was added
187                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
188                         public, clean up, and return the route that was added
189                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
190                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
191                         flags to allow only certain attributes of the NMIP4Config to be
192                         applied
193
194         * src/nm-device.c
195                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
196                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
197                         what's really changed between the old and new configs; don't export
198                         the new IP4 config on failure; always send the DNS info to the
199                         named manager
200
201         * src/vpn-manager/nm-vpn-connection.c
202                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
203                         parent device's IP4Config and re-add the VPN gateway route when it
204                         changes
205                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
206                         nm_system_apply_ip4_config() no longer does) and cache it for later
207                 - (connection_state_changed): move cleanup code to its own function
208                 - (vpn_cleanup): delete any previously added VPN gateway route; and
209                         re-apply the parent device's addresses and routes using
210                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
211
212 2008-11-07  Dan Williams  <dcbw@redhat.com>
213
214         * src/nm-ip4-config.c
215           src/nm-ip4-config.h
216                 - (nm_ip4_config_diff): new function; return the difference between two
217                         IP4 configs
218                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
219
220 2008-11-05  Dan Williams  <dcbw@redhat.com>
221
222         * nm-ip4-config.c
223           nm-ip4-config.h
224                 - (nm_ip4_config_compare): compare two IP4 configs
225
226 2008-11-05  Dan Williams  <dcbw@redhat.com>
227
228         * src/NetworkManagerPolicy.c
229                 - (update_etc_hosts): only add newline if not the last line of the file
230                         (Jonathan Miner)
231
232 2008-11-05  Dan Williams  <dcbw@redhat.com>
233
234         * src/dhcp-manager/nm-dhcp-dhclient.c
235                 - (get_leasefile_for_iface): move lease files back to where dhclient
236                         puts them
237
238 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
239
240         * initscripts/Debian/NetworkManager
241                 - Update to what Debian is actually using
242
243 2008-11-05  Tambet Ingo  <tambet@gmail.com>
244
245         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
246
247 2008-11-03  Dan Williams  <dcbw@redhat.com>
248
249         * system-settings/src/main.c
250                 - (add_default_dhcp_connection): make the fallback connection read-only
251
252         * libnm-glib/nm-settings.c
253           libnm-glib/nm-settings.h
254                 - Add detailed errors
255                 - (impl_exported_connection_update, impl_exported_connection_delete):
256                         return an error if the connection is read-only
257
258         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
259           system-settings/plugins/keyfile/nm-keyfile-connection.c
260           system-settings/src/main.c
261                 - Use more detailed errors
262
263         * system-settings/src/nm-system-config-error.c
264           system-settings/src/nm-system-config-error.h
265           system-settings/src/dbus-settings.c
266                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
267                         NM_SETTINGS_ERROR_INVALID_CONNECTION
268
269 2008-11-02  Dan Williams  <dcbw@redhat.com>
270
271         * Add license headers to everything in src/
272
273 2008-11-02  Dan Williams  <dcbw@redhat.com>
274
275         * Tag 0.7.0-rc1
276
277 2008-11-02  Dan Williams  <dcbw@redhat.com>
278
279         * src/NetworkManagerAP.c
280                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
281                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
282                         secrets when connecting to an encrypted network failed
283
284 2008-10-30  Dan Williams  <dcbw@redhat.com>
285
286         * libnm-util/libnm-util.ver
287           libnm-util/nm-setting-ip6-config.c
288           libnm-util/nm-setting-ip6-config.h
289           libnm-util/Makefile.am
290                 - Make properties private and add accessor functions
291                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
292
293         * libnm-util/nm-connection.c
294           libnm-util/nm-utils.c
295           libnm-util/nm-utils.h
296                 - Ignore IPv6 stuff for now
297
298 2008-10-30  Dan Williams  <dcbw@redhat.com>
299
300         * libnm-util/libnm-util.ver
301           libnm-util/nm-setting-8021x.c
302           libnm-util/nm-setting-8021x.h
303                 - Make properties private and add accessor functions
304
305         * src/supplicant-manager/nm-supplicant-config.c
306           system-settings/plugins/ifcfg-suse/parser.c
307                 - Use 802.1x setting accessors
308
309 2008-10-30  Dan Williams  <dcbw@redhat.com>
310
311         * libnm-util/libnm-util.ver
312           libnm-util/nm-setting-wireless-security.c
313           libnm-util/nm-setting-wireless-security.h
314                 - Make properties private and add accessor functions
315
316         * libnm-util/nm-setting-wireless.c
317           src/NetworkManagerAP.c
318           src/nm-device-wifi.c
319           src/supplicant-manager/nm-supplicant-config.c
320           system-settings/plugins/ifcfg-fedora/reader.c
321           system-settings/plugins/ifcfg-suse/parser.c
322                 - Use wireless security accessors
323
324 2008-10-30  Dan Williams  <dcbw@redhat.com>
325
326         * src/nm-device-ethernet.c
327           src/nm-device-wifi.c
328           src/nm-device.c
329           src/ppp-manager/nm-ppp-manager.c
330                 - Harmonize return checking of ioctl
331
332         * system-settings/plugins/ifcfg-fedora/reader.c
333                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
334
335 2008-10-30  Dan Williams  <dcbw@redhat.com>
336
337         * src/ppp-manager/nm-ppp-manager.c
338                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
339                         ppp_generic module to create it (bgo #533064)
340
341 2008-10-30  Dan Williams  <dcbw@redhat.com>
342
343         Patch from Alexander Sack <asac@canonical.com>
344
345         Fix "ppp connections don't honour ip4 connection settings"
346
347         * src/nm-device-ethernet.c
348                 - (real_act_stage4_get_ip4_config): merge ip4config settings
349                         with results from ppp manager
350
351         * src/nm-serial-device.c
352                 - (real_act_stage4_get_ip4_config): merge ip4config settings
353                         with results from ppp manager
354
355 2008-10-29  Dan Williams  <dcbw@redhat.com>
356
357         * libnm-util/libnm-util.ver
358           libnm-util/nm-setting-ip4-config.c
359           libnm-util/nm-setting-ip4-config.h
360                 - Make properties private and add accessor functions
361
362         * callouts/nm-dispatcher-action.c
363           libnm-glib/libnm-glib-test.c
364           libnm-util/nm-utils.c
365           src/NetworkManagerPolicy.c
366           src/NetworkManagerSystem.c
367           src/NetworkManagerUtils.c
368           src/dhcp-manager/nm-dhcp-dhclient.c
369           src/dhcp-manager/nm-dhcp-manager.c
370           src/dnsmasq-manager/nm-dnsmasq-manager.c
371           src/nm-device-wifi.c
372           src/nm-device.c
373           src/nm-hso-gsm-device.c
374           src/nm-ip4-config.c
375           src/nm-ip4-config.h
376           src/ppp-manager/nm-ppp-manager.c
377           src/vpn-manager/nm-vpn-connection.c
378           system-settings/plugins/ifcfg-fedora/reader.c
379           system-settings/plugins/ifcfg-suse/parser.c
380           system-settings/plugins/ifcfg-suse/plugin.c
381           system-settings/plugins/ifupdown/parser.c
382           test/nm-tool.c
383           vpn-daemons/vpnc/properties/nm-vpnc.c
384                 - Use IP4 accessor functions
385
386 2008-10-29  Tambet Ingo  <tambet@gmail.com>
387
388         Half of it by Dan Williams <dcbw@redhat.com>
389
390         * libnm-util/libnm-util.ver
391         libnm-util/nm-setting-vpn.c
392         libnm-util/nm-setting-vpn.h
393                 - Make properties private and add accessor functions.
394
395         * src/vpn-manager/nm-vpn-connection.c
396         src/vpn-manager/nm-vpn-manager.c
397         system-settings/plugins/keyfile/reader.c
398         vpn-daemons/openvpn/properties/auth-helpers.c
399         vpn-daemons/openvpn/properties/import-export.c
400         vpn-daemons/openvpn/properties/nm-openvpn.c
401         vpn-daemons/openvpn/src/nm-openvpn-service.c
402         vpn-daemons/pptp/auth-dialog/main.c
403         vpn-daemons/pptp/properties/advanced-dialog.c
404         vpn-daemons/pptp/properties/nm-pptp.c
405         vpn-daemons/pptp/src/nm-pptp-service.c
406         vpn-daemons/vpnc/properties/nm-vpnc.c
407         vpn-daemons/vpnc/src/nm-vpnc-service.c
408                 - Use VPN setting accessors.
409
410 2008-10-28  Dan Williams  <dcbw@redhat.com>
411
412         Patch from Tambet Ingo <tambet@gmail.com>
413
414         * libnm-util/libnm-util.ver
415           libnm-util/nm-setting-wireless.c
416           libnm-util/nm-setting-wireless.h
417                 - Make properties private and add accessor functions
418
419         * src/NetworkManagerAP.c
420           src/nm-device-wifi.c
421           src/nm-manager.c
422           src/supplicant-manager/nm-supplicant-config.c
423           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
424           system-settings/plugins/ifcfg-fedora/reader.c
425           system-settings/plugins/ifcfg-suse/parser.c
426           system-settings/plugins/ifupdown/parser.c
427                 - Use wireless setting accessors
428
429 2008-10-27  Dan Williams  <dcbw@redhat.com>
430
431         Patch from Tambet Ingo <tambet@gmail.com>
432
433         * libnm-util/libnm-util.ver
434           libnm-util/nm-setting-ppp.c
435           libnm-util/nm-setting-ppp.h
436                 - Make properties private and add accessor functions
437
438         * src/ppp-manager/nm-ppp-manager.c
439                 - Use ppp setting accessors
440
441 2008-10-27  Dan Williams  <dcbw@redhat.com>
442
443         Patch from Tambet Ingo <tambet@gmail.com>
444
445         * libnm-util/nm-setting.h
446           libnm-util/nm-setting.c
447                 - Make properties private and add accessor functions
448
449         * libnm-util/nm-connection.c
450           libnm-util/nm-setting-8021x.c
451           libnm-util/nm-setting-cdma.c
452           libnm-util/nm-setting-connection.c
453           libnm-util/nm-setting-gsm.c
454           libnm-util/nm-setting-ip4-config.c
455           libnm-util/nm-setting-ip6-config.c
456           libnm-util/nm-setting-ppp.c
457           libnm-util/nm-setting-pppoe.c
458           libnm-util/nm-setting-serial.c
459           libnm-util/nm-setting-template.c
460           libnm-util/nm-setting-vpn.c
461           libnm-util/nm-setting-wired.c
462           libnm-util/nm-setting-wireless-security.c
463           libnm-util/nm-setting-wireless.c
464           system-settings/plugins/keyfile/reader.c
465           system-settings/plugins/keyfile/writer.c
466                 - Use setting accessors
467
468 2008-10-27  Dan Williams  <dcbw@redhat.com>
469
470         * libnm-util/libnm-util.ver
471           libnm-util/nm-setting-connection.c
472           libnm-util/nm-setting-connection.h
473                 - Add a 'read-only' property that indicates the connection cannot be
474                         modified
475
476         * system-settings/plugins/ifcfg-fedora/reader.c
477           system-settings/plugins/ifcfg-suse/parser.c
478           system-settings/plugins/ifupdown/parser.c
479                 - These plugins are read-only at the moment
480
481         * system-settings/plugins/keyfile/reader.c
482           system-settings/plugins/keyfile/writer.c
483                 - Read-only shouldn't get saved out to files or read in from them
484
485 2008-10-27  Tambet Ingo  <tambet@gmail.com>
486
487         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
488         correct speed reporting for fast devices (kernel >= 2.6.27).
489
490 2008-10-26  Dan Williams  <dcbw@redhat.com>
491
492         Attempt to compensate for modems that don't enable full AT parsing before
493         the PIN has been entered.
494
495         * src/nm-gsm-device.c
496                 - (init_modem): accept different init strings
497                 - (init_done): try different init strings on failure
498                 - (check_pin_done): on PIN success, do full modem init
499
500 2008-10-26  Dan Williams  <dcbw@redhat.com>
501
502         Patch from Tambet Ingo <tambet@gmail.com>
503
504         * libnm-util/libnm-util.ver
505           libnm-util/nm-setting-connection.c
506           libnm-util/nm-setting-connection.h
507                 - Make properties private and add accessor functions
508
509         * src/NetworkManagerPolicy.c
510           src/nm-cdma-device.c
511           src/nm-device-ethernet.c
512           src/nm-device-interface.c
513           src/nm-device-wifi.c
514           src/nm-gsm-device.c
515           src/nm-manager.c
516           src/ppp-manager/nm-ppp-manager.c
517           src/vpn-manager/nm-vpn-connection.c
518           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
519           system-settings/plugins/ifcfg-fedora/plugin.c
520           system-settings/plugins/ifcfg-fedora/reader.c
521           system-settings/plugins/ifcfg-suse/parser.c
522           system-settings/plugins/ifupdown/parser.c
523           system-settings/plugins/keyfile/nm-keyfile-connection.c
524           system-settings/plugins/keyfile/plugin.c
525           system-settings/plugins/keyfile/writer.c
526           system-settings/src/main.c
527                 - Use those accessors
528
529 2008-10-26  Dan Williams  <dcbw@redhat.com>
530
531         Patch from Tambet Ingo <tambet@gmail.com>
532
533         * libnm-util/libnm-util.ver
534           libnm-util/nm-setting-gsm.c
535           libnm-util/nm-setting-gsm.h
536                 - Make properties private and add accessor functions
537
538         * src/nm-gsm-device.c
539           src/nm-hso-gsm-device.c
540           src/ppp-manager/nm-ppp-manager.c
541                 - Use those accessors
542
543 2008-10-26  Dan Williams  <dcbw@redhat.com>
544
545         Patch from Tambet Ingo <tambet@gmail.com>
546
547         * libnm-util/libnm-util.ver
548           libnm-util/nm-setting-cdma.c
549           libnm-util/nm-setting-cdma.h
550                 - Make properties private and add accessor functions
551
552         * src/nm-cdma-device.c
553           src/ppp-manager/nm-ppp-manager.c
554                 - Use those accessors
555
556 2008-10-26  Dan Williams  <dcbw@redhat.com>
557
558         Patch from Tambet Ingo <tambet@gmail.com>
559
560         * libnm-util/libnm-util.ver
561           libnm-util/nm-setting-pppoe.c
562           libnm-util/nm-setting-pppoe.h
563                 - Make properties private and add accessor functions
564
565         * src/nm-device-ethernet.c
566           src/ppp-manager/nm-ppp-manager.c
567                 - Use those accessors
568
569 2008-10-26  Dan Williams  <dcbw@redhat.com>
570
571         Patch from Tambet Ingo <tambet@gmail.com>
572
573         * libnm-util/libnm-util.ver
574           libnm-util/nm-setting-wired.c
575           libnm-util/nm-setting-wired.h
576                 - Make properties private and add accessor functions
577
578         * src/nm-device-ethernet.c
579           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
580           system-settings/plugins/ifcfg-suse/parser.c
581           system-settings/src/main.c
582                 - Use those accessors
583
584 2008-10-26  Dan Williams  <dcbw@redhat.com>
585
586         Patch from Tambet Ingo <tambet@gmail.com>
587
588         * libnm-util/libnm-util.ver
589           libnm-util/nm-setting-serial.c
590           libnm-util/nm-setting-serial.h
591           src/nm-serial-device.c
592                 - Make properties private and use accessors instead
593
594 2008-10-26  Dan Williams  <dcbw@redhat.com>
595
596         * src/supplicant-manager/nm-supplicant-interface.c
597           src/supplicant-manager/nm-supplicant-interface.h
598           src/supplicant-manager/nm-supplicant-manager.c
599           src/supplicant-manager/nm-supplicant-manager.h
600                 - Add state-to-string conversion functions
601
602         * src/nm-device-wifi.c
603           src/nm-device-ethernet.c
604                 - Normalize state info logging and use strings instead of numbers
605
606 2008-10-26  Dan Williams  <dcbw@redhat.com>
607
608         * src/NetworkManagerPolicy.c
609                 - (update_routing_and_dns): ignore host routes when determining whether
610                         a VPN connection should own the default route (bgo #552594)
611
612 2008-10-24  Dan Williams  <dcbw@redhat.com>
613
614         * src/nm-gsm-device.c
615                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
616
617 2008-10-23  Dan Williams  <dcbw@redhat.com>
618
619         * src/ppp-manager/nm-ppp-manager.c
620                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
621                         add really important stuff to the command line to ensure that NM
622                         overrides /etc/ppp/options (bgo #556781)
623
624 2008-10-22  Dan Williams  <dcbw@redhat.com>
625
626         * src/NetworkManagerSystem.c
627           src/nm-device.c
628                 - Use the device's IP interface where appropriate (Per Hallsmark)
629
630 2008-10-22  Dan Williams  <dcbw@redhat.com>
631
632         * src/nm-gsm-device.c
633                 - (schedule_automatic_registration_again): use a short timeout here
634                         instead of an idle handler to avoid using too much CPU polling for
635                         something we should be waiting a bit for anyway
636
637 2008-10-22  Dan Williams  <dcbw@redhat.com>
638
639         * include/NetworkManager.h
640           introspection/nm-device.xml
641                 - Add device state change reason for carrier changes
642
643         * src/nm-device-ethernet.c
644                 - (set_carrier): use the carrier change reason when changing device
645                         state in response to carrier changes
646
647 2008-10-21  Dan Williams  <dcbw@redhat.com>
648
649         * src/NetworkManagerPolicy.c
650                 - (update_etc_hosts): don't leak errors, and ensure that
651                         g_file_set_contents() gets a valid error placeholder (rh #461933)
652
653 2008-10-21  Dan Williams  <dcbw@redhat.com>
654
655         * src/nm-manager.c
656                 - (free_get_settings_info): don't use the DBusGProxy which could be
657                         disposed of by the time the function is called
658                 - (internal_new_connection_cb): save connection scope
659                 - (connection_get_settings_cb): don't replace a connection unless it's
660                         actually different from the existing one; fixes an issue where
661                         killing the settings service wouldn't deactivate an active connection
662                         provided by that settings service, because it was using a connection
663                         that had already been replaced in the system or user hash
664
665 2008-10-21  Dan Williams  <dcbw@redhat.com>
666
667         * src/NetworkManager.c
668                 - (main): keep the DHCP manager around since it's a singleton; fixes
669                         a use-after-free exposed by r4196 since the DHCP manager singleton
670                         variable isn't cleared when the DHCP manager object is finalized
671
672 2008-10-20  Dan Williams  <dcbw@redhat.com>
673
674         * libnm-util/nm-setting-wireless-security.c
675                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
676
677 2008-10-20  Dan Williams  <dcbw@redhat.com>
678
679         * src/supplicant-manager/nm-supplicant-config.c
680                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
681
682 2008-10-20  Dan Williams  <dcbw@redhat.com>
683
684         * src/dhcp-manager/nm-dhcp-manager.c
685                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
686                         manager object already refs it once
687                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
688                         also get cleaned up by nm_dhcp_device_destroy() to prevent
689                         double-frees
690
691 2008-10-20  Dan Williams  <dcbw@redhat.com>
692
693         * src/nm-manager.c
694                 - (initial_get_connections): use private dbus manager, don't keep
695                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
696                         manager object.
697
698 2008-10-18  Dan Williams  <dcbw@redhat.com>
699
700         * libnm-glib/nm-settings.c
701           libnm-glib/nm-settings.h
702                 - Rename the "get_secrets" virtual function "service_get_secrets" to
703                         clarify when it's used; NMExportedConnetion is a base-class for both
704                         the client and service side, which is sort of confusing, and
705                         get_secrets only makes sense on the service side.
706
707         * libnm-glib/nm-dbus-connection.c
708                 - (get_secrets): remove, unused, and clients need to do extra work to
709                         get secrets anyway since the call can block on the remote side
710
711         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
712           system-settings/plugins/keyfile/nm-keyfile-connection.c
713                 - Fix up for get_secrets -> service_get_secrets
714
715 2008-10-16  Dan Williams  <dcbw@redhat.com>
716
717         * src/nm-device-wifi.c
718                 - (constructor): correctly determine encryption capabilities
719
720 2008-10-15  Dan Williams  <dcbw@redhat.com>
721
722         * src/nm-device-wifi.c
723                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
724                         (Johannes Berg)
725
726 2008-10-15  Dan Williams  <dcbw@redhat.com>
727
728         * src/NetworkManagerSystem.c
729                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
730                         if the ip4_dest is in a smaller subnet contained within a subnet
731                         the machine is currently on, the destination is in the same subnet
732                 - (nm_system_device_set_ip4_route): move subnet checks to callers
733                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
734                         subnet as the parent device, and if so, don't add the direct
735                         host route via the parent device's gateway (bgo #481620)
736                 - (nm_system_apply_ip4_config): check whether the route to be added
737                         is contained within a subnet the device is already on
738
739 2008-10-11  Dan Williams  <dcbw@redhat.com>
740
741         * include/NetworkManager.h
742           introspection/nm-device.xml
743           include/NetworkManagerVPN.h
744                 - Add a few more state reasons for the device deactivated state
745
746         * src/nm-device-interface.c
747           src/nm-device-interface.h
748                 - (nm_device_interface_deactivate): add a 'reason' argument
749
750         * src/nm-device.c
751           src/nm-device.h
752                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
753                 - (nm_device_state_changed): pass the state change reason to
754                         nm_device_take_down()
755                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
756                         to the state change function
757
758         * src/nm-manager.c
759           src/nm-manager.h
760                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
761                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
762                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
763                         something reasonable along to VPN deactivation
764
765         * src/vpn-manager/nm-vpn-manager.c
766           src/vpn-manager/nm-vpn-manager.h
767                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
768                         pass that along to nm_vpn_connection_disconnect()
769
770 2008-10-11  Dan Williams  <dcbw@redhat.com>
771
772         * src/nm-device-wifi.c
773                 - (can_scan): remove old madwifi hack for not scanning while connected
774
775 2008-10-11  Dan Williams  <dcbw@redhat.com>
776
777         Add support for VPN subnet gateways (bgo #549196)
778
779         * include/NetworkManager.h
780                 - Add key for internal VPN subnet gateway
781
782         * src/vpn-manager/nm-vpn-connection.c
783                 - (ip_address_to_string): return a const from a static buffer so we
784                         don't leak a lot of strings
785                 - (print_vpn_config): print internal VPN gateway as well
786                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
787                         VPN service too
788                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
789
790         * src/NetworkManagerSystem.c
791           src/NetworkManagerSystem.h
792                 - (nm_system_device_replace_default_ip4_route): split into two, one for
793                         VPN connections and one for normal devices
794                 - (replace_default_ip4_route): break out route stuff into its own function
795                 - (nm_system_replace_default_ip4_route_vpn,
796                    nm_system_replace_default_ip4_route): simplify by having two cases,
797                         one for VPNs and one for normal devices
798
799         * src/NetworkManagerPolicy.c
800                 - (update_routing_and_dns): simplify, use split default route replacement
801                         functions
802
803 2008-10-10  Dan Williams  <dcbw@redhat.com>
804
805         Rework default route handling to consolidate decisions in the policy,
806         and to take active VPN connections into account when changing the default
807         route (bgo #545912)
808
809         * src/NetworkManager.c
810                 - (main): pass the vpn_manager to the policy so it knows about active
811                         VPN connections; clean up the named manager which wasn't done before
812
813         * src/NetworkManagerPolicy.c
814           src/NetworkManagerPolicy.h
815                 - (nm_policy_new): get a clue about the vpn_manager
816                 - (update_default_route): remove, fold into update_routing_and_dns()
817                 - (update_routing_and_dns): handle active VPN connections too; an
818                         active VPN connection becomes the default route if it does not have
819                         server-specified or user-specified custom routes.  Otherwise, the
820                         best active device gets the default route
821                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
822                    nm_policy_destroy): track VPN connection activation and deactivation
823                         and update the default route when appropriate
824
825         * src/NetworkManagerSystem.c
826           src/NetworkManagerSystem.h
827                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
828                         in the VPN connection itself
829                 - (nm_system_vpn_device_set_from_ip4_config,
830                    nm_system_device_set_from_ip4_config): merge together to make
831                         nm_system_apply_ip4_config()
832                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
833                         via the parent device
834                 - (nm_system_apply_ip4_config): simplify
835                 - (add_ip4_route_to_gateway): new function; add a direct route to the
836                         gateway if needed
837                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
838                         route stuff out into add_ip4_route_to_gateway() for clarity
839
840         * src/nm-device.c
841                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
842
843         * src/vpn-manager/nm-vpn-connection.c
844           src/vpn-manager/nm-vpn-connection.h
845                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
846                    nm_vpn_connection_get_parent_device): add
847                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
848                         device explicit
849                 - (connection_state_changed): update the named manager now that
850                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
851                         useful on errors
852
853         * src/vpn-manager/nm-vpn-manager.c
854           src/vpn-manager/nm-vpn-manager.h
855                 - Add a 'connection-activated' signal
856                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
857                         policy to find out about active VPN connections
858
859 2008-10-10  Tambet Ingo  <tambet@gmail.com>
860
861         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
862         a daemon to prevent NM logging spew on console on startup and shutdown (due
863         to dependency loop between NM and syslog).
864
865 2008-10-10  Alexander Sack  <asac@ubuntu.com>
866
867         Implement managed mode. We bind devices configured in /etc/network/interfaces
868         to their connections by updating wired/wireless setting with the
869         mac address of the device.
870
871         * system-settings/plugins/ifupdown/plugin.c
872                 - (get_net_address_for_udi): implement function to retrieve MAC
873                         address of udi from hal in GByteArray format
874                 - (bind_device_to_connection): bind mac address of device to
875                         wired/wireless system connection
876                 - (hal_device_added_cb): call bind_device_to_connection for
877                         system connections with a matching interface.name
878                 - (hal_device_added_cb): ensure that all code paths
879                         properly free the "iface" string.
880
881 2008-10-10  Alexander Sack  <asac@ubuntu.com>
882
883         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
884         mode of the ifupdown system config plugin.
885
886         * system-settings/plugins/ifupdown/plugin.c
887                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
888                         private unmanage_well_known state field accordingly
889
890 2008-10-10  Alexander Sack  <asac@ubuntu.com>
891
892         Implement unmanaged mode that will prevent all devices in the
893         well_known_udis set from being touched by NetworkManager
894
895         * system-settings/plugins/ifupdown/plugin.c
896                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
897                         unmanage_well_known field used to turn on/off unmanaged
898                         mode
899                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
900                         signal when well_known_udis get added/removed
901                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
902                         if we are in unmanaged mode
903
904 2008-10-10  Alexander Sack  <asac@ubuntu.com>
905
906         Add support to track network devices that have a configuration
907         with a matching interface.name in /etc/network/interfaces
908
909         * system-settings/plugins/ifupdown/plugin.c
910                 - (typedef struct SCPluginIfupdownPrivate): add hash table
911                         to track |well_known_udis|
912                 - (get_iface_for_udi): helper function to get interface.name
913                         for a udi
914                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
915                         that add and remove devices to and from the well_known_udis
916                         set depending on whether their |interface.name| matches
917                         any interface definition in /etc/network/interfaces
918                 - (SCPluginIfupdown_init): connect callbacks from above with
919                         hal_mgr and setup well_known_udis hashtable
920                 - (GObject__dispose): destroy well_known_udis hashtable
921                 - (hal_device_added_cb2): implement wrapper callback with GFunc
922                         signature. user_data is supposed to be a triple (hal_mgr,
923                         config and devtype)
924                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
925                         startup and call hal_device_added_cb2
926
927 2008-10-10  Alexander Sack  <asac@ubuntu.com>
928
929         Remove implementation for not used NMSystemConfigInterface callback functions
930         in ifupdown plugin
931
932         * system-settings/plugins/ifupdown/plugin.c
933                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
934                 - (SCPluginIfupdown_connection_added): removed
935
936 2008-10-08  Dan Williams  <dcbw@redhat.com>
937
938         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
939
940         * src/NetworkManagerUtils.c
941                 - (nm_utils_call_dispatcher): add a 'hostname' action
942
943         * src/NetworkManagerPolicy.c
944                 - (set_system_hostname): dispatch hostname changes
945
946         * callouts/nm-dispatcher-action.c
947                 - (nm_dispatcher_action): handle 'hostname' actions
948
949 2008-10-08  Dan Williams  <dcbw@redhat.com>
950
951         * src/NetworkManagerSystem.c
952                 - (find_route): ref the route so it doesn't get destroyed when the cache
953                         is cleared
954                 - (nm_system_device_set_priority): unref the route here after it's done
955                         being used
956
957 2008-10-08  Dan Williams  <dcbw@redhat.com>
958
959         * src/nm-serial-device.c
960                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
961
962 2008-10-08  Tambet Ingo  <tambet@gmail.com>
963
964         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
965         connection with new settings before saving it.
966
967 2008-10-06  Dan Williams  <dcbw@redhat.com>
968
969         * src/nm-ip4-config.c
970           src/nm-ip4-config.h
971                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
972
973         * src/nm-device-interface.c
974                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
975                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
976                         by using '/' for the object path
977
978         * src/nm-device.c
979                 - (src/nm-device.c): marshal missing/unexported ip4-config through
980                         dbus as '/' since dbus-glib can't handle NULL objects nor can
981                         dbus handle NULL object paths
982
983 2008-10-03  Alexander Sack  <asac@ubuntu.com>
984
985         Implement system hostname support for debian/ubuntu
986
987         * system-settings/plugins/ifupdown/plugin.c
988                 - (GObject__get_property): extend announced capabilities; add
989                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
990                 - (GObject__set_property,write_system_hostname): implement
991                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
992                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
993                    update_system_hostname, get_hostname):
994                         implement hostname property that watches and
995                         parses /etc/hostname
996
997 2008-10-03  Alexander Sack  <asac@ubuntu.com>
998
999         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1000           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1001           system-settings/plugins/ifcfg-fedora/Makefile.am
1002           system-settings/src/nm-inotify-helper.c
1003           system-settings/src/nm-inotify-helper.h
1004           src/Makefile.am
1005                 - Move ifcfg-fedora inotify helpers to the system settings service so
1006                         they are available to all plugins
1007
1008 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1009
1010         Implement support for wep-tx-keyidx in ifupdown system
1011         config plugin.
1012
1013         * system-settings/plugins/ifupdown/parser.c
1014                 - (update_wireless_security_setting_from_if_block): introduce
1015                         free_type_mapping func table; rename a few local
1016                         variables to improve readability; add wpa security mapping
1017                         for wep-tx-keyidx property
1018                 - (string_to_gpointerint): new function used for the auto_type_mapping
1019                         of new wep-tx-keyidx property
1020                 - (slist_free_all): free func used for mapped slist types
1021
1022 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1023
1024         * system-settings/src/main.c:
1025                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1026                         always used as the hash key; fixes a crash when removing wired
1027                         devices
1028
1029 2008-10-02  Dan Williams  <dcbw@redhat.com>
1030
1031         * src/nm-gsm-device.c
1032                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1033                         pass the required GSM secret along via user_data rather than keeping
1034                         it around in the private data where it sometimes didn't get cleared
1035                 - (real_get_ppp_name): implement using the GSM username
1036
1037 2008-10-02  Dan Williams  <dcbw@redhat.com>
1038
1039         * src/ppp-manager/nm-ppp-manager.c
1040           src/ppp-manager/nm-ppp-manager.h
1041                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1042                         the settings daemon for completely new ones
1043                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1044                         local PPP peer name; allow PPP debuging by launching NM with
1045                         the environment variable NM_PPP_DEBUG defined
1046                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1047                         create_pppd_cmd_line()
1048
1049         * src/nm-serial-device.c
1050           src/nm-serial-device.h
1051                 - New 'get_ppp_name' function for subclasses to implement to return the
1052                         local PPP peer name
1053                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1054                         and pass that name to the PPP manager
1055
1056         * src/nm-device-ethernet.c
1057                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1058                         the local peer name
1059
1060         * src/nm-cdma-device.c
1061                 - (real_get_ppp_name): implement using the CDMA username
1062
1063 2008-10-02  Dan Williams  <dcbw@redhat.com>
1064
1065         Patch from Alexander Sack <asac ubuntu com>
1066
1067         * system-settings/plugins/ifupdown/parser.c
1068                 - Implement more graceful ip4 config parsing for cases where
1069                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1070                   by using default values
1071
1072 2008-10-02  Dan Williams  <dcbw@redhat.com>
1073
1074         * src/NetworkManagerPolicy.c
1075                 - (device_state_changed): when marking a connection invalid, clear its
1076                         secrets too so that fresh secrets get requested the next time
1077
1078 2008-10-01  Dan Williams  <dcbw@redhat.com>
1079
1080         * system-settings/src/dbus-settings.c
1081                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1082                         a fallback if no plugin provides a hostname
1083                 - (get_property): fall back to cached hostname if no plugin provides
1084                         a hostname
1085
1086 2008-10-01  Dan Williams  <dcbw@redhat.com>
1087
1088         Fix setting value comparison issue that caused some settings to look the
1089         same when they were really different (rh #464417)
1090
1091         * libnm-util/nm-param-spec-specialized.c
1092                 - (type_is_fixed_size): return fundamental size of the fixed type too
1093                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1094                         in the comparison so that the _entire_ fixed type collection gets
1095                         compared rather than just the first 'len1' bytes
1096
1097 2008-09-30  Dan Williams  <dcbw@redhat.com>
1098
1099         * src/NetworkManagerPolicy.c
1100                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1101                         idle handler could have already run and freed the LookupThread
1102                         structure
1103
1104 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1105
1106         * src/nm-device.c (nm_device_get_priority): Implement.
1107         (nm_device_set_ip4_config): Send the device priority to system ip4 
1108         config setter.
1109
1110         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1111         Add priority argument and if it's >= 0, set the priority of the network
1112         route added automatically by netlink (or kernel?).
1113         (nm_system_device_set_priority): Implement.
1114
1115         * src/NetworkManagerPolicy.c (get_best_device): Use 
1116         nm_device_get_priority() instead of home-grown version. Revert the
1117         meaning, best priority is the lowest one.
1118
1119 2008-09-29  Dan Williams  <dcbw@redhat.com>
1120
1121         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1122         when it returns EAGAIN (rh #362421)
1123
1124         * src/nm-device-wifi.c
1125                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1126                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1127
1128 2008-09-28  Dan Williams  <dcbw@redhat.com>
1129
1130         * src/nm-serial-device.c
1131           src/nm-serial-device.h
1132                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1133                         cleaned at the right times when subclasses close the serial port too
1134                 - (nm_serial_device_send_command): use a default send delay; don't
1135                         spin forever on EAGAIN
1136                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1137                         remove, no longer used
1138                 - (find_response): return the matched response if any
1139                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1140                         while doing so
1141                 - (wait_for_reply_done): pass the matched response to the callback
1142                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1143                         handling
1144                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1145                         const since they never get modified
1146                 - (cleanup_device): split out common cleanup stuff to a new function
1147                 - (real_deactivate_quickly, finalize): use cleanup_device()
1148
1149         * src/nm-gsm-device.c
1150                 - (modem_get_reply): remove, unused
1151                 - (set_apn): give the card a bit more time to respond
1152                 - (manual_registration_again, schedule_manual_registration_again,
1153                    manual_registration_response, manual_registration): handle manual
1154                         registration timeouts better by retrying registration a few times
1155                         because cards are a bit slow after CFUN=1
1156                 - (automatic_registration_get_network, get_network_response): use
1157                         modem_wait_for_reply() because it interacts better with the serial
1158                         buffer and does more intelligent matching; need to wait for 'OK'
1159                         rather than just matching terminators
1160                 - (schedule_automatic_registration_again,
1161                    automatic_registration_response, automatic_registration): retry
1162                         registration a few times on timeout or "searching" because cards
1163                         take a bit to find a network after being powered up with CFUN=1
1164                 - (power_up_response, power_up, init_full_done, enter_pin,
1165                    check_pin_done): power up the card with CFUN=1 before trying to
1166                         register with the network
1167                 - (init_modem_full, init_modem): use more standard 3G init strings
1168
1169         * src/nm-hso-gsm-device.c
1170                 - (modem_get_reply): remove, unused
1171                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1172                         modem_wait_for_reply() to match actual responses instead of single
1173                         termination characters; it doesn't leave stuff in the serial buffer
1174                         that might confuse later calls
1175                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1176                         to ensure that the call is really disconnected and not leave extra
1177                         stuff in the serial buffer
1178
1179         * src/nm-cdma-device.c
1180                 - (power_up_response, power_up, init_done): try Sierra-style modem
1181                         power up before attempting to connect
1182
1183 2008-09-27  Dan Williams  <dcbw@redhat.com>
1184
1185         * libnm-util/nm-setting-gsm.c
1186                 - (verify): verify GSM network ID
1187
1188 2008-09-25  Dan Williams  <dcbw@redhat.com>
1189
1190         * libnm-util/nm-setting-gsm.c
1191           libnm-util/nm-setting-gsm.h
1192                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1193                         technology terms (bgo #551361)
1194
1195 2008-09-25  Dan Williams  <dcbw@redhat.com>
1196
1197         Fix bgo #549401 (inspired by patch from Alexander Sack)
1198
1199         * src/nm-device-ethernet.c
1200                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1201                 - (remove_supplicant_interface_error_handler): remove the supplicant
1202                         error idle callback too
1203                 - (supplicant_interface_release): rename from supplicant_interface_clean
1204                         to match nm-device-wifi.c; clean up supplicant interface-related
1205                         state tasks when the supplicant interface is disposed of
1206                 - (schedule_state_handler): add scheduled tasks to a list so they can
1207                         be cleaned up later
1208                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1209                    supplicant_iface_connection_state_cb_handler): use
1210                         finish_supplicant_task() to clean up each completed task
1211                 - (supplicant_iface_connection_error_cb_handler,
1212                    supplicant_connection_timeout_cb): clear source id when the task is
1213                         complete
1214                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1215                         later cleanup
1216                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1217                         tasks
1218
1219         * src/nm-device-wifi.c
1220                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1221                 - (remove_supplicant_interface_error_handler): remove the supplicant
1222                         error idle callback too
1223                 - (supplicant_interface_release): clean up supplicant interface-related
1224                         state tasks when the supplicant interface is disposed of
1225                 - (schedule_state_handler): add scheduled tasks to a list so they can
1226                         be cleaned up later
1227                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1228                    supplicant_iface_connection_state_cb_handler): use
1229                         finish_supplicant_task() to clean up each completed task
1230                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1231                         the task is complete
1232                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1233                         later cleanup
1234                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1235
1236 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1237
1238         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1239         method and get/set hostname property.
1240
1241 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1242
1243         * src/supplicant-manager/nm-supplicant-interface.c
1244         (nm_supplicant_interface_disconnect): Don't increment the reference 
1245         count when disconnecting. The problem is on shutdown, when the replies
1246         to these commands do not arrive before NM exits, resulting on never
1247         calling supplicant interface's dispose(), which removes the interface
1248         from supplicant.
1249
1250 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1251
1252         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1253         all the public function arguments.
1254
1255 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1256
1257         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1258         "Failure" signal from VPN plugins, store the failure reason, and
1259         use it when the state is changed to failure.
1260
1261         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1262         description.
1263
1264         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1265         reason to the end of the list to not break the API.
1266         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1267         so it can be shared by plugins and daemon.
1268
1269 2008-09-18  Dan Williams  <dcbw@redhat.com>
1270
1271         Patch from Alexander Sack <asac@ubuntu.com>
1272
1273         * configure.in
1274           system-settings/plugins/Makefile.am
1275           system-settings/plugins/ifupdown/Makefile.am
1276           system-settings/plugins/ifupdown/interface_parser.c
1277           system-settings/plugins/ifupdown/interface_parser.h
1278           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1279           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1280           system-settings/plugins/ifupdown/parser.c
1281           system-settings/plugins/ifupdown/parser.h
1282           system-settings/plugins/ifupdown/plugin.c
1283           system-settings/plugins/ifupdown/plugin.h
1284                 - Implement a Debian/Ubuntu legacy network configuration plugin
1285                         (gnome.org #551941)
1286
1287 2008-09-18  Dan Williams  <dcbw@redhat.com>
1288
1289         Implement support for honoring configured and automatic hostnames, and for
1290         setting the configured hostname.
1291
1292         * introspection/nm-ip4-config.xml
1293           src/nm-ip4-config.c
1294           src/nm-ip4-config.h
1295           src/dhcp-manager/nm-dhcp-manager.c
1296                 - Remove useless hostname property; it's not really part of the IPv4
1297                         config
1298
1299         * introspection/nm-settings-system.xml
1300           libnm-glib/nm-dbus-settings-system.c
1301           libnm-glib/nm-dbus-settings-system.h
1302                 - Add SetHostname() call to system settings D-Bus interface
1303                 - Add Hostname property to system settings D-Bus interface
1304                 - (nm_dbus_settings_system_save_hostname,
1305                    nm_dbus_settings_system_get_hostname): implement
1306
1307         * src/nm-device.c
1308           src/nm-device.h
1309                 - (nm_device_get_dhcp4_config): implement
1310
1311         * src/nm-manager.c
1312           src/nm-manager.h
1313                 - Fetch and track system settings service hostname changes, and proxy
1314                         the changes via a GObject property of the manager
1315
1316         * system-settings/src/nm-system-config-interface.c
1317           system-settings/src/nm-system-config-interface.h
1318                 - Replace nm_system_config_interface_supports_add() with a capabilities
1319                         bitfield
1320
1321         * system-settings/src/nm-system-config-error.c
1322           system-settings/src/nm-system-config-error.h
1323                 - Add additional errors
1324
1325         * system-settings/src/dbus-settings.c
1326           system-settings/src/dbus-settings.h
1327                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1328                         property; first plugin returning a hostname wins
1329                 - (impl_settings_add_connection): use plugin capabilities instead of
1330                         nm_system_config_interface_supports_add()
1331                 - (impl_settings_save_hostname): implement hostname saving
1332
1333         * src/NetworkManagerPolicy.c
1334                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1335                    lookup_thread_die): implement an asynchronous hostname lookup thread
1336                         which given an IPv4 address tries to look up the hostname for that
1337                         address with reverse DNS
1338                 - (get_best_device): split out best device code from
1339                         update_routing_and_dns()
1340                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1341                         to preserve the 127.0.0.1 reverse mapping that so many things require
1342                 - (set_system_hostname): set a given hostname
1343                 - (update_system_hostname): implement hostname policy; a configured
1344                         hostname (from the system settings service) is used if available,
1345                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1346                         If there was no automatically determined hostname, reverse DNS of
1347                         the best device's IP address will be used, and as a last resort the
1348                         hostname 'localhost.localdomain' is set.
1349                 - (update_routing_and_dns): use get_best_device(); update the system
1350                         hostname when the network config changes
1351                 - (hostname_changed): update system hostname if the system settings
1352                         service signals a hostname change
1353                 - (nm_policy_new): list for system settings service hostname changes
1354                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1355                         gets told to die
1356
1357         * system-settings/plugins/keyfile/plugin.c
1358           system-settings/plugins/ifcfg-suse/plugin.c
1359                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1360                         capabilities properties
1361
1362         * system-settings/plugins/ifcfg-fedora/shvar.c
1363                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1364                         writes out /etc/sysconfig/network now
1365
1366         * system-settings/plugins/ifcfg-fedora/plugin.c
1367                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1368                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1369                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1370                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1371                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1372                         hostname get/set and capabilities get
1373
1374 2008-09-18  Dan Williams  <dcbw@redhat.com>
1375
1376         * libnm-util/nm-setting-wireless.c
1377                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1378                         group ciphers if the wireless-security setting explicitly specified
1379                         them, effectively making the default be "all ciphers"  (idea from
1380                         Alexander Sack)
1381
1382 2008-09-15  Dan Williams  <dcbw@redhat.com>
1383
1384         Patch from Alexander Sack <asac@ubuntu.com>
1385
1386         * src/named-manager/nm-named-manager.c
1387                 - (dispatch_resolvconf): respect resolvconf exit code
1388
1389 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1390
1391         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1392         again. Add some debugging.
1393
1394 2008-09-11  Dan Williams  <dcbw@redhat.com>
1395
1396         * system-settings/plugins/keyfile/plugin.c
1397                 - (update_connection_settings): update connection manually, since
1398                         nm_exported_connection_update() does authentication
1399                 - (dir_changed): update_connection_settings() doesn't need to return
1400                         an error
1401
1402 2008-09-09  Dan Williams  <dcbw@redhat.com>
1403
1404         * libnm-glib/nm-vpn-plugin-ui-interface.c
1405           libnm-glib/nm-vpn-plugin-ui-interface.h
1406           libnm-glib/libnm_glib_vpn.ver
1407                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1408                         should clean up resources related to the connection (like keyring
1409                         secrets)
1410                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1411                         should save user-scope secrets (like to the keyring)
1412
1413 2008-09-08  Dan Williams  <dcbw@redhat.com>
1414
1415         Patch from Alexander Sack <asac@ubuntu.com>
1416
1417         * libnm-util/crypto_gnutls.c
1418           libnm-util/crypto_nss.c
1419                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1420
1421         * libnm-util/nm-utils.c
1422           libnm-util/nm-utils.h
1423           libnm-util/libnm-util.ver
1424                 - (nm_utils_init): initialize libnm-util
1425                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1426
1427         * libnm-util/nm-setting-8021x.c
1428                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1429
1430 2008-09-05  Dan Williams  <dcbw@redhat.com>
1431
1432         Patch from Roy Marples <roy@marples.name> and others
1433
1434         * configure.in
1435           src/named-manager/nm-named-manager.c
1436                 - Add support for resolvconf; use --with-resolvconf at configure time
1437                         to enable it
1438
1439 2008-09-05  Dan Williams  <dcbw@redhat.com>
1440
1441         * libnm-util/crypto_nss.c
1442           libnm-util/crypto_gnutls.c
1443           libnm-util/crypto.h
1444                 - (crypto_init): return error when init fails
1445
1446 2008-09-05  Dan Williams  <dcbw@redhat.com>
1447
1448         * libnm-glib/nm-device-wifi.c
1449                 - (access_point_removed_proxy): clean up the active access point too
1450                         just in case the active ap changed signal didn't come through yet
1451                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1452
1453 2008-09-05  Dan Williams  <dcbw@redhat.com>
1454
1455         * libnm-glib/nm-client.c
1456                 - (constructor): get initial state after we know whether NM is running
1457                         or not
1458
1459 2008-09-05  Dan Williams  <dcbw@redhat.com>
1460
1461         * libnm-glib/nm-ip4-config.c
1462           libnm-glib/nm-dhcp4-config.c
1463                 - (finalize): clean up the DBusGProxy
1464
1465 2008-09-04  Dan Williams  <dcbw@redhat.com>
1466
1467         * src/nm-ip4-config.c
1468           src/nm-ip4-config.h
1469                 - (nm_ip4_config_new): don't export over D-Bus here
1470                 - (nm_ip4_config_export): new function; export the config over D-Bus
1471                 - (nm_ip4_config_is_exported): new function
1472
1473         * src/nm-device.c
1474                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1475                         objects by balancing the IP4Config constructor; the device holds
1476                         a reference to the IP4Config already
1477                 - (nm_device_set_ip4_config): export the IP4Config when needed
1478
1479 2008-09-04  Dan Williams  <dcbw@redhat.com>
1480
1481         * src/supplicant-manager/nm-supplicant-settings-verify.c
1482                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1483
1484 2008-09-04  Dan Williams  <dcbw@redhat.com>
1485
1486         * libnm-util/nm-setting-vpn.c
1487           libnm-util/nm-setting-vpn.h
1488                 - Split VPN secrets from VPN data so that settings services can actually
1489                         figure out that they are secrets and store them accordingly
1490
1491         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1492           system-settings/plugins/keyfile/reader.c
1493           system-settings/plugins/keyfile/reader.h
1494           system-settings/plugins/keyfile/writer.c
1495                 - Store VPN secrets separately from VPN data so that they can be fetched
1496                         on demand
1497                 - Implement the get_secrets() call so that (a) secrets don't leak out
1498                         to unprivileged callers, and (b) secrets can be sent to privileged
1499                         callers when needed
1500
1501         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1502                 - Handle split VPN secrets
1503
1504 2008-08-27  Dan Williams  <dcbw@redhat.com>
1505
1506         * system-settings/plugins/ifcfg-fedora/reader.c
1507                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1508
1509 2008-08-27  Dan Williams  <dcbw@redhat.com>
1510
1511         Ensure zombie children get cleaned up.  To get notifications when children
1512         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1513         that requires calling waitpid() yourself if you've removed the child watch
1514         handler before the process has actually died, which NM needs to do in a few
1515         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1516         cleans up after the child when required.  Should fix problems trying to
1517         activate mobile broadband connections after a previous failure.
1518
1519         * src/dhcp-manager/nm-dhcp-dhclient.c
1520           src/dhcp-manager/nm-dhcp-dhcpcd.c
1521                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1522
1523         * src/dhcp-manager/nm-dhcp-manager.c
1524                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1525                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1526                         block on child quitting, since the non-blocking functionality was
1527                         never actually used
1528
1529         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1530                 - (dm_watch_cb): child is already reaped here
1531                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1532
1533         * src/nm-device.c
1534                 - (aipd_cleanup): block until child is dead
1535
1536         * src/named-manager/nm-named-manager.c
1537                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1538                         event bothering to watch the child
1539
1540         * src/ppp-manager/nm-ppp-manager.c
1541                 - (ppp_watch_cb): child is already reaped here
1542                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1543
1544         * src/vpn-manager/nm-vpn-service.c
1545                 - (vpn_service_watch_cb): child is already reaped here
1546                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1547                         status of the child is actually tracked
1548                 - (ensure_killed, finalize): block until child is dead
1549
1550 2008-08-26  Dan Williams  <dcbw@redhat.com>
1551
1552         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1553                 - (update): Update filename of the connection if the connection id
1554                         was changed
1555
1556         * system-settings/plugins/keyfile/plugin.c
1557                 - (dir_changed): first pass at handling connection renames correctly
1558
1559         * system-settings/plugins/keyfile/writer.c
1560           system-settings/plugins/keyfile/writer.h
1561                 - (write_connection): replace '/' with '*' when writing out the filename
1562                         from the connection id
1563
1564 2008-08-26  Dan Williams  <dcbw@redhat.com>
1565
1566         Add connection UUIDs, since connection names can be changed, and since
1567         old-style connection IDs could change over the life of the connection.  The
1568         UUID should be assigned at connection creation time, be stable for a given
1569         connection, and should be unique among all connections for a given settings
1570         service.
1571
1572         * configure.in
1573           libnm-util/Makefile.am
1574                 - Require libuuid
1575
1576         * introspection/nm-exported-connection.xml
1577                 - Remove "GetID" method
1578
1579         * libnm-glib/nm-dbus-connection.c
1580           libnm-glib/nm-settings.c
1581           libnm-glib/nm-settings.h
1582                 - Remove id-related stuff
1583
1584         * libnm-util/nm-utils.c
1585           libnm-util/nm-utils.h
1586           libnm-util/libnm-util.ver
1587                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1588                         utility functions to generate UUIDs
1589
1590         * libnm-util/nm-setting-connection.c
1591           libnm-util/nm-setting-connection.h
1592                 - Add 'uuid' member to the connection setting
1593                 - (verify): require valid 'uuid' for a valid connection
1594
1595         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1596           system-settings/plugins/ifcfg-fedora/reader.c
1597           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1598           system-settings/plugins/ifcfg-suse/parser.c
1599           system-settings/plugins/keyfile/nm-keyfile-connection.c
1600           system-settings/src/main.c
1601                 - Remove id-related stuff
1602                 - Give connections UUIDs where needed
1603
1604 2008-08-25  Dan Williams  <dcbw@redhat.com>
1605
1606         * libnm-util/crypto_gnutls.c
1607           libnm-util/crypto_nss.c
1608                 - (crypto_init, crypto_deinit): refcount init/deinit
1609                 - (crypto_md5_hash): allow NULL salt
1610
1611 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1612
1613         * libnm-glib/Makefile.am
1614           libnm-util/Makefile.am
1615           libnm-glib/libnm_glib.ver
1616           libnm-glib/libnm_glib_vpn.ver
1617           libnm-util/libnm-util.ver
1618                 - Use linker version scripts to control the list of exported 
1619                 symbols. List each exported symbol explicitely.
1620         * libnm-util/Makefile.am
1621                 - Fix compilation of the test-crypto binary. The crypto
1622                 functions are no longer part of the libnm-util API. Add 
1623                 crypto_*.c to test_crypto_SOURCES and link against the correct
1624                 crypto libraries.
1625
1626 2008-08-19  Dan Williams  <dcbw@redhat.com>
1627
1628         * configure.in
1629           test/Makefile.am
1630                 - Don't build test/test-common
1631                 - Remove unused stuff
1632
1633         * test/nm-set-fallback
1634           test/nmtestdevices.c
1635           test/test-common/.cvsignore
1636           test/test-common/Makefile.am
1637           test/test-common/test-common.c
1638           test/test-common/test-common.h
1639                 - delete
1640
1641 2008-08-18  Dan Williams  <dcbw@redhat.com>
1642
1643         * libnm-util/nm-utils.c
1644           libnm-util/nm-utils.h
1645                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1646                         export anything that needs to be converted with this function
1647
1648         * src/dhcp-manager/nm-dhcp-manager.c
1649                 - (garray_to_string): convert a byte array to a UTF-8 string with
1650                         minimal validation; the DHCP client sends it in ASCII anyway
1651                 - (get_option, copy_option): use garray_to_string()
1652
1653 2008-08-18  Dan Williams  <dcbw@redhat.com>
1654
1655         * include/NetworkManager.h
1656           introspection/nm-device.xml
1657                 - Add a "missing firmware" device state reason
1658
1659         * src/NetworkManagerSystem.c
1660           src/NetworkManagerSystem.h
1661                 - (nm_system_device_set_up_down): add a no_firmware argument
1662                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1663                         IFF_UP is ENOENT, that almost always means missing firmware
1664
1665         * src/backends/NetworkManagerGeneric.c
1666           src/nm-device-ethernet.c
1667           src/nm-device-private.h
1668           src/nm-device-wifi.c
1669           src/nm-device.c
1670           src/nm-device.h
1671           src/nm-hso-gsm-device.c
1672           src/vpn-manager/nm-vpn-connection.c
1673                 - Pass no_firmware along; check it where appropriate
1674
1675 2008-08-18  Dan Williams  <dcbw@redhat.com>
1676
1677         Patch from Robert Buchholz <rbu@gentoo.org>
1678
1679         * autogen.sh
1680           configure.in
1681                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1682                         1003.1-1988, allowing for file names longer than 99 characters
1683
1684 2008-08-17  Dan Williams  <dcbw@redhat.com>
1685
1686         * include/NetworkManager.h
1687           introspection/nm-device.xml
1688           src/nm-gsm-device.c
1689                 - Finer-grained GSM registration failure error codes
1690
1691 2008-08-17  Dan Williams  <dcbw@redhat.com>
1692
1693         * callouts/Makefile.am
1694           src/Makefile.am
1695                 - Move dispatcher directory creation to callouts/Makefile.am
1696
1697         * system-settings/plugins/keyfile/Makefile.am
1698                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1699
1700 2008-08-15  Dan Williams  <dcbw@redhat.com>
1701
1702         Do connection sharing in a cleaner manner; all required iptables rules
1703         are now stored in the activation request and pertain only to the device
1704         which is being shared to other computers. (rh #458625)
1705
1706         * src/nm-activation-request.c
1707           src/nm-activation-request.h
1708                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1709                         the activation request which will get torn down automatically when
1710                         the activation request dies
1711                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1712                         is started, and tear them down when sharing is stopped
1713
1714         * src/nm-device.c
1715                 - (start_sharing): start up sharing by doing the required iptables magic
1716                 - (share_init): poke the right bits of the kernel and load the right
1717                         modules for NAT
1718                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1719                         connection if it's a 'shared' connection
1720
1721         * src/NetworkManagerPolicy.c
1722                 - Remove all sharing stuff; done in the device code itself
1723
1724 2008-08-15  Dan Williams  <dcbw@redhat.com>
1725
1726         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1727                 - (create_dm_cmd_line): send the right router address
1728
1729 2008-08-15  Dan Williams  <dcbw@redhat.com>
1730
1731         * src/ppp-manager/nm-ppp-manager.c
1732                 - (pppd_timed_out): ensure timeouts fail the connection
1733
1734 2008-08-14  Dan Williams  <dcbw@redhat.com>
1735
1736         * src/nm-properties-changed-signal.c
1737           src/nm-properties-changed-signal.h
1738                 - Add a property spec flag for "don't export this property" in
1739                         property changed signals
1740
1741         * src/nm-hso-gsm-device.c
1742           src/nm-gsm-device.c
1743           src/nm-cdma-device.c
1744                 - Don't export monitor interface or netdev interface properties
1745
1746 2008-08-14  Dan Williams  <dcbw@redhat.com>
1747
1748         * src/NetworkManagerPolicy.c
1749                 - (update_routing_and_dns): 'hso' devices can be default even if they
1750                         don't have a gateway
1751
1752 2008-08-14  Dan Williams  <dcbw@redhat.com>
1753
1754         * src/nm-device.c
1755                 - (nm_device_deactivate_quickly): tear down activation request after
1756                         calling device-specific deactivation
1757
1758         * src/nm-hso-gsm-device.c
1759                 - (real_deactivate_quickly): terminate connection when deactivating
1760
1761 2008-08-14  Dan Williams  <dcbw@redhat.com>
1762
1763         * src/nm-activation-request.h
1764                 - Add HSO secrets caller
1765
1766         * src/nm-gsm-device.c
1767           src/nm-gsm-device.h
1768                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1769                         something to the callback function
1770                 - (set_apn, set_apn_done): call class dial function, not a static one
1771                 - (nm_gsm_device_class_init): add a class 'dial' function
1772
1773         * src/nm-hal-manager.c
1774                 - (get_hso_netdev): find the hso-driven hardware's net device
1775                 - (modem_device_creator): recognize hso-driven hardware and create the
1776                         right type of device object for it
1777
1778         * src/Makefile.am
1779           src/nm-hso-gsm-device.c
1780           src/nm-hso-gsm-device.h
1781                 - Implement support for devices driven by the 'hso' driver as a subclass
1782                         of NMGsmDevice
1783
1784 2008-08-14  Dan Williams  <dcbw@redhat.com>
1785
1786         * src/NetworkManagerSystem.c
1787                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1788                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1789                         success if the operation really was successful
1790
1791 2008-08-14  Dan Williams  <dcbw@redhat.com>
1792
1793         * src/nm-netlink-monitor.c
1794           src/nm-netlink-monitor.h
1795           src/nm-device-ethernet.c
1796                 - (nm_netlink_monitor_request_status): return an error on failure
1797                 - (constructor): don't segfault on missing error
1798
1799 2008-08-13  Dan Williams  <dcbw@redhat.com>
1800
1801         * callouts/nm-dispatcher-action.c
1802                 - Add IP4 config info to script environment
1803
1804 2008-08-12  Dan Williams  <dcbw@redhat.com>
1805
1806         * src/nm-device.c
1807                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1808                         that want to use DHCP hostnames should use dispatcher scripts
1809                         for that
1810
1811         * src/NetworkManagerSystem.h
1812           src/backends/NetworkManagerArch.c
1813           src/backends/NetworkManagerDebian.c
1814           src/backends/NetworkManagerFrugalware.c
1815           src/backends/NetworkManagerGeneric.c
1816           src/backends/NetworkManagerGeneric.h
1817           src/backends/NetworkManagerGentoo.c
1818           src/backends/NetworkManagerMandriva.c
1819           src/backends/NetworkManagerPaldo.c
1820           src/backends/NetworkManagerRedHat.c
1821           src/backends/NetworkManagerSlackware.c
1822           src/backends/NetworkManagerSuSE.c
1823                 - Remove nm_system_set_hostname(), no longer used
1824           
1825         * src/backends/Makefile.am
1826           src/backends/shvar.c
1827           src/backends/shvar.h
1828                 - Remove shvar.*; no longer used
1829
1830 2008-08-12  Dan Williams  <dcbw@redhat.com>
1831
1832         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1833         hostname is updated at runtime.  Distros or users who want hostname updates
1834         can use dispatcher scripts to update the hostname if they need it.
1835
1836 2008-08-12  Dan Williams  <dcbw@redhat.com>
1837
1838         * introspection/nm-settings-system.xml
1839           system-settings/src/dbus-settings.c
1840           system-settings/src/dbus-settings.h
1841                 - Add a 'Hostname' property (rw) which represents the configured
1842                         hostname and domain of the system, if any
1843
1844         * system-settings/src/nm-system-config-error.c
1845           system-settings/src/nm-system-config-error.h
1846           system-settings/src/nm-system-config-interface.c
1847           system-settings/src/nm-system-config-interface.h
1848                 - Add a 'hostname' property to the plugin interface
1849                 - Add a method to send updated hostname to plugins to save in their
1850                         backing configuration store
1851
1852         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1853           system-settings/plugins/keyfile/plugin.c
1854           system-settings/plugins/keyfile/writer.c
1855           system-settings/plugins/keyfile/writer.h
1856           system-settings/plugins/ifcfg-suse/plugin.c
1857                 - Add minimal hostname support
1858
1859         * system-settings/plugins/ifcfg-fedora/plugin.c
1860                 - Add support for updating system hostname in /etc/sysconfig/network
1861
1862 2008-08-12  Dan Williams  <dcbw@redhat.com>
1863
1864         * system-settings/plugins/ifcfg-fedora/shvar.c
1865           system-settings/plugins/ifcfg-fedora/shvar.c
1866                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1867
1868 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1869
1870         * Makefile.am: Fix distcheck.
1871
1872 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1873
1874         * libnm-glib/*.c. Document some more.
1875
1876 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1877
1878         Start documenting libnm-glib public API using gtk-doc.
1879
1880         * libnm-glib/nm-serial-device.c: 
1881         * libnm-glib/nm-object.c: 
1882         * libnm-glib/nm-gsm-device.c: 
1883         * libnm-glib/nm-device.c: 
1884         * libnm-glib/nm-device-wifi.c: 
1885         * libnm-glib/nm-device-ethernet.c: 
1886         * libnm-glib/nm-client.c: 
1887         * libnm-glib/nm-cdma-device.c: Document the public API.
1888
1889         * docs/libnm-glib/libnm-glib.types: Implement.
1890
1891         * docs/libnm-glib/Makefile.am: Implement.
1892
1893         * autogen.sh: 
1894         * configure.in: 
1895         * Makefile.am: Add gtk-doc support.
1896
1897 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1898
1899         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1900
1901         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1902         the composite result of all the IP4 configurations and call a distro
1903         specific update_resolv_conf().
1904         (update_resolv_conf): Implement one for directly writing to 
1905         /etc/resolv.conf and one for opensuse to call netconfig.
1906
1907 2008-08-11  Dan Williams  <dcbw@redhat.com>
1908
1909         * src/ppp-manager/nm-ppp-manager.c
1910                 - (impl_ppp_manager_need_secrets): pass interface as required
1911
1912 2008-08-11  Dan Williams  <dcbw@redhat.com>
1913
1914         Merge the vpn-properties setting with the vpn setting since it was pointless
1915         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1916         of string:string (instead of string:variant) so that system settings plugins
1917         can have an easier time dealing with the arbitrary key/value pairs.
1918
1919 2008-08-11  Dan Williams  <dcbw@redhat.com>
1920
1921         * libnm-util/nm-utils.c
1922                 - (nm_utils_register_value_transformations): add value transform for
1923                         a hash table of string:string
1924
1925 2008-08-10  Dan Williams  <dcbw@redhat.com>
1926
1927         * libnm-glib/nm-vpn-plugin.c
1928                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1929                         an idle handler so the Connect reply gets delivered before the
1930                         stop StateChanged signal
1931
1932 2008-08-10  Dan Williams  <dcbw@redhat.com>
1933
1934         * src/nm-ip4-config.c
1935                 - (get_property): use common ip4 address/route conversion functions
1936                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1937                         copy the new route here, not take ownership
1938
1939 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1940
1941         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1942         Update the IP4 setting's method name.
1943
1944 2008-08-07  Dan Williams  <dcbw@redhat.com>
1945
1946         * introspection/nm-ip4-config.xml
1947           libnm-glib/libnm-glib-test.c
1948           libnm-glib/nm-ip4-config.c
1949           libnm-glib/nm-ip4-config.h
1950           src/NetworkManagerSystem.h
1951           src/backends/NetworkManagerArch.c
1952           src/backends/NetworkManagerDebian.c
1953           src/backends/NetworkManagerFrugalware.c
1954           src/backends/NetworkManagerGeneric.c
1955           src/backends/NetworkManagerGeneric.h
1956           src/backends/NetworkManagerGentoo.c
1957           src/backends/NetworkManagerMandriva.c
1958           src/backends/NetworkManagerPaldo.c
1959           src/backends/NetworkManagerRedHat.c
1960           src/backends/NetworkManagerSlackware.c
1961           src/backends/NetworkManagerSuSE.c
1962           src/dhcp-manager/nm-dhcp-manager.c
1963           src/nm-device.c
1964           src/nm-ip4-config.c
1965           src/nm-ip4-config.h
1966                 - Remove NIS logic; should be done from dispatcher scripts instead
1967
1968 2008-08-07  Dan Williams  <dcbw@redhat.com>
1969
1970         * src/dhcp-manager/nm-dhcp-manager.c
1971                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1972                         mis-handling of DHCP responses that returned more than one router
1973                         (found by Grant Williamson)
1974
1975 2008-08-07  Dan Williams  <dcbw@redhat.com>
1976
1977         * callouts/nm-dispatcher-action.c
1978                 - (nm_dispatcher_action): grab device path and create the device; pass
1979                         the device's DHCP4 config to script caller
1980                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1981                         scripts
1982
1983         * libnm-glib/nm-dhcp4-config.c
1984           libnm-glib/nm-dhcp4-config.h
1985                 - (nm_dhcp4_config_get_options): expose
1986                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1987
1988 2008-08-07  Dan Williams  <dcbw@redhat.com>
1989
1990         * include/NetworkManager.h
1991                 - Add the DHCP4Config D-Bus interface
1992
1993         * libnm-glib/Makefile.am
1994           libnm-glib/nm-dhcp4-config.c
1995           libnm-glib/nm-dhcp4-config.h
1996                 - Handle DHCP4 config objects exported by NM over D-Bus
1997
1998         * libnm-glib/nm-device.c
1999           libnm-glib/nm-device.h
2000                 - Add a 'dhcp4-config' property
2001
2002         * libnm-glib/libnm-glib-test.c
2003                 - Print out DHCP4 config for devices
2004                 - Fix some crashes when no connections are active
2005
2006         * src/nm-device-interface.c
2007           src/nm-device.c
2008           src/nm-dhcp4-config.c
2009           src/nm-dhcp4-config.h
2010                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2011                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2012                         doesn't let us do when the property type is G_TYPE_OBJECT
2013
2014 2008-08-07  Dan Williams  <dcbw@redhat.com>
2015
2016         * src/NetworkManager.c
2017           src/NetworkManagerSystem.h
2018           src/backends/NetworkManagerArch.c
2019           src/backends/NetworkManagerDebian.c
2020           src/backends/NetworkManagerFrugalware.c
2021           src/backends/NetworkManagerGeneric.c
2022           src/backends/NetworkManagerGeneric.h
2023           src/backends/NetworkManagerGentoo.c
2024           src/backends/NetworkManagerMandriva.c
2025           src/backends/NetworkManagerPaldo.c
2026           src/backends/NetworkManagerRedHat.c
2027           src/backends/NetworkManagerSlackware.c
2028           src/backends/NetworkManagerSuSE.c
2029                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2030
2031 2008-08-06  Dan Williams  <dcbw@redhat.com>
2032
2033         * libnm-glib/nm-ip4-config.c
2034           libnm-glib/nm-ip4-config.h
2035                 - Add 'routes' property
2036
2037         * libnm-util/nm-setting-vpn.c
2038           libnm-util/nm-setting-vpn.h
2039                 - Remove 'routes' property
2040
2041         * libnm-util/nm-setting-ip4-config.c
2042           libnm-util/nm-setting-ip4-config.h
2043                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2044                 - Add 'ignore-auto-routes' property
2045                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2046                         accomodate route metrics
2047                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2048
2049         * libnm-util/nm-utils.c
2050           libnm-util/nm-utils.h
2051                 - Add helpers for marshalling IP4 routes
2052
2053         * src/NetworkManagerUtils.c
2054                 - (nm_utils_merge_ip4_config): handle property renames and new route
2055                         structure
2056
2057         * src/NetworkManagerSystem.c
2058                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2059                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2060
2061         * src/dhcp-manager/nm-dhcp-manager.c
2062                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2063
2064         * system-settings/plugins/ifcfg-fedora/reader.c
2065           system-settings/plugins/ifcfg-fedora/writer.c
2066                 - Handle routes separately from addresses now that routes have a different
2067                         format
2068
2069         * introspection/nm-ip4-config.xml
2070           src/nm-ip4-config.c
2071           src/nm-ip4-config.h
2072                 - Rename internal routing functions
2073                 - 'static-routes' renamed to 'routes'
2074
2075 2008-08-04  Dan Williams  <dcbw@redhat.com>
2076
2077         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2078
2079         * src/NetworkManager.c
2080           src/nm-manager.c
2081           src/nm-manager.h
2082                 - More explicitly make the NMManager a singleton
2083
2084 2008-08-04  Dan Williams  <dcbw@redhat.com>
2085
2086         * libnm-util/nm-connection.c
2087           libnm-util/nm-connection.h
2088                 - (nm_connection_verify): return error on missing 'connection' setting
2089                         (found by Sjoerd Simons)
2090
2091 2008-08-04  Dan Williams  <dcbw@redhat.com>
2092
2093         Handle multiple concurrent PPP connections.
2094
2095         * src/ppp-manager/nm-ppp-manager.c
2096           src/ppp-manager/nm-ppp-manager.h
2097                 - (constructor): only PPP Manager request bus name once; each
2098                         NMPPPManager object gets a unique object path
2099                 - (nm_ppp_manager_class_init, get_property, set_property,
2100                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2101                         at construct time
2102                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2103                         remove timeout until PPP manager gets an IP4 config
2104                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2105                         the plugin can call back to this specific PPP manager instance
2106
2107         * src/nm-device-ethernet.c
2108           src/nm-serial-device.c
2109                 - Pass parent device in nm_ppp_manager_new()
2110
2111         * src/nm-gsm-device.c
2112           src/nm-cdma-device.c
2113                 - (device_state_changed): don't close serial device on NEED_AUTH
2114                         state changed, that's not a failure case like the rest are
2115
2116         * src/ppp-manager/nm-pppd-plugin.c
2117                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2118                         binds one interface to any pppd process, thus the correct index
2119                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2120                         problems; try harder to get a peer address in spite of pppd
2121                 - (plugin_init): use 'ipparam' as the object path back to our specific
2122                         PPP manager instance
2123
2124 2008-08-04  Dan Williams  <dcbw@redhat.com>
2125
2126         * src/ppp-manager/nm-ppp-manager.c
2127                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2128                         since the GSM and CDMA settings now implement need_secrets, we can
2129                         rely on them to do the right thing.  Where secrets are not required,
2130                         just pass empty strings back to the pppd plugin.
2131                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2132                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2133                         on successful IP4 config receipt
2134
2135 2008-08-04  Dan Williams  <dcbw@redhat.com>
2136
2137         * libnm-util/nm-setting-cdma.c
2138           libnm-util/nm-setting-gsm.c
2139                 - (verify): validate username & password if they exist
2140                 - (need_secrets): if username given, require a password too
2141
2142 2008-08-04  Dan Williams  <dcbw@redhat.com>
2143
2144         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2145                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2146                         manpage says about --listen-address without --interface
2147                         (bgo #546033)
2148
2149 2008-08-01  Dan Williams  <dcbw@redhat.com>
2150
2151         * libnm-glib/nm-device.c
2152                 - (proxy_get_string): util function for querying a HAL property
2153                 - (get_ancestor_device): split out from get_product_and_vendor()
2154                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2155                         from PCI devices by querying subsys properties
2156                 - (nm_device_update_description): simplify
2157
2158 2008-08-01  Dan Williams  <dcbw@redhat.com>
2159
2160         * libnm-util/nm-setting-ip4-config.c
2161           libnm-util/nm-setting-ip4-config.h
2162                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2163                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2164                         settings, and they don't necessarily use DHCP.
2165
2166         * src/NetworkManagerPolicy.c
2167           src/nm-device.c
2168           system-settings/plugins/ifcfg-fedora/reader.c
2169           system-settings/plugins/ifcfg-suse/parser.c
2170                 - Fixup for method changes
2171
2172 2008-07-31  Dan Williams  <dcbw@redhat.com>
2173
2174         * src/nm-activation-request.c
2175           src/vpn-manager/nm-vpn-connection.c
2176                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2177                         itself should be attached to the activation request or the VPN
2178                         connection, not the NMConnection object, since the call is not
2179                         expected to live as long as the NMConnection itself
2180
2181 2008-07-31  Dan Williams  <dcbw@redhat.com>
2182
2183         * src/nm-device-wifi.c
2184                 - (real_act_stage2_config): fix issue where association would continue
2185                         even though secrets were needed; 'goto out' was in wrong scope and
2186                         result of handle_auth_or_fail() should have been dumped directly to
2187                         'ret' to ensure that the association was postponed until secrets
2188                         are available
2189
2190 2008-07-31  Dan Williams  <dcbw@redhat.com>
2191
2192         * system-settings/plugins/ifcfg-fedora/plugin.c
2193           system-settings/plugins/ifcfg-fedora/reader.c
2194                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2195                         valid NM connection
2196
2197 2008-07-29  Dan Williams  <dcbw@redhat.com>
2198
2199         * src/nm-gsm-device.c
2200                 - (automatic_registration_response, automatic_registration): recognize
2201                         denied registration and reorder responses
2202
2203 2008-07-29  Dan Williams  <dcbw@redhat.com>
2204
2205         * src/nm-serial-device.c
2206                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2207                         time(2) is used for current time, which returns seconds, we shouldn't
2208                         be multiplying by 1000.
2209
2210 2008-07-28  Dan Williams  <dcbw@redhat.com>
2211
2212         Patch from Fabrice Bellet <fabrice@bellet.info>
2213
2214         * src/NetworkManagerSystem.c
2215                 - (route_in_same_subnet): mask addresses and compare them so that the
2216                         function actually does what it says it's going to do (rh #456685)
2217
2218 2008-07-27  Dan Williams  <dcbw@redhat.com>
2219
2220         * libnm-util/nm-setting-ip6-config.c
2221                 - (set_property): add missing break that caused routes to be overwritten
2222                         with addresses
2223
2224         * libnm-util/nm-setting-ip6-config.c
2225                 - (verify): validate routes and return GError everywhere on invalid setting
2226                 - (finalize): don't leak routes
2227                 - (set_property): add missing break that caused routes to be overwritten
2228                         with addresses
2229
2230 2008-07-27  Dan Williams  <dcbw@redhat.com>
2231
2232         * libnm-util/*
2233                 - Relicense to LGPLv2+
2234
2235 2008-07-27  Dan Williams  <dcbw@redhat.com>
2236
2237         * system-settings/plugins/ifcfg-fedora/reader.c
2238                 - (make_ip4_setting): fix parsing automatic configs
2239
2240 2008-07-27  Dan Williams  <dcbw@redhat.com>
2241
2242         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2243           src/nm-device.c
2244           src/ppp-manager/nm-ppp-manager.c
2245                 - Ensure child process gets reaped.  The child watch function may be
2246                         removed from the mainloop before the child gets killed, so we have
2247                         to make sure the child is reaped when it's told to die intentionally
2248
2249 2008-07-27  Dan Williams  <dcbw@redhat.com>
2250
2251         Patch from Roy Marples <roy@marples.name>
2252
2253         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2254                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2255
2256 2008-07-27  Dan Williams  <dcbw@redhat.com>
2257
2258         * src/nm-gsm-device.c
2259                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2260                         Huawei devices turn echo back on after CPIN (rh #456770)
2261
2262 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2263
2264         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2265         format argument to g_set_error() call.
2266
2267         * src/backends/interface_parser.[ch]: Remove.
2268
2269         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2270
2271 2008-07-21  Dan Williams  <dcbw@redhat.com>
2272
2273         * src/ppp-manager/nm-ppp-manager.c
2274                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2275                         to prevent pppd from picking up some random local address from an
2276                         interface that doesn't have anything to do with the one we're
2277                         interested in (rh #455348)
2278
2279 2008-07-17  Dan Williams  <dcbw@redhat.com>
2280
2281         * libnm-util/nm-utils.c
2282                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2283                         by locale
2284                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2285                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2286
2287 2008-07-17  Dan Williams  <dcbw@redhat.com>
2288
2289         * introspection/Makefile.am
2290           introspection/nm-device.xml
2291           introspection/nm-dhcp4-config.xml
2292                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2293                         itself
2294         * src/nm-device-interface.c
2295           src/nm-device-interface.h
2296                 - Add the DHCP4Config property
2297
2298         * src/nm-device.c
2299                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2300                         D-Bus clients when it changes
2301
2302         * src/nm-dhcp4-config.c
2303           src/nm-dhcp4-config.h
2304                 - Simple object to store DHCP4 options, export them over D-Bus, and
2305                         notify when they change
2306
2307         * src/dhcp-manager/nm-dhcp-manager.c
2308           src/dhcp-manager/nm-dhcp-manager.h
2309                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2310                         filter server-returned DHCP options into an NMDHCP4Config object
2311
2312 2008-07-16  Dan Williams  <dcbw@redhat.com>
2313
2314         * introspection/nm-device.xml
2315                 - Add device state reasons
2316
2317 2008-07-16  Dan Williams  <dcbw@redhat.com>
2318
2319         Patch from Roy Marples <roy@marples.name>
2320
2321         * configure.in
2322                 - Add --with-dhcp-client option
2323
2324         * src/dhcp-manager/Makefile.am
2325                 - pass DHCP_CLIENT_PATH on compile line
2326
2327         * src/dhcp-manager/nm-dhcp-manager.c
2328           src/dhcp-manager/nm-dhcp-manager.h
2329                 - Genericize for both dhcpcd and dhclient
2330
2331         * src/dhcp-manager/nm-dhcp-dhclient.c
2332                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2333
2334         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2335                 - Implement support for dhcpcd too
2336
2337 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2338
2339         * system-settings/src/nm-system-config-interface.c 
2340         (nm_system_config_interface_supports_add): Implement.
2341         (nm_system_config_interface_add_connection): Return a boolean to notify
2342         of errors.
2343
2344         * system-settings/src/nm-polkit-helpers.c: 
2345         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2346         a separate file.
2347
2348         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2349         Return an error when none of the plugins support add or if addition
2350         failed for some reason.
2351
2352         * system-settings/src/nm-system-config-error.h: 
2353         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2354         here from nm-polkit-helpers.[ch].
2355
2356         * system-settings/src/Makefile.am: Build new files.
2357
2358         * system-settings/plugins/keyfile/reader.c 
2359         (read_array_of_array_of_uint): Make it more general so that it would
2360         work for routes as well.
2361
2362         * system-settings/plugins/keyfile/writer.c
2363         (write_array_of_array_of_uint): Ditto.
2364         Fix the netmask/prefix writing.
2365
2366         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2367         boolean to notify errors.
2368
2369         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2370         Return more specific error.
2371         (delete): Ditto.
2372
2373 2008-07-11  Dan Williams  <dcbw@redhat.com>
2374
2375         Modify the NMDevice::state-changed signal to include the previous state
2376         and reason. Enables the applet to provide more information why device
2377         activation failed.
2378
2379 2008-07-09  Dan Williams  <dcbw@redhat.com>
2380
2381         * callouts/Makefile.am
2382           callouts/nm-avahi-autoipd-action.c
2383           callouts/nm-avahi-autoipd.conf
2384                 - avahi-autoipd callout to send options back to NM
2385
2386         * src/autoip.c
2387           src/autoip.h
2388                 - remove
2389
2390         * src/nm-device.c
2391           src/nm-device-private.h
2392           src/nm-manager.c
2393                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2394                         old custom stuff
2395
2396 2008-07-07  Dan Williams  <dcbw@redhat.com>
2397
2398         * system-settings/plugins/ifcfg-fedora/reader.c
2399                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2400                         handle PREFIX too; clean up
2401
2402 2008-07-07  Dan Williams  <dcbw@redhat.com>
2403
2404         Convert to using IPv4 prefixes instead of netmasks.
2405
2406 2008-07-03  Dan Williams  <dcbw@redhat.com>
2407
2408         * libnm-util/nm-setting-ip4-config.c
2409           libnm-util/nm-setting-ip4-config.h
2410                 - Add properties for DHCP Client Identifier and DHCP Hostname
2411
2412         * src/dhcp-manager/nm-dhcp-manager.c
2413           src/dhcp-manager/nm-dhcp-manager.h
2414                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2415                         setting as an argument to pass on to the dhclient config file
2416                         creation function
2417                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2418                         DHCP is torn down
2419                 - (dhclient_run): punt config file handling to create_dhclient_config()
2420                 - (create_dhclient_config): create an interface-specific dhclient
2421                         config file since there may need to be interface-specific options
2422                         passed to dhclient
2423                 - (merge_dhclient_config): merge normal distro dhclient config file and
2424                         add options from the connection
2425                 - (nm_dhcp_device_new): generate the interface specific dhclient
2426                         config file path once
2427                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2428                         dhclient config file path
2429
2430         * src/nm-device.c
2431                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2432                         DHCP manager when starting DHCP
2433
2434 2008-07-02  Dan Williams  <dcbw@redhat.com>
2435
2436         * libnm-util/nm-setting-8021x.c
2437                 - (verify): allow forcing the PEAP label to 0
2438
2439 2008-07-02  Dan Williams  <dcbw@redhat.com>
2440
2441         * introspection/nm-active-connection.xml
2442           introspection/nm-vpn-connection.xml
2443           libnm-glib/nm-active-connection.c
2444           src/nm-activation-request.c
2445           src/nm-active-connection.h
2446           src/vpn-manager/nm-vpn-connection.c
2447                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2448                         and libnm-glib API since sharing didn't get implemented that way
2449
2450 2008-07-02  Dan Williams  <dcbw@redhat.com>
2451
2452         * src/nm-device-wifi.c
2453                 - (can_scan): don't scan when a shared connection is activated since
2454                         that makes drivers mad (causing disconnects); also NM doesn't need
2455                         to hedge against disconnects by keeping up-to-date network topology
2456                         because the connection originates from the local machine, and thus
2457                         there should be no disconnects
2458
2459 2008-07-01  Dan Williams  <dcbw@redhat.com>
2460
2461         Fix mobile broadband username/password issues.  NM was never requesting
2462         mobile broadband secrets, nor was it passing back the username and password
2463         if it had them.
2464
2465         * marshallers/nm-marshal.list
2466                 - Add some new types for activation request objects
2467
2468         * src/nm-activation-request.c
2469           src/nm-activation-request.h
2470                 - (get_secrets_cb): pass the caller type in the signal
2471                 - (nm_act_request_request_connection_secrets): take a caller type, so
2472                         that GetSecrets() reply handlers know who asked for the secrets in
2473                         the first place; use secret hints too so the settings service can
2474                         figure out exactly what NM wants (ie, PIN or the PPP password)
2475
2476         * src/ppp-manager/nm-ppp-manager.c
2477           src/ppp-manager/nm-ppp-manager.h
2478                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2479                         detect needed secrets when the secret could be blank, like GSM/CDMA
2480                         passwords.  So always ask for secrets, and send a hint as to what
2481                         secret we really want.
2482                 - (nm_ppp_manager_update_secrets): make function more generic by making
2483                         the device specific class figure out the username and password, and
2484                         accept an error argument to return back over D-Bus
2485
2486         * src/nm-device-wifi.c
2487                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2488                         nm_act_request_request_connection_secrets()
2489                 - (real_connection_secrets_updated): update for 'caller' changes
2490
2491         * src/nm-device.c
2492           src/nm-device.h
2493                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2494                         for 'caller' changes
2495
2496         * src/nm-device-ethernet.c
2497                 - (real_connection_secrets_updated): update for 'caller' changes and
2498                         move logic for getting PPPoE username and password here before
2499                         calling nm_ppp_manager_update_secrets()
2500                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2501                         nm_act_request_request_connection_secrets()
2502
2503         * src/nm-cdma-device.c
2504                 - (real_connection_secrets_updated): pass username and password back
2505                         to the PPP manager when required
2506
2507         * src/nm-gsm-device.c
2508                 - (enter_pin): send the required secret name to the settings service
2509                 - (real_connection_secrets_updated): pass username and password back
2510                         to the PPP manager when required
2511
2512 2008-06-30  Dan Williams  <dcbw@redhat.com>
2513
2514         * src/nm-device-wifi.c
2515                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2516
2517 2008-06-30  Dan Williams  <dcbw@redhat.com>
2518
2519         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2520         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2521         priv->supplicant.iface.  When either condition is false, the device should
2522         transition back to UNAVAILABLE because it cannot be used.
2523
2524         * src/nm-device-wifi.c
2525                 - (constructor): cleanup; connect to supplicant manager here since the
2526                         supplicant manager is always around
2527                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2528                         ensure the supplicant manager is in the IDLE state
2529                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2530                         cancel any pending scans too
2531                 - (real_bring_up): don't set up the supplicnat interface here, because
2532                         we need the supplicant interface at times when the device may not
2533                         be "up"
2534                 - (real_take_down): just remove the periodic source
2535                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2536                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2537                         do anything if there's no supplicant interface
2538                 - (cleanup_association_attempt): cleanup
2539                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2540                         the interface enters the READY state; transition to UNAVAILABLE
2541                         state when the interface goes down because the device can't be used
2542                         without a supplicant interface
2543                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2544                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2545                         acquire the supplicant interface and transition to DISCONNECTED
2546                         if the radio isn't killed
2547                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2548                 - (state_changed_cb): release any existing supplicant interface; if the
2549                         radio is enabled then try to acquire a new supplicant interface;
2550                         if the radio is enabled and a supplicant interface has been acquired,
2551                         we can transition to DISCONNECTED
2552                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2553                         don't enable the radio, because HAL probably lied to us about the
2554                         killswitch being off.  If bringing the hardware up worked, then
2555                         try to grab a supplicant interface, and if that was successful,
2556                         transition to DISCONNECTED
2557
2558 2008-06-30  Dan Williams  <dcbw@redhat.com>
2559
2560         * src/supplicant-manager/nm-supplicant-interface.c
2561                 - (request_scan_results, nm_supplicant_interface_dispose,
2562                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2563                         the id of the timeout, not a GSource
2564
2565 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2566
2567         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2568         bunch of typoes introduced by "Patch from David Cantrell 
2569         <dcantrell@redhat.com> and me".
2570
2571 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2572
2573         * src/nm-serial-device.c: 
2574         * src/nm-gsm-device.c: 
2575         * src/nm-cdma-device.c: Move the pending call handling to a common location
2576         in serial device. Handle setting device state to failed in one place as well.
2577
2578 2008-06-29  Dan Williams <dcbw@redhat.com>
2579
2580         * src/nm-hal-manager.c
2581                 - Rework killswitch handling to query killswitch status immediately
2582                         when the first killswitch is added, so that rfkill state is
2583                         known as early as possible
2584                 - Also treat failure of GetPower() as rfkill when the dbus method
2585                         call times out (but not when the HAL callout returns an error)
2586
2587 2008-06-26  Dan Williams <dcbw@redhat.com>
2588
2589         Patch from David Cantrell <dcantrell@redhat.com> and me
2590
2591         * include/nm-dbus-glib-types.h
2592                 - Add IP6 address types
2593
2594         * libnm-util/Makefile.am
2595           libnm-util/nm-setting-ip6-config.c
2596           libnm-util/nm-setting-ip6-config.h
2597                 - Add IP6 settings object
2598
2599         * libnm-util/nm-connection.c
2600                 - (register_default_settings): register ip6 settings object
2601
2602         * libnm-util/nm-utils.c
2603           libnm-util/nm-utils.h
2604                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2605                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2606                         ip6 address conversion functions
2607         
2608 2008-06-26  Dan Williams <dcbw@redhat.com>
2609
2610         Patch from David Cantrell <dcantrell@redhat.com>
2611         
2612         * Use inet_ntop() and inet_pton() everwhere and check for errors
2613
2614 2008-06-26  Dan Williams <dcbw@redhat.com>
2615
2616         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2617
2618 2008-06-26  Dan Williams <dcbw@redhat.com>
2619
2620         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2621
2622         * src/nm-device-wifi.c
2623                 - (link_timeout_cb): don't ignore disconnects due to scanning
2624                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2625                         a longer timeout when scanning; avoids case where supplicant can't
2626                         find the AP and just keeps scanning forever but isn't connected
2627
2628 2008-06-26  Dan Williams <dcbw@redhat.com>
2629
2630         Patch from Michael Biebl <biebl@debian.org>
2631
2632         * Clean up build system stuff
2633
2634 2008-06-23  Christian Persch  <chpe@gnome.org>
2635
2636         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2637         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2638         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2639         (impl_get_object):
2640         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2641         (impl_get_object):
2642         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2643         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2644         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2645         (impl_get_object):
2646         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2647         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2648         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2649         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2650         * vpn-daemons/pptp/properties/vpnui_opt.c:
2651         (vpnui_opt_connect_signals):
2652         * vpn-daemons/pptp/properties/vpnui_opt.h:
2653         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2654         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2655         deprecated gtk type macros. Bug #539325.
2656
2657 2008-06-20  Dan Williams  <dcbw@redhat.com>
2658
2659         * libnm-glib/nm-vpn-plugin-ui-interface.c
2660           libnm-glib/nm-vpn-plugin-ui-interface.h
2661                 - 'validity-changed' -> 'changed' to work better with the connection
2662                         editor.  Plugin UI widgets should emit 'changed' whenever their
2663                         UI values change in a meaningful way.
2664                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2665                         update_connection member now returns validity of the UI widget
2666
2667 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2668
2669         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2670
2671 2008-06-17  Dan Williams  <dcbw@redhat.com>
2672
2673         * libnm-glib/nm-vpn-plugin-ui-interface.c
2674           libnm-glib/nm-vpn-plugin-ui-interface.h
2675                 - Add "desc" property for longer descriptions of the VPN plugin
2676
2677 2008-06-16  Dan Williams  <dcbw@redhat.com>
2678
2679         * configure.in
2680           libnm-glib/libnm_glib_vpn.pc.in
2681                 - add a .pc file for libnm_glib_vpn
2682
2683         * libnm-glib/nm-vpn-plugin-ui-interface.c
2684           libnm-glib/nm-vpn-plugin-ui-interface.h
2685                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2686                         rework it substantially
2687
2688 2008-06-12  Dan Williams  <dcbw@redhat.com>
2689
2690         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2691         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2692         returns a descriptive GError when verification fails.
2693
2694 2008-06-11  Dan Williams  <dcbw@redhat.com>
2695
2696         Patch from Tambet Ingo <tambet@gmail.com>
2697
2698         * libnm-util/nm-setting-gsm.c
2699                 - (verify): validate APN
2700
2701         * src/nm-gsm-device.c
2702                 - (manual_registration_done): start setting APN if needed
2703                 - (set_apn, set_apn_done): set the APN
2704                 - (do_dial): use the APN when dialing
2705
2706 2008-06-11  Dan Williams  <dcbw@redhat.com>
2707
2708         * src/NetworkManagerSystem.c
2709                 - (nm_system_device_set_ip4_route,
2710                    nm_system_device_replace_default_ip4_route): check for the right
2711                         return value from rtnl_route_add() to know when to add a gateway
2712                         route (from Tambet)
2713
2714 2008-06-11  Dan Williams  <dcbw@redhat.com>
2715
2716         * src/NetworkManagerPolicy.c
2717                 - do_ipt_cmd -> do_cmd
2718                 - (sharing_init): use do_cmd() instead of system()
2719
2720 2008-06-10  Dan Williams  <dcbw@redhat.com>
2721
2722         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2723         and use "wifi" everwhere instead.
2724
2725 2008-06-10  Dan Williams  <dcbw@redhat.com>
2726
2727         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2728
2729 2008-06-10  Dan Williams  <dcbw@redhat.com>
2730
2731         Patch from Tambet Ingo <tambet@gmail.com>
2732
2733         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2734                 changes.
2735
2736         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2737                 a signal to emit these changes over dbus.
2738
2739         * src/Makefile.am: Genereate nm-serial-device-glue.
2740
2741         * libnm-glib/nm-serial-device.[ch]: Implement.
2742
2743         * libnm-glib/nm-cdma-device.[ch]
2744           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2745
2746         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2747
2748         * introspection/nm-device-serial.xml: Implement.
2749
2750         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2751
2752         * introspection/Makefile.am: Add nm-device-serial.xml.
2753
2754         * include/NetworkManager.h: Add a DBus interface for serial device.
2755
2756 2008-06-10  Dan Williams  <dcbw@redhat.com>
2757
2758         * configure.in
2759                 - Add TARGET_* define to config.h to distinguish distros
2760
2761         * src/dhcp-manager/nm-dhcp-manager.c
2762                 - (dhclient_run): use distro-specific path for dhclient config file
2763
2764 2008-06-09  Dan Williams  <dcbw@redhat.com>
2765
2766         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2767           src/dnsmasq-manager/nm-dnsmasq-manager.h
2768                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2769                         calculate the addresses passed to dnsmasq instead of hard-coding
2770                         them
2771
2772         * src/nm-device.c
2773                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2774                         IP addresses for shared connections to guard against shared
2775                         connection address collisions
2776                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2777                         error conditions
2778                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2779                         the dnsmasq manager
2780
2781 2008-06-09  Dan Williams  <dcbw@redhat.com>
2782
2783         * src/NetworkManagerPolicy.c
2784                 - (update_routing_and_dns): set the default connection _after_ unsetting
2785                         default on all non-default connections so that two connections can
2786                         never be default at the same time
2787                 - (device_state_changed): start and stop connection sharing when
2788                         needed
2789                 - (active_connection_default_changed): restart or stop sharing when
2790                         the default connection changes to keep shared connections always
2791                         NAT-ed through the default connection
2792                 - (check_sharing): handle activation/deactivation of shared connections
2793                 - (sharing_restart): atom-bomb approach to connection sharing until we
2794                         can use libnl; reinit all sharing when the default connection or
2795                         shared connections change
2796                 - (sharing_init, sharing_stop): evil functions that init and deinit
2797                         iptables
2798
2799 2008-06-09  Dan Williams  <dcbw@redhat.com>
2800
2801         * src/nm-activation-request.c
2802           src/nm-activation-request.h
2803                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2804                    nm_act_request_get_device): new functions to facilitate connection
2805                         sharing
2806
2807 2008-06-09  Dan Williams  <dcbw@redhat.com>
2808
2809         * src/nm-device.c
2810                 - (clear_act_request): unset the 'default' property of the activation
2811                         request when clearing it to ensure the property changed signal gets
2812                         delivered and handled
2813
2814 2008-06-09  Dan Williams  <dcbw@redhat.com>
2815
2816         * libnm-glib/nm-device-802-11-wireless.c
2817                 - (access_point_removed_proxy): actually unref the AP after removing
2818                         it from the device's AP list.  Fixes refcounting bug for APs that
2819                         caused them to get mixed up in the applet's menu.
2820
2821 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2822
2823         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2824         (nm_dhcp_device_destroy): Destroy the device options hash table.
2825
2826 2008-06-06  Dan Williams <dcbw@redhat.com>
2827
2828         * system-settings/src/nm-polkit-helpers.c
2829                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2830                         unref the context if the initialization fails; also avoid spew when
2831                         the error isn't set
2832
2833 2008-06-06  Dan Williams <dcbw@redhat.com>
2834
2835         Patch from Tambet Ingo  <tambet@gmail.com>
2836
2837         * src/NetworkManagerSystem.c
2838           src/NetworkManagerSystem.h
2839                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2840                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2841                 - (nm_system_device_set_ip4_route): clean up
2842                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2843
2844         * src/nm-device.c
2845                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2846
2847         * src/vpn-manager/nm-vpn-connection.c
2848                 - (ip_address_to_string): new function
2849                 - (print_vpn_config): use ip_address_to_string
2850                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2851                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2852
2853         * include/NetworkManagerVPN.h
2854                 - Add 'routes' key
2855
2856 2008-06-05  Dan Williams <dcbw@redhat.com>
2857
2858         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2859
2860         * test/nm-tool.c
2861                 - Show which device is the default device
2862
2863 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2864
2865         Fix memory leaks.
2866
2867         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2868         Free data returned from dbus method call.
2869
2870         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2871         dbus_g_method_get_sender() returns a duplicated string, free it 
2872         when done.
2873         (check_polkit_privileges): Looks like policykit sometimes returns
2874         error and non-null return value, don't leak errors in that case.
2875
2876         * system-settings/src/main.c (find_plugin): Don't leak existing 
2877         plugin names.
2878         (load_stuff): Don't leak device list and list items.
2879         (have_connection_for_device): Don't leak connection list.
2880
2881         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2882         Free the data received from g_keyfile_get_*.
2883
2884         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2885         the key when the security object is updated.
2886
2887         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2888         Free data returned from dbus method call.
2889         (iface_state_cb): Ditto.
2890         (add_network_cb): Ditto.
2891         (nm_supplicant_interface_add_cb): Don't make another copy of already
2892         duplicated object path.
2893         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2894         when done.
2895
2896         * src/supplicant-manager/nm-supplicant-config.c 
2897         (ADD_STRING_LIST_VAL): Fix a memory leak.
2898
2899         * src/nm-manager.c (free_get_settings_info): Free the allocated
2900         memory slice.
2901         (list_connections_cb): Free data returned from dbus method call.
2902         (system_settings_get_unmanaged_devices_cb): Ditto.
2903
2904         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2905
2906         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2907         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2908         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2909         of the GList.
2910
2911         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2912         arguments after the object is created.
2913
2914 2008-06-04  Dan Williams <dcbw@redhat.com>
2915
2916         * libnm-util/Makefile.am
2917                 - Don't distribute nm-param-spec-specialized.h
2918
2919 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2920
2921         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2922
2923         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2924         NMIP4Address, update the getters and setters.
2925
2926         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2927         Use the updated NMIP4Config routes api.
2928
2929         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2930         static routes as well.
2931
2932         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2933         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2934         routes api.
2935
2936 2008-05-30  Dan Williams <dcbw@redhat.com>
2937
2938         * src/named-manager/nm-named-manager.c
2939           src/named-manager/nm-named-manager.h
2940                 - Remove stale/obsolete bits for controlling bind over DBus
2941
2942 2008-05-29  Dan Williams <dcbw@redhat.com>
2943
2944         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2945           src/dnsmasq-manager/nm-dnsmasq-manager.h
2946                 - (nm_dnsmasq_manager_new): move iface argument here
2947                 - (constructor): remove, not needed
2948                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2949                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2950
2951         * src/nm-device.c
2952                 - (real_act_stage4_get_ip4_config,
2953                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2954                         changes
2955
2956 2008-05-29  Dan Williams <dcbw@redhat.com>
2957
2958         * src/nm-device.c
2959                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2960                         something happens to dnsmasq
2961                 - (nm_device_new_ip4_shared_config): new function; create a new
2962                         ip4-config for shared connections.  Shared connections always use a
2963                         fixed static IP address.
2964                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2965                         autoip connections by actually using the returned ip4-config and
2966                         not leaking it
2967                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2968                         connections
2969                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2970                         if its active
2971
2972 2008-05-29  Dan Williams <dcbw@redhat.com>
2973
2974         * src/nm-device-802-11-wireless.c
2975                 - (real_get_best_auto_connection): auto-activate 'shared' method
2976                         connections too
2977
2978 2008-05-29  Dan Williams <dcbw@redhat.com>
2979
2980         * libnm-util/nm-setting-ip4-config.c
2981           libnm-util/nm-setting-ip4-config.h
2982                 - Add a 'shared' method to indicate that this connection should be
2983                         brought up with a DHCP and proxy DNS server to facilitate
2984                         connection sharing.
2985                 - (verify): 'shared' method doesn't allow DNS or searches either
2986
2987 2008-05-29  Dan Williams <dcbw@redhat.com>
2988
2989         * configure.in
2990           src/Makefile.am
2991           src/dnsmasq-manager/Makefile.am
2992           src/dnsmasq-manager/nm-dnsmasq-manager.c
2993           src/dnsmasq-manager/nm-dnsmasq-manager.h
2994                 - Add a dnsmasq daemon manager to facilitate connection sharing
2995
2996 2008-05-29  Dan Williams <dcbw@redhat.com>
2997
2998         * src/nm-device-private.h
2999                 - Remove unused prototypes and clean up
3000
3001         * src/nm-device.c
3002                 - Remove anything related to system_config_data, which is no longer used
3003                 - (nm_device_new_ip4_autoip_config): make static
3004
3005 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3006
3007         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3008         (file_changed): Fix a bug where suse system settings plugin didn't
3009         update the connections automatically when the files changed.
3010
3011 2008-05-28  Dan Williams  <dcbw@redhat.com>
3012
3013         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3014
3015 2008-05-28  Dan Williams  <dcbw@redhat.com>
3016
3017         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3018
3019         * src/NetworkManagerSystem.c
3020                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3021                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3022                         was causing -EINVAL errors since the libnl code actually does flush
3023                         the routes on VPN interfaces now
3024
3025         * src/backends/NetworkManagerArch.c
3026           src/backends/NetworkManagerDebian.c
3027           src/backends/NetworkManagerFrugalware.c
3028           src/backends/NetworkManagerGeneric.c
3029           src/backends/NetworkManagerGentoo.c
3030           src/backends/NetworkManagerMandriva.c
3031           src/backends/NetworkManagerPaldo.c
3032           src/backends/NetworkManagerRedHat.c
3033           src/backends/NetworkManagerSlackware.c
3034           src/backends/NetworkManagerSuSE.c
3035                 - (nm_system_device_flush_ip4_routes,
3036                    nm_system_device_flush_ip4_routes_with_iface): remove
3037
3038 2008-05-28  Dan Williams  <dcbw@redhat.com>
3039
3040         * libnm-util/nm-setting-wireless.c
3041           libnm-util/nm-setting-wireless.h
3042                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3043                         'adhoc-create' property, which when TRUE indicates that NM should
3044                         create this connection as an adhoc wifi network if it's not found
3045                         as an adhoc network during scanning.  Can be used to auto-create
3046                         adhoc networks when used in combination with autoconnect.
3047
3048 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3049
3050         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3051
3052         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3053         checked, it doesn't work on some devices.
3054
3055 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3056
3057         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3058         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3059
3060         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3061         Use inet_aton() everywhere to improve error detection.
3062         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3063         provided.
3064
3065 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3066
3067         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3068         Fix a typo.
3069
3070 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3071
3072         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3073         reference counting issue.
3074
3075 2008-05-23  Dan Williams  <dcbw@redhat.com>
3076
3077         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3078
3079         * src/backends/NetworkManagerGeneric.c
3080                 - (nm_generic_enable_loopback): use libnl
3081
3082 2008-05-23  Dan Williams  <dcbw@redhat.com>
3083
3084         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3085
3086         * src/NetworkManagerSystem.h
3087           src/backends/NetworkManagerArch.c
3088           src/backends/NetworkManagerDebian.c
3089           src/backends/NetworkManagerFrugalware.c
3090           src/backends/NetworkManagerGentoo.c
3091           src/backends/NetworkManagerMandriva.c
3092           src/backends/NetworkManagerPaldo.c
3093           src/backends/NetworkManagerRedHat.c
3094           src/backends/NetworkManagerSlackware.c
3095           src/backends/NetworkManagerSuSE.c
3096                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3097                    nm_system_flush_arp_cache): remove, unused
3098
3099         * src/backends/NetworkManagerGeneric.c
3100           src/backends/NetworkManagerGeneric.h
3101                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3102                    nm_generic_flush_arp_cache): remove, unused
3103
3104 2008-05-23  Dan Williams  <dcbw@redhat.com>
3105
3106         * system-settings/plugins/ifcfg-fedora/reader.c
3107                 - (make_ip4_setting): honor PEERDNS setting
3108
3109 2008-05-23  Dan Williams  <dcbw@redhat.com>
3110
3111         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3112
3113         * src/NetworkManagerSystem.c
3114                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3115                         libnl
3116
3117         * src/backends/NetworkManagerArch.c
3118           src/backends/NetworkManagerDebian.c
3119           src/backends/NetworkManagerFrugalware.c
3120           src/backends/NetworkManagerGentoo.c
3121           src/backends/NetworkManagerMandriva.c
3122           src/backends/NetworkManagerPaldo.c
3123           src/backends/NetworkManagerRedHat.c
3124           src/backends/NetworkManagerSlackware.c
3125           src/backends/NetworkManagerSuSE.c
3126                 - (nm_system_device_flush_ip4_addresses,
3127                    nm_system_device_flush_ip4_addresses_with_iface): remove
3128
3129         * src/backends/NetworkManagerGeneric.c
3130                 - (nm_generic_device_flush_ip4_addresses,
3131                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3132
3133 2008-05-23  Dan Williams  <dcbw@redhat.com>
3134
3135         * src/supplicant-manager/nm-supplicant-settings-verify.c
3136                 - Switch 'bssid' from bytes to keyword type
3137                 - (validate_type_keyword): allow NULL keyword lists
3138
3139         * src/supplicant-manager/nm-supplicant-config.c
3140                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3141                         a byte array to string form, which is what the supplicant expects
3142
3143 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3144
3145         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3146         information received from DHCP.
3147
3148         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3149         to make it possible to ignore the DNS information (both servers and 
3150         searches) returned by DHCP server.
3151
3152         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3153         name servers and searches if "ignore_dhcp_dns" is set.
3154
3155         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3156         (nm_ip4_config_reset_searches): Implement.
3157
3158 2008-05-22  Dan Williams  <dcbw@redhat.com>
3159
3160         Remove anything mDNS related.  This is better done from a distro-specific
3161         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3162         avahi, since avahi can handle interface changes just fine using netlink.
3163
3164         * configure.in
3165                 - Remove --with-mdns-provider
3166
3167         * src/NetworkManagerPolicy.c
3168                 - (global_state_changed): don't restart the mdns provider
3169
3170         * src/NetworkManagerSystem.h
3171           src/backends/NetworkManagerArch.c
3172           src/backends/NetworkManagerDebian.c
3173           src/backends/NetworkManagerFrugalware.c
3174           src/backends/NetworkManagerGentoo.c
3175           src/backends/NetworkManagerMandriva.c
3176           src/backends/NetworkManagerPaldo.c
3177           src/backends/NetworkManagerRedHat.c
3178           src/backends/NetworkManagerSlackware.c
3179           src/backends/NetworkManagerSuSE.c
3180                 - (nm_system_restart_mdns_responder): remove
3181
3182         * src/backends/NetworkManagerGeneric.c
3183           src/backends/NetworkManagerGeneric.h
3184                 - (nm_generic_restart_mdns_responder): remove
3185
3186 2008-05-22  Dan Williams  <dcbw@redhat.com>
3187
3188         * configure.in
3189                 - clean up crypto options; just use --with-crypto=nss or
3190                         --with-crypto=gnutls
3191
3192 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3193
3194         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3195         anymore, do it right away.
3196
3197 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3198
3199         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3200         serial device open when we're not connecting or connected.
3201
3202         * src/nm-cdma-device.c (device_state_changed): Ditto.
3203
3204 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3205
3206         Don't remove all devices on waking up, sync with HAL.
3207
3208         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3209         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3210         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3211
3212 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3213
3214         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3215         If the default gateway is unreachable, add a route to gateway and try
3216         again.
3217
3218 2008-05-20  Dan Williams  <dcbw@redhat.com>
3219
3220         * system-settings/plugins/ifcfg-fedora/reader.c
3221                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3222
3223 2008-05-19  Dan Williams  <dcbw@redhat.com>
3224
3225         * system-settings/plugins/ifcfg-fedora/reader.c
3226                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3227                         if the ifcfg doesn't specify one (rh #446527)
3228
3229 2008-05-19  Dan Williams  <dcbw@redhat.com>
3230
3231         Make the system settings service exit when the bus goes away.  Since it's
3232         a bus-activated service, it's lifetime is limited to the bus that activated
3233         it (rh #444976).
3234
3235         * system-settings/src/Makefile.am
3236           system-settings/src/nm-system-config-hal-manager-private.h
3237                 - Remove nm-system-config-hal-manager-private.h
3238
3239         * system-settings/src/nm-system-config-hal-manager.c
3240                 - (nm_system_config_hal_manager_reinit_dbus,
3241                    nm_system_config_hal_manager_deinit_dbus): remove
3242
3243         * system-settings/src/main.c
3244                 - (dbus_reconnect): remove
3245                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3246                 - (destroy_cb): just quit when the bus goes away
3247                 - (start_dbus_service, dbus_init): simplify
3248                 - (main): destroy the wired devices hash table after destroying
3249                         the HAL manager so we don't have to disconnect signals from the
3250                         HAL manager
3251
3252 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3253
3254         Move crypto functions from nm-applet to libnm-util.
3255
3256         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3257         (nm_setting_802_1x_set_client_cert)
3258         (nm_setting_802_1x_set_phase2_ca_cert)
3259         (nm_setting_802_1x_set_phase2_client_cert)
3260         (nm_setting_802_1x_set_private_key)
3261         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3262         file (or private key and it's password), read the certificate data.
3263
3264         * libnm-util/crypto_nss.c: 
3265         * libnm-util/crypto_gnutls.c: 
3266         * libnm-util/crypto.[ch]: Move here from nm-applet.
3267
3268         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3269
3270         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3271         Imlement WPA-EAP configuration reading from sysconfig.
3272
3273 2008-05-16  Dan Williams  <dcbw@redhat.com>
3274
3275         * src/nm-device-802-11-wireless.c
3276                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3277                         wireless
3278
3279 2008-05-14  Dan Williams  <dcbw@redhat.com>
3280
3281         Fix Linus' bug in rh #134886
3282
3283         * src/nm-device-802-3-ethernet.c
3284                 - (constructor): request initial carrier state
3285
3286         * src/nm-netlink-monitor.c
3287                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3288                         signals after refilling the link cache.  Because the refill is a 
3289                         synchronous operation, the normal message hander won't get called
3290                         since libnl has already consumed the messages.
3291                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3292
3293 2008-05-14  Dan Williams  <dcbw@redhat.com>
3294
3295         * src/NetworkManagerSystem.c
3296                 - (nm_system_device_is_up_with_iface): clean up
3297
3298 2008-05-13  Dan Williams  <dcbw@redhat.com>
3299
3300         Fix refcounting issues over sleep/wake when a VPN connection was active that
3301         caused NM to try registering an object path for a device upon wake that was
3302         the same as an already registered object path.
3303
3304         * src/nm-device.c
3305                 - (nm_device_take_down): properly handle cases where the device is
3306                         no longer active but was just active, and therefore must be
3307                         deactivated.  When a device moves to unmanaged mode, this function
3308                         previously would not deactivate the device, because the state was
3309                         already unmanaged by the time this function was called.
3310
3311         * src/vpn-manager/nm-vpn-connection.c
3312                 - (device_state_changed): properly handle multiple devices states in
3313                         which the device is now deactivated.  Code previously didn't handle
3314                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3315                         UNMANAGED states.
3316
3317 2008-05-13  Dan Williams  <dcbw@redhat.com>
3318
3319         * src/nm-device-private.h
3320           src/nm-device.c
3321                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3322
3323         * src/nm-device-802-11-wireless.c
3324                 - (nm_device_802_11_wireless_set_enabled): take devices up
3325                         and down as appropriate for the rfkill state
3326
3327 2008-05-13  Dan Williams  <dcbw@redhat.com>
3328
3329         * marshallers/nm-marshal.list
3330                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3331
3332         * system-settings/plugins/ifcfg-fedora/Makefile.am
3333           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3334           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3335                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3336                         events.  Solely for use watching ifcfg files to pick up changes
3337                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3338
3339         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3340                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3341                         file contents change
3342                 - (finalize): clean up inotify watches
3343                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3344                         and the connection ifcfg for changes on their hardlinks
3345                 - (files_changed_cb): proxy the changed signal back out to listeners
3346
3347         * system-settings/plugins/ifcfg-fedora/plugin.c
3348                 - (dir_changed): 
3349                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3350                         changes
3351                 - (read_one_connection): connect to change signals on the new connection
3352                 - (dir_changed, connection_changed_handler,
3353                    handle_connection_remove_or_new): break out connection change
3354                         handling and connection new/remove handling so it can be used from
3355                         both the GFileMonitor callback and the NMIfcfgConnection changed
3356                         signals
3357
3358         * system-settings/plugins/ifcfg-fedora/reader.c
3359           system-settings/plugins/ifcfg-fedora/reader.h
3360                 - (connection_from_file): return the keyfile path the connection would use
3361
3362 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3363
3364         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3365         single PolKitContext which is shared by all. PolKitContext::unref leaks
3366         just about everything, including all open file descriptiors and results
3367         in 99% cpu usage when data arrives to any of the fds that don't belong
3368         to any context anymore.
3369
3370 2008-05-12  Dan Williams  <dcbw@redhat.com>
3371
3372         * gfilemonitor/glocaldirectorymonitor.c
3373           gfilemonitor/glocaldirectorymonitor.h
3374                 - (g_local_directory_monitor_constructor): actually subscribe to the
3375                         watch
3376                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3377
3378         * gfilemonitor/glocalfilemonitor.c
3379           gfilemonitor/glocalfilemonitor.h
3380                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3381                 - (_g_local_file_monitor_new): ensure that inotify is started up
3382
3383 2008-05-11  Dan Williams  <dcbw@redhat.com>
3384
3385         * configure.in
3386                 - record PolicyKit version
3387
3388         * system-settings/src/nm-polkit-helpers.c
3389                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3390                         with PolicyKit <= 0.6
3391
3392 2008-05-11  Dan Williams  <dcbw@redhat.com>
3393
3394         Update Fedora system-settings plugin to support latest API and use
3395         GFileMonitor rather than home-rolled inotify code.
3396
3397         * system-settings/plugins/ifcfg-fedora/Makefile.am
3398           system-settings/plugins/ifcfg-fedora/common.h
3399           system-settings/plugins/ifcfg-fedora/plugin.c
3400                 - Update to latest system settings plugin API; use GIO instead of
3401                         custom inotify code; use NMIfcfgConnection objects instead of
3402                         ConnectionData structures tacked onto NMConnection objects
3403
3404         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3405           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3406                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3407                         connections
3408
3409         * system-settings/plugins/ifcfg-fedora/reader.c
3410           system-settings/plugins/ifcfg-fedora/reader.h
3411                 - Move ifcfg parsing bits here from parser.c
3412
3413         * system-settings/plugins/ifcfg-fedora/parser.c
3414           system-settings/plugins/ifcfg-fedora/parser.h
3415                 - Remove; most code moved to reader.c
3416
3417 2008-05-11  Dan Williams  <dcbw@redhat.com>
3418
3419         * configure.in
3420           Makefile.am
3421           gfilemonitor/*
3422                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3423                         implementation, so that the same change monitoring code can be used
3424                         on systems without glib-2.14 (like Fedora 8)
3425
3426         * system-settings/plugins/keyfile/Makefile.am
3427           system-settings/plugins/keyfile/plugin.c
3428           system-settings/plugins/ifcfg-suse/Makefile.am
3429           system-settings/plugins/ifcfg-suse/plugin.c
3430                 - Use private gfilemonitor code if GIO is not present
3431
3432 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3433
3434         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3435         NMExportedConnection's 'update' and 'delete' and return error with
3436         descriptive message.
3437
3438 2008-05-08  Dan Williams  <dcbw@redhat.com>
3439
3440         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3441
3442         * src/nm-gsm-device.c
3443           src/nm-cdma-device.c
3444                 - (real_get_best_auto_connection): implement; allow autoconnection
3445                         to GSM & CDMA devices
3446
3447 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3448
3449         Use PolicyKit to authorize the system settings' AddConnection method
3450         and the system settings connections' Update and Delete methods.
3451         
3452         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3453         (impl_exported_connection_delete, nm_exported_connection_update)
3454         (nm_exported_connection_delete): Return boolean and fill GError
3455         to notify the callers of the reasons why it might have failed.
3456
3457         * libnm-glib/nm-dbus-settings-system.c
3458         (nm_dbus_settings_system_add_connection): Return the error from dbus
3459         call so that the callers can see why it failed.
3460
3461         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3462         signatures.
3463
3464         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3465
3466         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3467         abstract base class that checks PolicyKit permissions.
3468
3469         * system-settings/src/dbus-settings.c:
3470         (impl_settings_add_connection): Check the policy before carring out
3471         the request.
3472
3473         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3474         Inherit from NMSysconfigConnection, check the policies before
3475         allowing updating or removing.
3476
3477         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3478         Inherit from NMSysconfigConnection.
3479
3480         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3481         "Delete" methods with async flag so that the implementations can get
3482         access to DBusGMethodInvocation.
3483
3484         * system-settings/src/dbus-settings.c 
3485         (settings_add_connection_check_privileges): Implement.
3486         (impl_settings_add_connection): Check the privileges before adding a new
3487         connection. Improve error reporting.
3488
3489         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3490         async so that the implementation can access DBusGMethodInvocation.
3491
3492         * configure.in: Check for PolicyKit.
3493
3494         * policy/org.freedesktop.network-manager-settings.system.policy: 
3495         New file.
3496
3497         * policy/Makefile.am: Install the policy file.
3498
3499         * configure.in: Add 'policy' subdir.
3500
3501 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3502
3503         Rewrite the suse system settings plugin.
3504
3505         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3506
3507         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3508
3509         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3510
3511         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3512
3513         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3514
3515         * system-settings/src/main.c (load_plugins): Improve error reporting.
3516
3517         * system-settings/src/sha1.[ch] Add.
3518
3519         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3520
3521 2008-05-07  Dan Williams  <dcbw@redhat.com>
3522
3523         * system-settings/plugins/keyfile/reader.c
3524                 - (read_one_setting_value): handle IP address items separately
3525                 - (read_array_of_uint): read IPv4 DNS option as a string array
3526                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3527                         array
3528
3529         * system-settings/plugins/keyfile/writer.c
3530                 - (write_setting_value): handle IP address items separately
3531                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3532                         not an array of uint, so that it's user-editable
3533                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3534                         arrays, so they are user-editable
3535
3536 2008-05-07  Dan Williams  <dcbw@redhat.com>
3537
3538         * system-settings/plugins/keyfile/Makefile.am
3539                 - Change location of the keyfile plugin settings to
3540                         /etc/NetworkManager/system-connections
3541
3542 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3543
3544         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3545
3546         * system-settings/plugins/keyfile/plugin.c: Work with
3547         NMKeyfileConnections.
3548
3549         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3550         Plugins are supposed to return NMExportedConnections now and handle the
3551         updated(), removed(), and GetSecrets().
3552         Store the internal list of connections in hash table to make it easier
3553         to find duplicates.
3554
3555 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3556
3557         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3558         for multiple IP addresses.
3559
3560 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3561
3562         Patch from André Lemos.
3563
3564         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3565         corruption.
3566
3567 2008-05-06  Dan Williams  <dcbw@redhat.com>
3568
3569         * src/dhcp-manager/nm-dhcp-manager.c
3570                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3571                         NMIP4Config to support multiple IP addresses
3572
3573         * src/NetworkManagerUtils.c
3574                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3575
3576         * src/nm-ip4-config.c
3577           src/nm-ip4-config.h
3578                 - Store a list of IPv4 address/netmask/gateway tuples
3579                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3580                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3581                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3582                    nm_ip4_config_set_address): remove
3583                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3584                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3585                         new functions; handle multiple IPv4 addresses
3586
3587         * src/nm-device.c
3588           src/ppp-manager/nm-ppp-manager.c
3589           src/vpn-manager/nm-vpn-connection.c
3590           src/NetworkManagerPolicy.c
3591           test/nm-tool.c
3592           libnm-glib/libnm-glib-test.c
3593                 - update for changes to NMIP4Config for multiple IPv4 addresses
3594
3595         * src/NetworkManagerSystem.c
3596                 - (nm_system_device_set_ip4_route): don't add the route if any address
3597                         is on the same subnet as the destination
3598                 - (check_one_address): ignore the exact match, just match family and
3599                         interface index
3600                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3601                         an interface
3602                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3603                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3604
3605         * introspection/nm-ip4-config.xml
3606                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3607                 - Add 'addresses' property which is an array of (uuu) tuples of
3608                         address/netmask/gateway
3609
3610         * libnm-util/nm-setting-ip4-config.c
3611                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3612
3613         * libnm-glib/nm-ip4-config.c
3614           libnm-glib/nm-ip4-config.h
3615                 - Handle D-Bus interface changes to support multiple IP addresses
3616
3617 2008-05-06  Dan Williams  <dcbw@redhat.com>
3618
3619         * libnm-util/nm-utils.c
3620           libnm-util/nm-utils.h
3621                 - (nm_utils_ip4_addresses_from_gvalue,
3622                    nm_utils_ip4_addresses_to_gvalue): new functions
3623
3624 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3625
3626         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3627         the returned connection paths.
3628
3629 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3630
3631         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3632         "PropertiesChanged" signal signature.
3633
3634         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3635         defined in nm-dbus-glib-types.h.
3636         Don't register the connection on dbus, we're a proxy class to 
3637         communicate with an already registered connection over dbus.
3638
3639 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3640
3641         Implement new subclasses of NMSettings and NMExportedConnection to make
3642         it easier for the applet to access and modify system settings.
3643
3644         * libnm-glib/nm-dbus-connection.[ch]:
3645         * libnm-glib/nm-dbus-settings.[ch]:
3646         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3647
3648         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3649         bindings and glue.
3650
3651         * include/NetworkManager.h: Define the system settings DBus interface.
3652
3653 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3654
3655         Implement additional C API for exported connections to make them identical
3656         with the DBus API. Change the (list_connections) virtual function to be
3657         more usable from C - instead of requiring implementers to return a GPtrArray
3658         of dbus paths, return a list of connections.
3659
3660         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3661         (nm_settings_list_connections):
3662         (nm_exported_connection_new):
3663         (nm_exported_connection_update):
3664         (nm_exported_connection_delete): Implement.
3665
3666         (impl_settings_list_connections):
3667         (impl_exported_connection_update):
3668         (impl_exported_connection_delete): Use the new public functions to make 
3669         sure the C and dbus interfaces stay in sync.
3670
3671         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3672         connections.
3673
3674 2008-05-02  Dan Williams  <dcbw@redhat.com>
3675
3676         * system-settings/plugins/ifcfg-fedora/plugin.c
3677                 - (dispose): use right unref call on the DBusGConnection
3678
3679 2008-05-02  Dan Williams  <dcbw@redhat.com>
3680
3681         * src/nm-serial-device.c
3682                 - (find_terminator): don't compare the whole line, just the size of the
3683                         terminator, since some modems put stuff after the terminator, like
3684                         "CONNECT 9600"
3685
3686 2008-05-01  Dan Williams  <dcbw@redhat.com>
3687
3688         Patch from Michael Biebl <biebl@debian.org>
3689
3690         * callouts/Makefile.am
3691           callouts/org.freedesktop.nm_dispatcher.service.in
3692           system-settings/src/Makefile.am
3693           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3694                 - use the right install location for dbus-activated stuff
3695
3696 2008-04-30  Dan Williams  <dcbw@redhat.com>
3697
3698         * src/nm-gsm-device.c
3699                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3700                         PIN or PUK
3701
3702 2008-04-30  Dan Williams  <dcbw@redhat.com>
3703
3704         * src/nm-manager.c
3705                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3706
3707 2008-04-30  Dan Williams  <dcbw@redhat.com>
3708
3709         * src/nm-device-802-3-ethernet.c
3710           src/nm-device-802-11-wireless.c
3711                 - (real_is_up): return true instead of chaining up to unimplemented
3712                         parent method
3713
3714 2008-04-30  Dan Williams  <dcbw@redhat.com>
3715
3716         * src/NetworkManagerSystem.c
3717           src/NetworkManagerSystem.h
3718                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3719                         functions to check device flags for IFF_UP
3720
3721         * src/nm-serial-device.c
3722                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3723                         implement is_up
3724
3725         * src/nm-device-802-3-ethernet.c
3726           src/nm-device-802-11-wireless.c
3727                 - (real_hw_is_up): call nm_system_device_is_up()
3728
3729         * src/nm-device.c
3730                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3731                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3732                         does not implement
3733
3734 2008-04-29  Dan Williams  <dcbw@redhat.com>
3735
3736         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3737
3738         * marshallers/nm-marshal.list
3739                 - Add marshaller
3740
3741         * src/NetworkManager.c
3742                 - (main): let the NMManager handle the NMHalManager
3743
3744         * src/nm-hal-manager.c
3745           src/nm-hal-manager.h
3746                 - convert to a GObject, and emit singals when stuff changes.  Let the
3747                         NMManager handle the signals, instead of the NMHalManager calling
3748                         into the NMManager.  
3749
3750         * src/nm-manager.c
3751           src/nm-manager.h
3752                 - (remove_one_device): consolidate device removals here
3753                 - (dispose): use remove_one_device()
3754                 - (nm_manager_get_device_by_udi): make static
3755                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3756                         manager for devices at startup or wakeup time
3757                 - (nm_manager_new): create and monitor the HAL manager
3758                 - (hal_manager_udi_added_cb): new function; do what
3759                         nm_manager_add_device() used to do when signalled by the hal manager
3760                 - (hal_manager_udi_removed_cb): new function; do what
3761                         nm_manager_remove_device() used to do when signalled by the hal
3762                         manager
3763                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3764                         hal manager
3765                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3766                         in our device list that aren't known to HAL
3767                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3768                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3769                         commits ago
3770                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3771                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3772                    nm_manager_wireless_hardware_enabled,
3773                    nm_manager_set_wireless_hardware_enabled): remove, unused
3774
3775 2008-04-28  Dan Williams  <dcbw@redhat.com>
3776
3777         Fix the device up/down ambiguities.  Up/down state used to be a
3778         conglomeration of hardware state (IFF_UP) and any device-specific things
3779         (supplicant, periodic timers, etc) that the device used to indicate
3780         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3781         reason, then the device specific stuff wouldn't get run, and the device
3782         would be stuck.
3783
3784         * src/nm-device.c
3785           src/nm-device.h
3786                 - Create hw_is_up, hw_bring_up, and hw_take_down
3787                 - Rename bring_down -> take_down
3788                 - (real_hw_is_up): check interface flags for IFF_UP
3789                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3790                 - (nm_device_is_up): make static; only used locally
3791                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3792                         if the device is already up; if the device isn't up, bring it up
3793                 - (nm_device_hw_take_down): just take down hardware
3794                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3795                 - (nm_device_take_down): always deactivate device when called; always
3796                         try to take hardware down too
3797                 - (nm_device_state_changed): take device down when entering unmanaged
3798                         state from a higher state
3799
3800         * src/nm-device-802-11-wireless.c
3801                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3802                         check IFF_UP really
3803                 - (real_take_down, supplicant_iface_state_cb_handler, 
3804                    supplicant_iface_connection_state_cb_handler,
3805                    supplicant_mgr_state_cb_handler): fix some messages
3806
3807         * src/nm-device-802-3-ethernet.c
3808                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3809                         check IFF_UP really
3810
3811 2008-04-28  Dan Williams  <dcbw@redhat.com>
3812
3813         * src/nm-manager.c
3814           src/nm-manager.h
3815                 - (nm_manager_error_get_type): add new error
3816                 - (nm_manager_remove_device): don't bother taking down the device here,
3817                         the state change from unmanaging the device will do it
3818                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3819                         uses it; when going to sleep, just unmanage the device instead of
3820                         taking it down, because stuff will cleaned up correctly when the
3821                         device gets unmanaged
3822
3823 2008-04-28  Dan Williams  <dcbw@redhat.com>
3824
3825         * src/nm-hal-manager.c
3826                 - (add_initial_devices): convert to a GSourceFunc prototype
3827                 - (nm_manager_state_changed): when coming out of sleep, punt the
3828                         device re-addition to an idle handler to let D-Bus events go out
3829                         first, fixing a potential dbus-glib assert if the old device was
3830                         not yet disposed (due to references held while emitting the D-Bus
3831                         signals) but the new device was found, because the mainloop didn't
3832                         run between signal emission and add_initial_devices()
3833
3834 2008-04-27  Dan Williams  <dcbw@redhat.com>
3835
3836         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3837
3838         * initscript/paldo/NetworkManager.in
3839           initscript/SUSE/networkmanager.in
3840                 - Remove last bits of dhcdbd
3841
3842 2008-04-27  Dan Williams  <dcbw@redhat.com>
3843
3844         * src/nm-device-802-11-wireless.c
3845                 - (link_timeout_cb): don't ask for secrets when disconnected during
3846                         association/authentication phase, drivers are still just too crappy
3847
3848 2008-04-27  Dan Williams  <dcbw@redhat.com>
3849
3850         * Makefile.am
3851           configure.in
3852           dispatcher-daemon/Makefile.am
3853           dispatcher-daemon/NetworkManagerDispatcher.c
3854           initscript/Arch/Makefile.am
3855           initscript/Arch/networkmanager-dispatcher.in
3856           initscript/Gentoo/Makefile.am
3857           initscript/Gentoo/NetworkManagerDispatcher.in
3858           initscript/Mandriva/Makefile.am
3859           initscript/Mandriva/networkmanagerdispatcher.in
3860           initscript/RedHat/Makefile.am
3861           initscript/RedHat/NetworkManagerDispatcher.in
3862           initscript/SUSE/Makefile.am
3863           initscript/SUSE/networkmanager-dispatcher.in
3864           initscript/Slackware/Makefile.am
3865           initscript/Slackware/rc.networkmanager-dispatcher.in
3866           initscript/paldo/Makefile.am
3867           initscript/paldo/NetworkManagerDispatcher.in
3868           man/Makefile.am
3869           man/NetworkManagerDispatcher.8.in
3870                 - Remove the dispatcher daemon
3871
3872 2008-04-27  Dan Williams  <dcbw@redhat.com>
3873
3874         * callouts/Makefile.am
3875           callouts/nm-dispatcher-action.c
3876           callouts/nm-dispatcher-action.h
3877           callouts/nm-dispatcher.conf
3878           callouts/nm-dispatcher.xml
3879           callouts/org.freedesktop.nm_dispatcher.service
3880                 - Re-implement the dispatcher as a system-bus activated service that
3881                         NM calls on-demand, rather than an always running daemon
3882
3883         * src/Makefile.am
3884                 - Add callouts dir to includes to pick up dispatcher defines
3885
3886         * src/nm-device.c
3887                 - (nm_device_state_changed): call dispatcher on device activated/
3888                         deactivated
3889
3890         * src/vpn-manager/nm-vpn-connection.c
3891                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3892                         go up and down
3893
3894         * src/NetworkManagerUtils.c
3895           src/NetworkManagerUtils.h
3896                 - (nm_utils_call_dispatcher): helper to call dispatcher
3897
3898 2008-04-27  Dan Williams  <dcbw@redhat.com>
3899
3900         * src/NetworkManagerUtils.c
3901           src/NetworkManagerUtils.h
3902                 - remove unneeded includes
3903                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3904                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3905                    nm_timeval_cmp, nm_timeval_add): remove, unused
3906                 - clean up formatting
3907                 - (nm_spawn_process): de-uglify
3908
3909         * src/nm-device-802-11-wireless.c
3910                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3911
3912 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3913
3914         * initscript/Gentoo/NetworkManager.in:
3915                 Fix for starting the daemon.
3916
3917 2008-04-25  Dan Williams  <dcbw@redhat.com>
3918
3919         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3920
3921         * src/NetworkManagerSystem.c
3922                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3923
3924 2008-04-25  Dan Williams  <dcbw@redhat.com>
3925
3926         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3927
3928         * src/NetworkManagerSystem.c
3929                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3930                         implementation of nm_system_device_replace_default_route()
3931
3932         * src/NetworkManagerPolicy.c
3933                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3934
3935         * src/backends/NetworkManagerArch.c
3936           src/backends/NetworkManagerDebian.c
3937           src/backends/NetworkManagerFrugalware.c
3938           src/backends/NetworkManagerGeneric.c
3939           src/backends/NetworkManagerGeneric.h
3940           src/backends/NetworkManagerGentoo.c
3941           src/backends/NetworkManagerMandriva.c
3942           src/backends/NetworkManagerPaldo.c
3943           src/backends/NetworkManagerRedHat.c
3944           src/backends/NetworkManagerSlackware.c
3945           src/backends/NetworkManagerSuSE.c
3946                 - (nm_system_device_replace_default_route): remove
3947
3948 2008-04-25  Dan Williams  <dcbw@redhat.com>
3949
3950         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3951
3952         * src/NetworkManagerSystem.c
3953                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3954                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3955                         replace nm_system_device_add_route_via_device_with_iface() in the
3956                         backends
3957
3958         * src/backends/NetworkManagerArch.c
3959           src/backends/NetworkManagerDebian.c
3960           src/backends/NetworkManagerFrugalware.c
3961           src/backends/NetworkManagerGeneric.c
3962           src/backends/NetworkManagerGeneric.h
3963           src/backends/NetworkManagerGentoo.c
3964           src/backends/NetworkManagerMandriva.c
3965           src/backends/NetworkManagerPaldo.c
3966           src/backends/NetworkManagerRedHat.c
3967           src/backends/NetworkManagerSlackware.c
3968           src/backends/NetworkManagerSuSE.c
3969                 - Remove nm_system_device_add_route_via_device_with_iface()
3970
3971 2008-04-25  Dan Williams  <dcbw@redhat.com>
3972
3973         * system-settings/plugins/ifcfg-fedora/parser.c
3974                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3975
3976 2008-04-24  Dan Williams  <dcbw@redhat.com>
3977
3978         * dispatcher-daemon/NetworkManagerDispatcher.c
3979                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3980
3981 2008-04-24  Dan Williams  <dcbw@redhat.com>
3982
3983         * initscript/RedHat/NetworkManager.in
3984           initscript/RedHat/NetworkManagerDispatcher.in
3985                 - Be active at runlevel 2
3986                 - Adjust priorities earlier
3987
3988 2008-04-22  Dan Williams  <dcbw@redhat.com>
3989
3990         * src/NetworkManagerPolicy.c
3991                 - (update_routing_and_dns): when checking for a gateway, look at the
3992                         composite IP4 config, not the connection's ip4-config setting, which
3993                         doesn't include DHCP-returned information
3994
3995 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3996
3997         Implement GKeyFile system settings plugin.
3998         Implement writing system settings (currently supported only by GKeyFile plugin).
3999
4000         * system-settings/src/main.c: 
4001         * system-settings/src/dbus-settings.c: Move the communication with plugins
4002         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4003         plugins for adding/updating/removing connections.
4004
4005         * system-settings/src/nm-system-config-interface.c
4006         (nm_system_config_interface_add_connection): Implement
4007         (nm_system_config_interface_update_connection): Implement.
4008         (nm_system_config_interface_remove_connection): Implement.
4009
4010         * system-settings/plugins/keyfile/Makefile.am:
4011         * system-settings/plugins/keyfile/plugin.[ch]:
4012         * system-settings/plugins/keyfile/writer.[ch]:
4013         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4014
4015         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4016
4017         * configure.in: Generate GKeyFile Makefile.
4018
4019         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4020         corruption, need to duplicate the returned string.
4021         (impl_exported_connection_update): Implement.
4022         (impl_exported_connection_delete): Implement.
4023
4024         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4025
4026         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4027
4028 2008-04-22  Dan Williams  <dcbw@redhat.com>
4029
4030         Patch from Charles R. Anderson (cra@wpi.edu)
4031
4032         * src/NetworkManagerPolicy.c
4033                 - (update_routing_and_dns): don't select devices without a gateway
4034                         as having the default route (rh #437338)
4035
4036 2008-04-21  Dan Williams  <dcbw@redhat.com>
4037
4038         * src/nm-activation-request.c
4039           src/nm-activation-request.h
4040                 - (dispose): ensure to disconnect from the device's state-changed signal
4041                         when appropriate so the signal doesn't get handled by an already
4042                         disposed NMActRequest
4043                 - (device_state_changed): update is_default here too just to make sure
4044                         default is only True when the child device is activated
4045                 - (nm_act_request_set_default): new function
4046
4047         * src/NetworkManagerPolicy.c
4048                 - (update_routing_and_dns): set 'default' on the active connection which
4049                         has the default route and DNS
4050
4051 2008-04-21  Dan Williams  <dcbw@redhat.com>
4052
4053         * src/NetworkManagerPolicy.c
4054                 - (device_state_changed): update routing and DNS when a device goes
4055                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4056
4057 2008-04-21  Dan Williams  <dcbw@redhat.com>
4058
4059         * include/NetworkManager.h
4060                 - Add NMActiveConnectionState enum
4061
4062         * introspection/nm-active-connection.xml
4063           introspection/nm-vpn-connection.xml
4064                 - Add 'State' property for overall active connection state
4065                 - Add 'Default' property, when True means this active connection
4066                         has the default route
4067                 - Add PropertyChanged signals so changes actually go out over the bus
4068
4069         * src/nm-active-connection.h
4070                 - Add defines for State & Default properties
4071
4072         * src/nm-activation-request.c
4073                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4074                         signal to determine active connection state
4075
4076         * src/vpn-manager/nm-vpn-connection.c
4077           src/vpn-manager/nm-vpn-connection.h
4078           src/vpn-manager/nm-vpn-manager.c
4079           src/vpn-manager/nm-vpn-service.c
4080                 - Rename old 'state' to 'vpn-state'
4081                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4082                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4083                         'vpn-state-changed' signal
4084
4085         * libnm-glib/nm-active-connection.c
4086           libnm-glib/nm-active-connection.h
4087                 - Add new 'state' and 'default' properties and accessors
4088
4089         * libnm-glib/nm-vpn-connection.c
4090           libnm-glib/nm-vpn-connection.h
4091                 - Rename old 'state' property to 'vpn-state'
4092                 - Add new 'state' and 'default' properties and accessors
4093
4094 2008-04-21  Dan Williams  <dcbw@redhat.com>
4095
4096         * src/nm-ip4-config.c
4097                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4098                         not specified (rh #443474)
4099
4100 2008-04-20  Dan Williams  <dcbw@redhat.com>
4101
4102         * src/NetworkManagerUtils.c
4103           src/NetworkManagerUtils.h
4104                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4105                         NMSettingIP4Config to an NMIP4Config object
4106
4107         * src/nm-device.c
4108                 - (merge_ip4_config): move to NetworkManagerUtils.c
4109
4110         * src/vpn-manager/nm-vpn-connection.c
4111                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4112                         too
4113
4114 2008-04-18  Dan Williams  <dcbw@redhat.com>
4115
4116         * libnm-util/nm-setting-ppp.c
4117           libnm-util/nm-setting-ppp.h
4118                 - Add 'no-vj-comp' option for TCP header compression
4119                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4120                         uint32
4121
4122 2008-04-18  Dan Williams  <dcbw@redhat.com>
4123
4124         * libnm-util/nm-setting-ppp.c
4125           libnm-util/nm-setting-ppp.h
4126           src/ppp-manager/nm-ppp-manager.c
4127                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4128
4129 2008-04-18  Dan Williams  <dcbw@redhat.com>
4130
4131         * libnm-util/nm-setting-ppp.c
4132           libnm-util/nm-setting-ppp.h
4133           src/ppp-manager/nm-ppp-manager.c
4134                 - Remove the 'usepeerdns' option and always request DNS servers from
4135                         the PPP server; the connection chooses to use/override/ignore the
4136                         DNS servers returned from the PPP server
4137
4138 2008-04-18  Dan Williams  <dcbw@redhat.com>
4139
4140         * libnm-util/nm-setting-ppp.c
4141           libnm-util/nm-setting-ppp.h
4142           src/ppp-manager/nm-ppp-manager.c
4143                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4144                         it seems to have been an erroneous addition to the PPTP plugin in
4145                         the first place (from which the ppp-manager is derived)
4146
4147 2008-04-17  Dan Williams  <dcbw@redhat.com>
4148
4149         * libnm-util/nm-setting-pppoe.c
4150                 - (verify): require a PPP setting too
4151
4152         * src/ppp-manager/nm-ppp-manager.c
4153                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4154                         segfaulting
4155
4156 2008-04-17  Dan Williams  <dcbw@redhat.com>
4157
4158         * src/nm-device.c
4159                 - (nm_device_state_changed): do deactivation and and promotion to
4160                         unavailable here, so that the device gets cleaned up before the
4161                         manager runs and starts emitting signals; do the
4162                         FAILED->DISCONNECTED transition from an idle handler rather than
4163                         immediately to guard against recursion
4164                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4165                         FAILED->DISCONNECTED handler if it's scheduled
4166
4167 2008-04-17  Dan Williams  <dcbw@redhat.com>
4168
4169         * src/nm-device-802-11-wireless.c
4170                 - (state_changed_cb): clear AP list when device transitions to
4171                         unavailable or unmanaged
4172                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4173                         since this is already done in device_cleanup()
4174                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4175                         isn't available or managed
4176                 - (device_cleanup): use remove_all_aps()
4177                 - (remove_all_aps): consolidate code removing all APs
4178
4179 2008-04-17  Dan Williams  <dcbw@redhat.com>
4180
4181         * src/nm-serial-device.c
4182           src/nm-serial-device.h
4183                 - (wait_for_reply_got_data): break input into lines, and search each
4184                         line for responses _and_ terminator strings; also make sure that
4185                         the read loop doesn't continue after the timeout is supposed to fire
4186                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4187
4188         * src/nm-gsm-device.c
4189           src/nm-cdma-device.c
4190                 - Send terminators to nm_serial_device_wait_for_reply()
4191
4192 2008-04-16  Dan Williams  <dcbw@redhat.com>
4193
4194         Patch from 陈鑫 <znscnchen@gmail.com>
4195
4196         * src/ppp-manager/nm-pppd-plugin.c
4197                 - (get_credentials): return correct value for success; handle case where
4198                         pppd just does some checking but doesn't want a password
4199                 - (plugin_init): make CHAP work too
4200
4201 2008-04-16  Dan Williams  <dcbw@redhat.com>
4202
4203         Patch from 陈鑫 <znscnchen@gmail.com>
4204
4205         * src/ppp-manager/nm-ppp-manager.c
4206                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4207
4208 2008-04-16  Dan Williams  <dcbw@redhat.com>
4209
4210         Patch from 陈鑫 <znscnchen@gmail.com>
4211
4212         * src/nm-device-802-3-ethernet.c
4213                 - (real_deactivate_quickly): clear the IP interface name on
4214                         deactivation, otherwise the wrong interface might get used later
4215                         for routing and IP management
4216
4217 2008-04-15  Dan Williams  <dcbw@redhat.com>
4218
4219         * libnm-glib/nm-device.c
4220                 - (get_product_and_vendor): handle serial devices correctly
4221                 - (nm_device_update_description): pass device to get_product_and_vendor()
4222
4223 2008-04-15  Dan Williams  <dcbw@redhat.com>
4224
4225         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4226
4227         * src/NetworkManagerSystem.h
4228           src/backends/NetworkManagerArch.c
4229           src/backends/NetworkManagerDebian.c
4230           src/backends/NetworkManagerFrugalware.c
4231           src/backends/NetworkManagerGeneric.c
4232           src/backends/NetworkManagerGeneric.h
4233           src/backends/NetworkManagerGentoo.c
4234           src/backends/NetworkManagerMandriva.c
4235           src/backends/NetworkManagerPaldo.c
4236           src/backends/NetworkManagerRedHat.c
4237           src/backends/NetworkManagerSlackware.c
4238           src/backends/NetworkManagerSuSE.c
4239           src/nm-device.c
4240                 - (nm_generic_device_add_ip6_link_address,
4241                    nm_system_device_add_ip6_link_address): remove
4242
4243 2008-04-15  Dan Williams  <dcbw@redhat.com>
4244
4245         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4246
4247         * src/backends/NetworkManagerArch.c
4248           src/backends/NetworkManagerDebian.c
4249           src/backends/NetworkManagerFrugalware.c
4250           src/backends/NetworkManagerGeneric.c
4251           src/backends/NetworkManagerGeneric.h
4252           src/backends/NetworkManagerGentoo.c
4253           src/backends/NetworkManagerMandriva.c
4254           src/backends/NetworkManagerPaldo.c
4255           src/backends/NetworkManagerRedHat.c
4256           src/backends/NetworkManagerSlackware.c
4257           src/backends/NetworkManagerSuSE.c
4258           src/NetworkManagerSystem.h
4259                 - flush_routes -> flush_ip4_routes
4260                 - flush_addresses -> flush_ip4_addresses
4261
4262         * src/NetworkManagerSystem.c
4263           src/nm-device.c
4264           src/vpn-manager/nm-vpn-connection.c
4265                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4266
4267 2008-04-15  Dan Williams  <dcbw@redhat.com>
4268
4269         Remove exposure of wireless-tools mode types in the API.
4270
4271         * include/NetworkManager.h
4272                 - Define NM80211Mode enum
4273
4274         * introspection/generic-types.xml
4275                 - Describe NM_802_11_MODE enum
4276                 - Remove IW_MODE_* enum
4277
4278         * introspection/nm-access-point.xml
4279           libnm-glib/nm-access-point.c
4280           libnm-glib/nm-access-point.h
4281                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4282
4283         * introspection/nm-device-802-11-wireless.xml
4284           libnm-glib/nm-device-802-11-wireless.c
4285           libnm-glib/nm-device-802-11-wireless.h
4286                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4287
4288         * libnm-util/nm-setting-wireless.c
4289           src/NetworkManagerAP.c
4290           src/NetworkManagerAP.h
4291           src/nm-device-802-11-wireless.c
4292           src/nm-device-802-11-wireless.h
4293           test/nm-tool.c
4294                 - Use NM80211Mode not IW_MODE_*
4295
4296 2008-04-15  Dan Williams  <dcbw@redhat.com>
4297
4298         Enhance nm-online based on a patch from Bill Nottingham.
4299
4300         * test/nm-online.c
4301                 - Add a '-q' option
4302                 - Add help messages and option summary
4303                 - Add long-format options
4304                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4305
4306 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4307
4308         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4309
4310         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4311
4312 2008-04-15  Dan Williams  <dcbw@redhat.com>
4313
4314         * nm-setting-ip4-config.c
4315                 - (ip4_addresses_from_gvalue): handle NULL address array
4316
4317         * nm-setting-8021x.c
4318                 - (verify_tls, verify_ttls): warn on failed verification
4319
4320 2008-04-10  Dan Williams  <dcbw@redhat.com>
4321
4322         * src/nm-gsm-device.c
4323                 - (automatic_registration): accept "+CREG: 0,0"
4324                 - (automatic_registration_response): fail on "+CREG: 0,0"
4325
4326 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4327
4328         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4329
4330 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4331
4332         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4333         Make it compile again by commenting out broken code that at first didn't work and
4334         now didn't compile either.
4335
4336 2008-04-08  Dan Williams  <dcbw@redhat.com>
4337
4338         * libnm-glib/nm-object-cache.c
4339           libnm-glib/nm-settings.c
4340           src/dhcp-manager/nm-dhcp-manager.c
4341           system-settings/plugins/ifcfg-fedora/plugin.c
4342           system-settings/plugins/ifcfg-suse/plugin.c
4343           system-settings/src/nm-system-config-hal-manager.c
4344           libnm-util/nm-utils.c
4345                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4346                         not threadsafe anyway
4347
4348 2008-04-08  Dan Williams  <dcbw@redhat.com>
4349
4350         * system-settings/src/main.c
4351                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4352                         callbacks take a device type too
4353
4354 2008-04-08  Dan Williams  <dcbw@redhat.com>
4355
4356         The system settings service will now create a new default DHCP connection
4357         for wired devices that have no existing applicable connection.
4358
4359         * system-settings/src/nm-system-config-hal-manager.c
4360           system-settings/src/nm-system-config-hal-manager.h
4361                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4362
4363         * system-settings/src/dbus-settings.c
4364           system-settings/src/dbus-settings.h
4365                 - (nm_sysconfig_settings_get_connections): new function
4366                 - (nm_sysconfig_settings_is_device_managed): new function
4367
4368         * system-settings/src/main.c
4369                 - (load_stuff): check for wired devices that need a default connection
4370                 - (get_details_for_udi): get interface and MAC address from HAL
4371                 - (add_default_dhcp_connection): add a default connection for a wired
4372                         device if needed
4373                 - (device_added_cb, device_removed_cb): do the right thing with
4374                         wired devices and their default connections on HAL device events
4375
4376 2008-04-07  Dan Williams  <dcbw@redhat.com>
4377
4378         * libnm-glib/nm-device.c
4379           libnm-glib/nm-device.h
4380                 - Proxy the 'managed' property
4381
4382 2008-04-07  Dan Williams  <dcbw@redhat.com>
4383
4384         * src/nm-gsm-device.c
4385           src/nm-cdma-device.c
4386                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4387                         handler to transition to DISCONNECTED
4388
4389 2008-04-07  Dan Williams  <dcbw@redhat.com>
4390
4391         Patch from Bill Nottingham
4392
4393         * dispatcher-daemon/NetworkManagerDispatcher.c
4394                 - ignore backup/packaging crufy (rh #440143)
4395
4396 2008-04-07  Dan Williams  <dcbw@redhat.com>
4397
4398         * include/NetworkManager.h
4399                 - Remove the DOWN and CANCELLED device states
4400                 - Add UNMANAGED and UNAVAILABLE device states
4401                 - Document the device states
4402
4403         * introspection/nm-device.xml
4404           src/nm-device-interface.c
4405           src/nm-device-interface.h
4406                 - Add the 'managed' property
4407
4408         * test/nm-tool.c
4409                 - (detail_device): print out device state
4410
4411         * src/NetworkManagerSystem.h
4412           src/backends/NetworkManagerArch.c
4413           src/backends/NetworkManagerDebian.c
4414           src/backends/NetworkManagerFrugalware.c
4415           src/backends/NetworkManagerGentoo.c
4416           src/backends/NetworkManagerMandriva.c
4417           src/backends/NetworkManagerPaldo.c
4418           src/backends/NetworkManagerRedHat.c
4419           src/backends/NetworkManagerSlackware.c
4420           src/backends/NetworkManagerSuSE.c
4421                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4422                    nm_system_device_free_system_config): remove; they were unused and
4423                         their functionality should be re-implemented in each distro's
4424                         system settings service plugin 
4425
4426         * src/nm-gsm-device.c
4427           src/nm-gsm-device.h
4428           src/nm-cdma-device.c
4429           src/nm-cdma-device.h
4430                 - (*_new): take the 'managed' argument
4431
4432         * src/nm-device.c
4433                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4434                 - (nm_device_init): start in unmanaged state, not disconnected
4435                 - (constructor): don't start device until the system settings service
4436                         has had a chance to figure out if the device is managed or not
4437                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4438                         don't set device state here, let callers handle that as appropriate
4439                 - (nm_device_dispose): don't touch the device if it's not managed
4440                 - (set_property, get_property, nm_device_class_init): implement the
4441                         'managed' property
4442                 - (nm_device_state_changed): bring the device up if its now managed,
4443                         and deactivate it if it used to be active
4444                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4445                         with the managed state
4446
4447         * src/nm-hal-manager.c
4448                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4449                         take initial managed state and pass it along to device constructors
4450                 - (create_device_and_add_to_list): get managed state and pass to
4451                         type creators
4452
4453         * src/nm-device-802-11-wireless.c
4454                 - (real_can_activate): fold in most of
4455                         nm_device_802_11_wireless_can_activate()
4456                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4457                 - (link_timeout_cb): instead of deactivating, change device state and
4458                         let the device state handler to it
4459                 - (real_update_hw_address): clean up
4460                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4461                         handler to transition to DISCONNECTED if the device isn't rfkilled
4462
4463         * src/nm-device-802-3-ethernet.c
4464                 - (set_carrier): move above callers and get rid of prototype
4465                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4466                         idle handler to transition to DISCONNECTED if the device has a
4467                         carrier
4468                 - (real_update_hw_address): clean up
4469                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4470                         deactivation directly as deactivation doesn't change state anymore
4471
4472         * src/NetworkManagerPolicy.c
4473                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4474                         the NMManager and wireless devices work that out themselves now
4475                 - (device_state_changed): change to a switch and update for new device
4476                         states
4477                 - (device_carrier_changed): remove; device handles this now through
4478                         state changes
4479                 - (device_added): don't care about carrier any more; the initial
4480                         activation check will happen when the device transitions to
4481                         DISCONNECTED
4482
4483         * src/nm-manager.c
4484                 - (dispose): clear unmanaged devices
4485                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4486                         the managed property on each device when needed
4487                 - (system_settings_properties_changed_cb): handle signals from the
4488                         system settings service
4489                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4490                         getting the unmanaged device list method call
4491                 - (query_unmanaged_devices): ask the system settings service for its
4492                         list of unmanaged devices
4493                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4494                         devices
4495                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4496                         devices directly and let them handle the necessary state transitions
4497                 - (manager_device_state_changed): update for new device states
4498                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4499                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4500                 - (nm_manager_activate_connection): return error if the device is
4501                         unmanaged
4502                 - (nm_manager_sleep): handle new device states correctly; don't change
4503                         the state of unavailable/unmanaged devices
4504
4505         * libnm-glib/nm-device-802-11-wireless.c
4506                 - (state_changed_cb): update for new device states
4507
4508 2008-04-07  Dan Williams  <dcbw@redhat.com>
4509
4510         * marshallers/nm-marshal.list
4511                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4512
4513 2008-04-07  Dan Williams  <dcbw@redhat.com>
4514
4515         * system-settings/src/main.c
4516                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4517                         plugins to the dbus settings object
4518                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4519                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4520                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4521                 - (main): switch default logging to syslog with a 'debug' option to
4522                         output to console; start up the HAL manager
4523
4524 2008-04-07  Dan Williams  <dcbw@redhat.com>
4525
4526         * introspection/nm-settings-system.xml
4527           introspection/Makefile.am
4528                 - Define the unmanaged devices interface for the system settings service
4529
4530         * system-settings/src/nm-system-config-hal-manager.c
4531           system-settings/src/nm-system-config-hal-manager.h
4532           system-settings/src/nm-system-config-hal-manager-private.h
4533           system-settings/src/Makefile.am
4534                 - Add a lightweight HAL manager object for tracking network devices for
4535                         the purpose of determining unmanaged devices and which devices need
4536                         the default DHCP connections
4537
4538         * system-settings/src/nm-system-config-interface.c
4539           system-settings/src/nm-system-config-interface.h
4540                 - (nm_system_config_interface_init): add the HAL manager as an argument
4541                 - (nm_system_config_interface_get_unmanaged_devices): implement
4542                 - Define 'unmanaged-devices-changed' signal
4543
4544         * system-settings/src/dbus-settings.c
4545           system-settings/src/dbus-settings.h
4546                 - Implement the unmanaged devices interface; some cleanups
4547
4548         * system-settings/plugins/ifcfg-suse/plugin.c
4549                 - Fixup for plugin interface changes
4550
4551         * system-settings/plugins/ifcfg-fedora/plugin.c
4552                 - (get_ether_device_udi): new function; find the device that has
4553                         a specified MAC address and return its UDI
4554                 - (get_udi_for_connection): new function; try to find the specific
4555                         device a connection is locked to, if any
4556                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4557                         response to HAL events
4558                 - (get_unmanaged_devices): new function; return unmanaged device list
4559                 - (build_one_connection): set the connection's locked device, if any
4560                 - (write_auto_wired_connection): remove
4561                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4562                 - (handle_connection_changed): alert listeners that the unmanaged device
4563                         list has changed
4564                 - (init): fixup for plugin interface changes, implement unmanaged devices
4565
4566         * system-settings/plugins/ifcfg-fedora/parser.c
4567           system-settings/plugins/ifcfg-fedora/parser.h
4568                 - (connection_data_free): clean up connection UDI
4569
4570 2008-04-07  Dan Williams  <dcbw@redhat.com>
4571
4572         * system-settings/plugins/ifcfg-fedora/parser.c
4573                 - (make_ip4_setting): fix parsing of DNS servers
4574
4575 2008-04-05  Dan Williams  <dcbw@redhat.com>
4576
4577         * Makefile.am
4578           configure.in
4579           marshallers/Makefile.am
4580           marshallers/nm-marshal-main.c
4581           marshallers/nm-marshal.list
4582                 - Consolidate marshallers
4583
4584         * libnm-glib/nm-marshal-main.c
4585           libnm-glib/nm-marshal.list
4586           src/marshallers/Makefile.am
4587           src/marshallers/nm-marshal-main.c
4588           src/marshallers/nm-marshal.list
4589                 - Remove
4590
4591         * libnm-glib/Makefile.am
4592           src/Makefile.am
4593           src/dhcp-manager/Makefile.am
4594           src/ppp-manager/Makefile.am
4595           src/supplicant-manager/Makefile.am
4596           src/vpn-manager/Makefile.am
4597                 - Use consolidated marshallers
4598
4599 2008-04-04  Dan Williams  <dcbw@redhat.com>
4600
4601         * src/nm-hal-manager.c
4602           src/nm-hal-manager.h
4603                 - (hal_init): don't look for hardware here
4604                 - (nm_hal_manager_start): new function; look for hardware here instead,
4605                         which can be done at a later time than hal_init()
4606
4607         * src/NetworkManager.c
4608                 - (main): start HAL manager after entering the main loop
4609
4610 2008-04-03  Dan Williams  <dcbw@redhat.com>
4611
4612         * libnm-glib/nm-settings.c
4613           libnm-glib/nm-settings.h
4614             - (nm_exported_connection_get_id): new function
4615                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4616
4617 2008-04-02  Dan Williams  <dcbw@redhat.com>
4618
4619         * src/nm-device-interface.c
4620           src/nm-device-interface.h
4621           src/nm-device.c
4622           src/nm-device.h
4623                 - Rename check_connection_conflicts() to check_connection_compatible()
4624
4625         * src/nm-device-802-11-wireless.c
4626                 - (real_check_connection_conflicts): remove
4627                 - (real_check_connection_compatible): implement; match MAC address
4628
4629         * src/nm-device-802-3-ethernet.c
4630                 - (real_check_connection_conflicts): remove
4631                 - (real_check_connection_compatible): implement; match MAC address
4632                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4633
4634         * src/nm-manager.c
4635                 - (check_connection_allowed): remove; unused until PolicyKit integration
4636                 - (internal_activate_device): check whether the connection is compatible
4637                         with the device before trying to activate it
4638
4639 2008-04-02  Dan Williams  <dcbw@redhat.com>
4640
4641         * system-settings/plugins/ifcfg-fedora/parser.c
4642                 - (read_mac_address): new function; read in MAC address and stuff it
4643                         into the connection
4644                 - (add_one_wep_key): remove debug spew
4645                 - (make_wireless_security_setting): validate the default TX key; don't
4646                         add the wireless-security setting if the connection doesn't need
4647                         security; don't leak the keys shvarFile on error cases
4648                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4649                         address
4650
4651 2008-04-02  Dan Williams  <dcbw@redhat.com>
4652
4653         * libnm-util/nm-setting-connection.c
4654           libnm-util/nm-setting-connection.h
4655                 - (set_property, get_property, nm_setting_connection_class_init): remove
4656                         the 'lockdown' property; it's functionality will be replaced by
4657                         PolicyKit instead
4658
4659 2008-04-01  Dan Williams  <dcbw@redhat.com>
4660
4661         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4662
4663         * configure.in
4664           initscript/Makefile.am
4665           initscript/Mandriva/Makefile.am
4666           initscript/Mandriva/networkmanager.in
4667           initscript/Mandriva/networkmanagerdispatcher.in
4668           src/backends/Makefile.am
4669           src/backends/NetworkManagerMandriva.c
4670           system-settings/plugins/Makefile.am
4671                 - Add Mandriva support
4672
4673 2008-03-31  Dan Williams  <dcbw@redhat.com>
4674
4675         * src/vpn-manager/nm-vpn-service.c
4676                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4677                         errors can be passed back to the caller; also no longer scheduled
4678                         as an idle handler, but called directly; and bump up VPN service
4679                         spawn timeout, 2s is really short
4680                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4681                         but call it directly so that errors are reported on return from
4682                         ActivateConnection() and don't get lost.  If scheduled as an idle
4683                         handler, clients don't have the time to query NM for the new VPN
4684                         connection's properties before the VPN connection is torn down again
4685                         if the service couldn't be launched, and therefore launch errors
4686                         get lost.
4687
4688 2008-03-31  Dan Williams  <dcbw@redhat.com>
4689
4690         * src/vpn-manager/nm-vpn-connection.c
4691                 - (device_state_changed): send correct state on device failure too
4692                 - (plugin_state_changed): failed state means unexpected disconnection,
4693                         thus if the service goes away while the VPN connection is activated
4694                         that's a failure too
4695
4696 2008-03-31  Dan Williams  <dcbw@redhat.com>
4697
4698         * src/vpn-manager/nm-vpn-manager.c
4699           src/vpn-manager/nm-vpn-manager.h
4700                 - Make VPNManager errors more available; add a service-start-failed error
4701
4702 2008-03-31  Dan Williams  <dcbw@redhat.com>
4703
4704         * libnm-glib/nm-client.c
4705           libnm-glib/nm-client.h
4706                 - (activate_cb): pass the new active connection to callback; fix
4707                         message when no callback is specified
4708
4709 2008-03-30  Dan Williams  <dcbw@redhat.com>
4710
4711         * libnm-util/nm-setting-wireless-security.c
4712                 - (need_secrets): only require key0 if the transmit key index is also
4713                         0
4714                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4715
4716 2008-03-29  Dan Williams  <dcbw@redhat.com>
4717
4718         * libnm-util/nm-setting-8021x.c
4719           libnm-util/nm-setting-ip4-config.c
4720           libnm-util/nm-setting-vpn-properties.c
4721           libnm-util/nm-setting-vpn.c
4722           libnm-util/nm-setting-wireless-security.c
4723           libnm-util/nm-setting-wireless.c
4724           libnm-util/nm-utils.c
4725           src/dhcp-manager/nm-dhcp-manager.c
4726           src/nm-activation-request.c
4727           src/nm-ip4-config.c
4728           src/nm-manager.c
4729           src/nm-properties-changed-signal.c
4730           src/ppp-manager/nm-pppd-plugin.c
4731           src/supplicant-manager/nm-supplicant-interface.c
4732           src/vpn-manager/nm-vpn-connection.c
4733                 - consistently use nm-dbus-glib-types.h
4734
4735 2008-03-29  Dan Williams  <dcbw@redhat.com>
4736
4737         * src/vpn-manager/nm-vpn-connection.c
4738                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4739                         not string
4740
4741         * src/nm-activation-request.c
4742                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4743                         not string
4744
4745 2008-03-29  Dan Williams  <dcbw@redhat.com>
4746
4747         * libnm-glib/nm-device-802-11-wireless.c
4748                 - (access_point_added_proxy): create new APs if not found
4749
4750 2008-03-29  Dan Williams  <dcbw@redhat.com>
4751
4752         * libnm-glib/nm-client.c
4753                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4754                         before freeing them
4755
4756 2008-03-29  Dan Williams  <dcbw@redhat.com>
4757
4758         * system-settings/plugins/ifcfg-fedora/parser.c
4759                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4760                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4761
4762 2008-03-29  Dan Williams  <dcbw@redhat.com>
4763
4764         * system-settings/plugins/ifcfg-fedora/parser.c
4765                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4766
4767 2008-03-27  Dan Williams  <dcbw@redhat.com>
4768
4769         * nm-object.c
4770                 - (nm_object_queue_notify): don't notify multiple times for the same
4771                         property
4772
4773         * nm-object-private.h
4774                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4775                         if it has zero elements
4776
4777         * nm-ip4-config.c
4778                 - (finalize): use g_ptr_array_foreach() when freeing domains
4779                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4780
4781         * nm-active-connection.c
4782                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4783
4784         * nm-device-802-11-wireless.c
4785           nm-device-802-11-wireless.h
4786                 - (nm_device_802_11_wireless_get_access_points): return const; use
4787                         handle_ptr_array_return()
4788
4789         * nm-types.c
4790                 - (nm_object_array_demarshal): always create an array, even of length
4791                         zero, to distinguish between "NM returned no items" and "haven't
4792                         asked NM yet"
4793
4794         * nm-client.c
4795                 - (dispose): free active connections too
4796                 - (proxy_name_owner_changed): free active connections too when NM goes
4797                         away
4798                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4799                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4800
4801 2008-03-26  Dan Williams  <dcbw@redhat.com>
4802
4803         Rework VPN connection handling for a more consistent D-Bus API.  The
4804         VPNManager object has been removed, and active VPN connections are now the
4805         same as any other active connection.  The Manager object's ActivateConnection
4806         and DeactivateConnection methods are used to start and stop a VPN connection,
4807         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4808         When activating a VPN connection, pass the path of the active connection
4809         to which the VPN connection is tied in the 'specific_object' argument.
4810
4811         Consequently, the libnm-glib API has been reworked to match this arrangement,
4812         with the VPNManager object removed, and the NMVPNConnection objects now
4813         being subclasses of NMActiveConnection.
4814
4815 2008-03-25  Dan Williams  <dcbw@redhat.com>
4816
4817         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4818
4819         * initscript/Arch/networkmanager.in
4820           initscript/Arch/networkmanager-dispatcher.in
4821                 - Updates for Arch Linux (gnome.org #523701)
4822
4823 2008-03-25  Dan Williams  <dcbw@redhat.com>
4824
4825         * libnm-glib/nm-ip4-config.c
4826           libnm-glib/nm-active-connection.c
4827           libnm-glib/nm-access-point.c
4828                 - Use nm_object_queue_notify() instead of g_object_notify()
4829
4830         * libnm-glib/nm-device.c
4831                 - (demarshal_ip4_config): distinguish between successful but missing
4832                         ip4-config request, and unsuccessful and missing ip4-config request
4833                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4834                         path
4835                 - Use nm_object_queue_notify() instead of g_object_notify()
4836
4837         * libnm-glib/nm-device-802-11-wireless.c
4838                 - (demarshal_active_ap): distinguish between successfull but missing
4839                         active-ap request, and unsuccessful and missing active-ap request
4840                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4841                         code
4842                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4843                         for the NMClient to notify the device that wireless is disabled,
4844                         and therefore to clear the AP list and active AP
4845                 - Use nm_object_queue_notify() instead of g_object_notify()
4846
4847         * libnm-glib/nm-client.c
4848                 - (poke_wireless_devices_with_rf_status): new function
4849                 - (update_wireless_status): notify wireless devices of the rfkill status
4850                         so they can clean up if needed
4851                 - Use nm_object_queue_notify() instead of g_object_notify()
4852
4853 2008-03-25  Dan Williams  <dcbw@redhat.com>
4854
4855         * libnm-glib/nm-object.c
4856           libnm-glib/nm-object-private.h
4857                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4858                         signals to an idle handler
4859                 - (nm_object_get_property): add a timeout to the D-Bus method call
4860
4861 2008-03-25  Dan Williams  <dcbw@redhat.com>
4862
4863         * introspection/nm-device-cdma.xml
4864           introspection/nm-device-gsm.xml
4865           introspection/Makefile.am
4866           introspection/all.xml
4867                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4868
4869         * src/nm-gsm-device.h
4870           src/nm-gsm-device.c
4871           src/nm-cdma-device.h
4872           src/nm-cdma-device.c
4873           src/Makefile.am
4874                 - Implement PropertiesChanged signals
4875
4876         * libnm-glib/nm-cdma-device.c
4877           libnm-glib/nm-cdma-device.c
4878                 - Attach to PropertiesChanged signals
4879
4880 2008-03-24  Dan Williams  <dcbw@redhat.com>
4881
4882         * libnm-glib/nm-client.c
4883                 - (client_device_added_proxy): add new devices to the internal device
4884                         list so they appear to clients
4885
4886 2008-03-24  Dan Williams  <dcbw@redhat.com>
4887
4888         Massive fixup of libnm-glib to:
4889         a) have all objects (with the exception of VPN) cache their properties and
4890                 update them asynchronously on PropertiesChanged signals from NM
4891         b) return internal const data for most attributes/properties instead of
4892                 allocated values that the caller must free
4893         c) cache wrapped objects such that a given D-Bus path will always map to the
4894                 same GObject returned by libnm-glib
4895         d) remove a few signals and move them to GObject property notifications
4896         e) match recent NM D-Bus API changes for activation/deactivation
4897         f) remove some private functions from libnm-glib headers
4898
4899 2008-03-20  Dan Williams  <dcbw@redhat.com>
4900
4901         * src/nm-manager.c
4902                 - (nm_manager_update_state, manager_device_state_changed,
4903                    nm_manager_activate_device, connection_added_default_handler,
4904                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4905                         queue PropertyChanged singals when the active connections change
4906
4907 2008-03-20  Dan Williams  <dcbw@redhat.com>
4908
4909         * introspection/nm-manager.xml
4910           introspection/nm-manager-client.xml
4911                 - (ActivateConnection): return the object path of the active connection
4912                         on success
4913                 - (GetActiveConnections): remove
4914                 - (DeactivateConnection): new function; deactivate a currently active
4915                         connection
4916                 - Add an ActiveConnections property which returns an array of
4917                         active connection object paths
4918
4919         * introspection/nm-device.xml
4920                 - (Deactivate): remove
4921
4922         * introspection/all.xml
4923                 - Add ActiveConnection introspection
4924
4925         * introspection/nm-active-connection.xml
4926                 - Add the ActiveConnection object
4927
4928         * include/NetworkManager.h
4929                 - Add the Connection.Active D-Bus interface
4930
4931         * src/nm-device-interface.c
4932                 - (impl_device_deactivate): remove
4933
4934         * src/nm-activation-request.c
4935           src/nm-activation-request.c
4936           src/Makefile.am
4937                 - Implement the Connection.Active D-Bus interface
4938
4939         * src/nm-manager.c
4940                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4941                 - (nm_manager_activate_device): return the active connection path
4942                 - (connection_added_default_handler, impl_manager_activate_connection):
4943                         return the active connection to the caller
4944                 - (add_one_connection_element, impl_manager_get_active_connections):
4945                         remove
4946                 - (impl_manager_deactivate_connection): new function; deactivate an
4947                         active connection
4948
4949         * libnm-glib/nm-device.c
4950           libnm-glib/nm-device.h
4951                 - Remove Deactivate() function
4952
4953 2008-03-19  Dan Williams  <dcbw@redhat.com>
4954
4955         * introspection/nm-manager.xml
4956           introspection/nm-manager-client.xml
4957                 - Rename the ActivateDevice method to ActivateConnection to better
4958                         reflect it's usage; it's arguments get reordered a bit too
4959                 - Convert GetActiveConnections method return from a struct to a dict
4960
4961         * include/NetworkManager.h
4962                 - Define the dict keys for return value of GetActiveConnections
4963
4964         * src/nm-manager.c
4965                 - impl_manager_activate_device -> impl_manager_activate_connection
4966                 - (add_one_connection_element): return a populated hash table, not
4967                         a structure
4968
4969         * libnm-glib/nm-client.c
4970           libnm-glib/nm-client.h
4971                 - nm_client_activate_device -> nm_client_activate_connection
4972                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4973                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4974                         instead of the custom structures.  Each element of the returned list
4975                         must be freed with nm_client_free_active_connections_element()
4976
4977 2008-03-18  Dan Williams  <dcbw@redhat.com>
4978
4979         * system-settings/plugins/ifcfg-fedora/parser.c
4980           system-settings/plugins/ifcfg-fedora/parser.h
4981           system-settings/plugins/ifcfg-fedora/plugin.c
4982                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4983                         profiles.  DNS servers and searches must now be stored in the ifcfg
4984                         files themselves
4985
4986 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4987
4988         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4989         print out username and password, it's supposed to be a secret.
4990
4991         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4992         request and set the device state accordingly.
4993
4994 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4995
4996         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4997
4998         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4999
5000 2008-03-18  Dan Williams  <dcbw@redhat.com>
5001
5002         * src/vpn-manager/nm-vpn-connection.c
5003                 - (get_secrets_cb): handle new GetSecrets return format
5004
5005 2008-03-18  Dan Williams  <dcbw@redhat.com>
5006
5007         Adapt system settings service for split 802.1x.
5008
5009         * system-settings/src/nm-system-config-interface.h
5010                 - clarify return value of get_secrets()
5011
5012         * system-settings/src/dbus-settings.c
5013                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5014                 - (check_for_secrets): check if there actually secrets returned by a
5015                         plugin
5016                 - (exported_connection_get_secrets): just return the plugin-returned
5017                         hash of settings' secrets if it looks valid
5018
5019         * system-settings/plugins/ifcfg-fedora/plugin.c
5020                 - (get_secrets): add split secrets with correct format to reply hash
5021
5022         * system-settings/plugins/ifcfg-fedora/parser.c
5023           system-settings/plugins/ifcfg-fedora/parser.h
5024                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5025                    connection_data_free, connection_data_add): keep secrets for
5026                         different settings in different hashes
5027
5028 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5029
5030         Clean up activating device deactivation.
5031
5032         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5033         should be done whether the device activation gets cancelled or the device
5034         is just getting deactivated.
5035         (nm_device_activation_cancel): Remove.
5036         (nm_device_deactivate_quickly): Handle the case where device is activating.
5037
5038         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5039         It does the exact same thing as real_deactivate_quickly().
5040
5041 2008-03-17  Dan Williams  <dcbw@redhat.com>
5042
5043         Split the 802.1x bits out of the wireless-security setting so they are
5044         generalized enough for wired 802.1x to use too.
5045
5046         * introspection/nm-exported-connection.xml
5047                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5048                         of just a hash of the secrets for one setting
5049
5050         * libnm-util/nm-setting-wireless-security.c
5051           libnm-util/nm-setting-wireless-security.h
5052                 - Remove 802.1x-specific stuff
5053                 - Added leap-username and leap-password properties for old-school LEAP
5054
5055         * src/nm-device.c
5056           src/nm-device.h
5057                 - (connection_secrets_updated_cb): take a list of updated settings names,
5058                         not just one
5059
5060         * src/supplicant-manager/nm-supplicant-config.c
5061           src/supplicant-manager/nm-supplicant-config.h
5062                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5063                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5064                         to nm_supplicant_config_add_setting_8021x()
5065                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5066                         the supplicant config
5067
5068         * src/nm-device-802-11-wireless.c
5069                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5070                 - (real_connection_secrets_updated): take a list of updated settings
5071                         names, not just one
5072
5073         * src/nm-device-802-3-ethernet.c
5074           src/nm-cdma-device.c
5075           src/nm-gsm-device.c
5076                 - (real_connection_secrets_updated_cb): take a list of updated settings
5077                         names, not just one
5078
5079         * src/nm-activation-request.c
5080           src/nm-activation-request.h
5081                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5082                         now passes a list of updated settings names, not just one
5083                 - (update_one_setting): new function; handle one updated setting
5084                 - (get_secrets_cb): handle multiple settings returned from the
5085                         settings service; have to be careful of ordering here as there are
5086                         some dependencies between settings (ex. wireless-security and 802.1x
5087                         in some cases)
5088
5089         * src/marshallers/nm-marshal.list
5090                 - new marshaller for connection-secrets-updated signal
5091
5092         * libnm-util/nm-setting-8021x.c
5093                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5094                         methods
5095                 - (verify): a valid 'eap' property is now required
5096
5097         * libnm-util/nm-connection.c
5098                 - (register_default_settings): add priorities to settings; there are
5099                         some dependencies between settings, and during the need_secrets
5100                         calls this priority needs to be respected.  For example, only the
5101                         wireless-security setting knows whether or not the connection is
5102                         going to use 802.1x or now, so it must be asked for secrets before
5103                         any existing 802.1x setting is
5104                 - (nm_connection_lookup_setting_type): expose
5105
5106         * libnm-util/nm-setting-wireless.c
5107                 - (verify): should verify even if all_settings is NULL; otherwise won't
5108                         catch the case where there is missing security
5109
5110         * libnm-util/nm-setting-wireless-security.c
5111                 - Remove everything to do with 802.1x
5112                 - Add old-school LEAP specific properties for username and password
5113                 - (need_secrets): rework LEAP secrets checking
5114                 - (verify): rework for LEAP and 802.1x verification
5115
5116 2008-03-17  Dan Williams  <dcbw@redhat.com>
5117
5118         * src/NetworkManagerPolicy.c
5119                 - (auto_activate_device): always remove the current activation check
5120                         from the pending activation list, otherwise when the policy gets
5121                         destroyed on NM exit it will attempt to free the already freed
5122                         activation check
5123
5124 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5125
5126         * src/backends/NetworkManagerSlackware.c 
5127         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5128
5129         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5130
5131 2008-03-14  Dan Williams  <dcbw@redhat.com>
5132
5133         * src/nm-manager.c
5134                 - (nm_device_interface_get_iface): g_object_get() will return an
5135                         allocated value, so this function must not return const
5136                 - (nm_device_interface_activate): free returned iface
5137
5138 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5139
5140         * libnm-util/Makefile.am: Add new files to build.
5141
5142         * libnm-util/nm-connection.c: Register NMSetting8021x.
5143
5144         * libnm-util/nm-setting-8021x.c
5145         * libnm-util/nm-setting-8021x.h: Implement.
5146
5147 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5148
5149         * libnm-util/Makefile.am: Add new files to build.
5150
5151         * libnm-util/nm-connection.c: Register NMSetting8021x.
5152
5153         * libnm-util/nm-setting-8021x.c
5154         * libnm-util/nm-setting-8021x.h: Implement.
5155
5156 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5157
5158         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5159         data.
5160
5161 2008-03-14  Dan Williams  <dcbw@redhat.com>
5162
5163         * include/wireless-helper.h
5164           include/Makefile.am
5165                 - One place for all the junk needed for #including wireless.h
5166
5167         * test/nm-tool.c
5168           src/NetworkManagerAP.c
5169           src/wpa.c
5170           src/Makefile.am
5171           libnm-util/nm-utils.c
5172           libnm-util/nm-setting-wireless.c
5173           libnm-glib/nm-device-802-11-wireless.c
5174           libnm-glib/nm-access-point.c
5175           libnm-glib/libnm-glib-test.c
5176                 - include wireless-helper.h, not iwlib.h
5177
5178         * configure.in
5179                 - Don't need libiw really, just need to check for wireless.h
5180
5181         * src/kernel-types.h
5182                 - Remove; used types moved into wpa.c
5183
5184         * src/nm-device-802-11-wireless.c
5185                 - (nm_device_802_11_wireless_update_signal_strength,
5186                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5187                    nm_device_802_11_wireless_set_mode,
5188                    nm_device_802_11_wireless_get_frequency,
5189                    nm_device_802_11_wireless_get_ssid,
5190                    nm_device_802_11_wireless_set_ssid,
5191                    nm_device_802_11_wireless_get_bitrate,
5192                    nm_device_802_11_wireless_get_bssid,
5193                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5194                         instead of iwlib functions
5195
5196 2008-03-14  Dan Williams  <dcbw@redhat.com>
5197
5198         * src/ppp-manager/nm-ppp-manager.c
5199                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5200                         should only take the DBusGMethodInvocation argument, not user/pass
5201                         too.  With dbus-glib, async functions only take 2 C arguments since
5202                         the real dbus method arguments get passed back with
5203                         dbus_g_method_return()
5204
5205 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5206
5207         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5208         Adapt the changes of NMSettingIP4Config.
5209
5210 2008-03-13  Dan Williams  <dcbw@redhat.com>
5211
5212         * src/NetworkManagerUtils.c
5213           src/NetworkManagerUtils.h
5214                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5215
5216         * src/NetworkManagerAP.c
5217           src/nm-device-802-11-wireless.c
5218           src/nm-device-802-3-ethernet.c
5219                 - s/iw_ether_ntop/nm_ether_ntop/g
5220
5221 2008-03-13  Dan Williams  <dcbw@redhat.com>
5222
5223         * src/NetworkManagerPolicy.c
5224                 - (update_routing_and_dns): never set the default route through an
5225                         IPv4LL addressed device
5226
5227 2008-03-13  Dan Williams  <dcbw@redhat.com>
5228
5229         * NetworkManagerUtils.c
5230           NetworkManagerUtils.h
5231                 - Remove NMSock stuff
5232                 - Remove the completion stuff
5233
5234         * nm-device.c
5235           nm-device.h
5236           NetworkManager.c
5237           NetworkManagerSystem.c
5238           autoip.c
5239           nm-device-802-11-wireless.c
5240           nm-device-802-3-ethernet.c
5241                 - Remove NMSock and completion stuff
5242                 - Remove nm_ioctl_info()
5243
5244 2008-03-12  Dan Williams  <dcbw@redhat.com>
5245
5246         * src/nm-device.c
5247                 - (merge_ip4_config): avoid duplicates
5248
5249 2008-03-12  Dan Williams  <dcbw@redhat.com>
5250
5251         * libnm-util/nm-setting-ip4-config.c
5252           libnm-util/nm-setting-ip4-config.h
5253                 - Remove 'manual' and 'autoip' properties
5254                 - Add 'method' property
5255                 - (verify): fix verification with 'method'
5256                 - (finalize): free 'method'
5257                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5258                         up for 'method'
5259
5260         * src/nm-device.c
5261                 - (real_act_stage3_ip_config_start): check IP4Config method
5262                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5263                         the future
5264                 - (merge_ip4_config): IP settings are valid with DHCP too
5265                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5266                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5267
5268         * src/nm-device-802-11-wireless.c
5269                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5270                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5271                         only on demand
5272
5273         * system-settings/plugins/ifcfg-fedora/parser.c
5274           system-settings/plugins/ifcfg-suse/parser.c
5275                 - (make_ip4_setting): fix up for 'method'
5276
5277 2008-03-12  Dan Williams  <dcbw@redhat.com>
5278
5279         * system-settings/plugins/ifcfg-fedora/parser.c
5280           system-settings/plugins/ifcfg-fedora/parser.h
5281                 - (get_ifcfg_name): ignore more file suffixes
5282                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5283
5284 2008-03-12  Dan Williams  <dcbw@redhat.com>
5285
5286         * configure.in
5287                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5288
5289 2008-03-12  Dan Williams  <dcbw@redhat.com>
5290
5291         * system-settings/plugins/ifcfg-fedora/plugin.c
5292                 - (write_auto_wired_connection): new function; write out an auto
5293                         wired connection file since the applet isn't doing it any more
5294                 - (reload_all_connections): write out the auto wired connection file
5295                         if there aren't any wired connections already
5296                 - (init): don't leak a GError
5297
5298 2008-03-12  Dan Williams  <dcbw@redhat.com>
5299
5300         * src/nm-device-interface.c
5301                 - (nm_device_interface_activate): print the ID of the connection
5302                         that's about to be activated
5303
5304 2008-03-12  Dan Williams  <dcbw@redhat.com>
5305
5306         Harmonize the 802.11 bitrate API
5307
5308         * introspection/nm-access-point.xml
5309                 - 'Rate' -> 'MaxBitrate'; clarify units
5310
5311         * introspection/nm-device-802-11-wireless.xml
5312                 - Clarify units of 'Bitrate'
5313
5314         * src/NetworkManagerAP.c
5315           src/NetworkManagerAP.h
5316                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5317                         property to 'max-bitrate'
5318                 - (foreach_property_cb): convert rate to Kb/s
5319
5320         * src/nm-device-802-11-wireless.c
5321                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5322
5323         * libnm-glib/nm-access-point.c
5324           libnm-glib/nm-access-point.h
5325                 - 'rate' -> 'max-bitrate'
5326
5327         * test/nm-tool.c
5328           libnm-glib/libnm-glib-test.c
5329                 - Fix up for these changes
5330
5331 2008-03-12  Dan Williams  <dcbw@redhat.com>
5332
5333         * src/nm-device.c
5334                 - (nm_device_set_ip4_config): don't send property notifications when
5335                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5336                         which dbus-glib can't parse because the value is NULL, which isn't
5337                         a legal object path.  Setting the IP4 config to NULL is only
5338                         valid when deactivating a device anyway, so the device state change
5339                         will alert listeners that the ip4 config is invalid.
5340
5341 2008-03-12  Dan Williams  <dcbw@redhat.com>
5342
5343         * src/nm-properties-changed-signal.c
5344                 - (add_to_string): better handling of NULL objects
5345
5346 2008-03-12  Dan Williams  <dcbw@redhat.com>
5347
5348         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5349         convert the libnm-glib NMDevice8023Ethernet to cached properties
5350
5351         * introspection/nm-device-802-3-ethernet.xml
5352                 - New 'Carrier' property
5353                 - New 'PropertiesChanged' signal
5354
5355         * introspection/nm-device.xml
5356                 - Remove 'Carrier' property
5357                 - Remove 'CarrierChanged' signal
5358
5359         * src/nm-device-interface.c
5360           src/nm-device-interface.h
5361                 - (nm_device_interface_init): remove 'carrier' property and
5362                         'carrier-changed' signal
5363
5364         * src/nm-device.c
5365           src/nm-device.h
5366                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5367                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5368                         the link here; wired device will handle that
5369                 - (handle_dhcp_lease_change): don't bother updating link here
5370                 - (get_property, nm_device_class_init): remove carrier property
5371
5372         * src/nm-device-802-11-wireless.c
5373                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5374                         real_update_link(); wireless devices don't use carrier at all
5375                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5376                    supplicant_iface_connection_state_cb_handler,
5377                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5378
5379         * src/nm-device-802-3-ethernet.c
5380           src/nm-device-802-3-ethernet.h
5381                 - (nm_device_802_3_ethernet_carrier_on,
5382                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5383                         instead of nm_device_set_carrier()
5384                 - (device_state_changed): update link from sysfs on activation;
5385                         replaces real_update_link()
5386                 - (real_update_link): remove, replaced by device_state_changed()
5387                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5388                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5389                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5390                         new get_carrier function
5391                 - (get_property): add 'carrier' property
5392                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5393                         hook into property-changed signal helper
5394
5395         * src/NetworkManagerPolicy.c
5396                 - (device_carrier_changed): will only ever be called with a wired device
5397                 - (device_added): only hook up to carrier-changed for wired devices
5398
5399         * libnm-glib/nm-device.c
5400           libnm-glib/nm-device.h
5401                 - (constructor, nm_device_class_init): remove carrier-changed signal
5402                 - (device_carrier_changed_proxy): remove; unused
5403                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5404
5405         * libnm-glib/nm-device-802-3-ethernet.c
5406           libnm-glib/nm-device-802-3-ethernet.h
5407                 - Convert to cached properties like AP and Wireless objects
5408                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5409                         instead of a 'char *', return value should not be freed
5410                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5411                 - (constructor): hook into properties-changed helper
5412                 - (set_property, get_property): new functions
5413                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5414
5415         * test/nm-tool.c
5416                 - (detail_device): strdup the wired hardware address too since it's
5417                         cached now
5418
5419         * libnm-glib/libnm-glib-test.c
5420                 - (dump_wired): strdup the wired hardware address too since it's
5421                         cached now
5422
5423 2008-03-12  Dan Williams  <dcbw@redhat.com>
5424
5425         * libnm-util/nm-setting-ip4-config.c
5426           libnm-util/nm-setting-ip4-config.h
5427                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5428                         the 'autoip' property from the spec
5429
5430 2008-03-11  Dan Williams  <dcbw@redhat.com>
5431
5432         * src/backends/NetworkManagerGeneric.c
5433           src/backends/NetworkManagerGeneric.h
5434                 - (nm_generic_device_get_use_dhcp): remove
5435
5436 2008-03-11  Dan Williams  <dcbw@redhat.com>
5437
5438         * src/nm-device.c
5439                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5440                         already in nm_device_set_ip4_config()
5441                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5442                         due to a DHCP rebind fails
5443                 - (nm_device_set_ip4_config): send property notifications when the
5444                         ip4 config changes
5445                 - (get_property): only report IP4Config property during valid states
5446
5447         * src/NetworkManagerPolicy.c
5448                 - (update_routing_and_dns): ignore devices that don't have an ip4
5449                         config; add parameter 'force_update' to allow callers to specify
5450                         that changes should be made even if the default device doesn't change
5451                 - (device_ip4_config_changed): update DNS and routing when the device's
5452                         IP4Config changes, like for DHCP updates
5453                 - (device_added): listen for ip4-config property changes
5454
5455 2008-03-11  Dan Williams  <dcbw@redhat.com>
5456
5457         Fix address handling as a result of DHCP rebind/renew/reboot.
5458
5459         * src/NetworkManagerSystem.c
5460                 - (check_one_address): delete an address if it doesn't match a given
5461                         one for the same interface
5462                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5463                         be smarter about flushing addresses (only flush ones that don't
5464                         match the one we're about to apply)
5465
5466         * src/backends/NetworkManagerDebian.c
5467           src/backends/NetworkManagerSuSE.c
5468           src/backends/NetworkManagerArch.c
5469           src/backends/NetworkManagerSlackware.c
5470           src/backends/NetworkManagerRedHat.c
5471           src/backends/NetworkManagerPaldo.c
5472           src/backends/NetworkManagerFrugalware.c
5473           src/backends/NetworkManagerGentoo.c
5474                 - (nm_system_delete_default_route): remove
5475
5476         * src/backends/NetworkManagerGeneric.c
5477           src/backends/NetworkManagerGeneric.h
5478                 - (nm_generic_enable_loopback): fix the loopback device label
5479                 - (nm_generic_delete_default_route): remove; no longer used
5480
5481 2008-03-11  Dan Williams  <dcbw@redhat.com>
5482
5483         * src/nm-device-interface.h
5484                 - Delimit property name words with '-', otherwise g_object_notify()
5485                         doesn't work the way we expect
5486
5487 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5488
5489         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5490
5491 2008-03-11  Dan Williams  <dcbw@redhat.com>
5492
5493         * src/NetworkManagerPolicy.c
5494                 - (update_routing_and_dns): don't change anything if the default device
5495                         hasn't changed; print something out when switching the default route
5496                         and DNS
5497
5498 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5499
5500         Implement PPPoE.
5501
5502         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5503         setting. Use "nic-$eth".
5504
5505         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5506         the device is activating here to fix a race condition.
5507
5508         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5509
5510         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5511         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5512         (nm_ppp_manager_start): Take activation request instead of connection, we might
5513         need it for asking secrets.
5514         (nm_ppp_manager_update_secrets): Implement.
5515
5516         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5517         ppp manager start. It might be needed for asking secrets.
5518
5519         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5520         (ppp_state_changed): Handle pppd daemon disappearing.
5521         (pppoe_stage2_config): Send activation request to ppp manager start.
5522
5523         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5524
5525         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5526         username and password.
5527         
5528 2008-03-10  Dan Williams  <dcbw@redhat.com>
5529
5530         * src/nm-device.c
5531                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5532                         response to a DHCP lease change
5533                 - (dhcp_state_changed): handle DHCP lease changes while activated
5534                 - (nm_device_set_ip4_config): remove a previously set named config
5535                         when setting an ip4 config
5536
5537 2008-03-10  Dan Williams  <dcbw@redhat.com>
5538
5539         * src/nm-serial-device.c
5540                 - (nm_serial_device_send_command): report errno on error
5541                 - (get_reply_got_data): limit the size of the overall buffer
5542                 - (wait_for_reply_info_destroy): destroy result string
5543                 - (wait_for_reply_got_data): append received data to an overall buffer
5544                         until timeout, filled buffer, or error instead of keeping a per-call
5545                         buffer.  Some devices send data slowly enough that this function
5546                         gets called multiple times for the same command stream.
5547                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5548                         wait_for_reply_got_data() here
5549
5550 2008-03-10  Dan Williams  <dcbw@redhat.com>
5551
5552         * src/nm-cdma-device.c
5553                 - (do_dial, init_modem): handle errors from
5554                         nm_serial_device_send_command_string()
5555
5556         * src/nm-gsm-device.c
5557                 - (do_dial, manual_registration, automatic_registration_get_network,
5558                    automatic_registration, enter_pin, check_pin, init_modem): handle
5559                         errors from nm_serial_device_send_command_string()
5560
5561 2008-03-10  Dan Williams  <dcbw@redhat.com>
5562
5563         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5564
5565         * src/named-manager/nm-named-manager.c
5566                 - (compute_searches): prefer searches before domains
5567                 - (compute_domain): new function
5568                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5569                 - (merge_one_ip4_config): if there are no searches in the source config,
5570                         merge domains of the source config into the target config
5571                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5572
5573 2008-03-10  Dan Williams  <dcbw@redhat.com>
5574
5575         * src/nm-serial-device.c
5576                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5577                 - (wait_for_reply_got_data): try to handle slower serial devices where
5578                         the reply is broken up into multiple reads by concatenating replies
5579                         together until either an error is received or the search string is
5580                         found
5581
5582 2008-03-10  Dan Williams  <dcbw@redhat.com>
5583
5584         * src/nm-device.c
5585                 - (nm_device_bring_down): deactivate the device if it's activating too,
5586                         not just if it's already activated.  This makes sure that everything
5587                         from an association attempt is cleaned up (like DHCP for example)
5588
5589 2008-03-10  Dan Williams  <dcbw@redhat.com>
5590
5591         * src/nm-serial-device.c
5592                 - (config_fd): report error from TCSETA
5593                 - (nm_serial_device_open): fail when config_fd() fails
5594
5595 2008-03-10  Dan Williams  <dcbw@redhat.com>
5596
5597         * src/nm-ip4-config.c
5598                 - (nm_ip4_config_init): allocate searches list
5599                 - (finalize): free searches list
5600
5601 2008-03-09  Dan Williams  <dcbw@redhat.com>
5602
5603         Patch from Bas Zoetekouw <bas@debian.org>
5604
5605         * src/dhcp-manager/nm-dhcp-manager.c
5606                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5607
5608 2008-03-09  Dan Williams  <dcbw@redhat.com>
5609
5610         Patch from Bas Zoetekouw <bas@debian.org>
5611
5612         * src/nm-ip4-config.c
5613           src/nm-ip4-config.h
5614                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5615                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5616                         domains.  'searches' is the correct way to store multiple search
5617                         domains, whereas 'domains' is really just supposed to store one
5618                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5619                         search domains to the client.
5620                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5621
5622 2008-03-09  Dan Williams  <dcbw@redhat.com>
5623
5624         * src/dhcp-manager/nm-dhcp-manager.c
5625                 - (dhclient_run): send interface-specific config files to dhclient
5626
5627 2008-03-07  Dan Williams  <dcbw@redhat.com>
5628
5629         * system-settings/plugins/ifcfg-fedora/parser.c
5630                 - (is_wireless_device): new function; test a device for wireless
5631                         extensions
5632                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5633                         test the device for wireless extensions to determine the type
5634
5635 2008-03-07  Dan Williams  <dcbw@redhat.com>
5636
5637         Change manager's StateChange signal to StateChanged for consistency.
5638
5639         * introspection/nm-manager.xml
5640                 - Add 'StateChanged' signal
5641                 - Move 'StateChange' down to the deprecated section
5642
5643         * src/nm-hal-manager.c
5644                 - (nm_hal_manager_new): connect to 'state-changed' instead
5645
5646         * src/NetworkManagerPolicy.c
5647                 - (nm_policy_new): connect to 'state-changed' instead
5648
5649         * src/nm-manager.c
5650           src/nm-manager.h
5651                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5652                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5653                         of 'state-change'
5654
5655         * libnm-glib/nm-client.c
5656           libnm-glib/nm-client.h
5657                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5658                         track and proxy 'state-changed' instead of 'state-change'
5659
5660 2008-03-07  Dan Williams  <dcbw@redhat.com>
5661
5662         First pass of multiple active device support.  Expect bugs.
5663
5664         * src/nm-ip4-config.c
5665           src/nm-ip4-config.h
5666                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5667                         there are better ways to do this in the named manager
5668
5669         * src/nm-device.c
5670           src/nm-device.h
5671                 - (nm_device_can_activate): return whether the device can activate a
5672                         connection right now; taking into account things like carrier state
5673                         and rfkill state
5674                 - (nm_device_get_best_auto_connection): renamed from
5675                         nm_device_get_best_connection
5676                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5677                         device subclasses themselves, so that each device can override the
5678                         MTU from it's NMSetting subclass if needed
5679                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5680                         in NetworkManagerSystem.c, not here
5681
5682         * src/named-manager/nm-named-manager.c
5683           src/named-manager/nm-named-manager.h
5684                 - (nm_named_manager_name_owner_changed,
5685                    nm_named_manager_dbus_connection_changed): fix for changes to
5686                         rewrite_resolv_conf()
5687                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5688                         from parameter list
5689                 - (merge_one_ip4_config): new function; merge ip4 configs together
5690                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5691                         ip4 configs; the VPN config takes precedence, then the best
5692                         device config, then the rest of the configs
5693                 - (get_domain_for_config): take the NMNamedManager as an argument
5694                         to check whether the config is the VPN config
5695                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5696                         attribute from ip4 configs
5697                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5698                 - (remove_ip4_config_from_named): fix for changes to
5699                         get_domain_for_config()
5700                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5701                         based on its type; callers must pass in the type now
5702                 - (get_last_default_domain): remove, unused
5703                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5704
5705         * src/nm-device-802-11-wireless.c
5706                 - (real_can_activate): new function
5707                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5708                 - (real_act_stage4_get_ip4_config): handle MTU override
5709
5710         * src/nm-device-802-3-ethernet.c
5711                 - (real_can_activate): new function
5712                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5713                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5714
5715         * src/vpn-manager/nm-vpn-connection.c
5716                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5717                         attribute on the ip4 config
5718
5719         * src/NetworkManagerPolicy.c
5720                 - (nm_policy_auto_get_best_device): remove
5721                 - (nm_policy_device_change_check): remove
5722                 - (update_default_route): new function; set the default route via
5723                         the specified device
5724                 - (get_device_priority): new function; return the priority number of
5725                         a device type WRT which one should have the default route.  Order is
5726                         (highest to lowest)  wired, wireless, GSM, CDMA.
5727                 - (update_routing_and_dns): new function; determine which device should
5728                         have the default route, then update the routing table and DNS
5729                 - (maybe_auto_activate_device): new function; if a device is now
5730                         available for activation, find out what connection it would like to
5731                         activate and do it
5732                 - (schedule_activate_check): new function; if a device can be activated
5733                         now, schedule the activation.  Each device may have only one
5734                         pending activation at a given time.
5735                 - (device_state_changed): if activation was canceled, try again,
5736                         possibly with another connection; if the device was activated,
5737                         update routing and DNS; if the device was deactivated, try again
5738                         with another connection
5739                 - (device_carrier_changed): if there is no carrier, deactivate the
5740                         device; otherwise schedule an activation check for the device
5741                 - (wireless_networks_changed): schedule an activation check for the
5742                         device
5743                 - (device_added): keep track of the signal handler IDs so they can
5744                         be removed when the device goes away
5745                 - (device_removed): remove any signal handlers that might be attached
5746                         to the device; update routing and DNS
5747                 - (schedule_activate_all): new function
5748                 - (connections_added, connection_added, connection_updated): when
5749                         connections change, schedule all devices for an activation check
5750                 - (connection_removed): when a device is deactivated because its
5751                         connection was removed, schedule another activation check for it
5752                 - (nm_policy_destroy): destroy pending activations and disconnect
5753                         all device signal handlers
5754
5755         * src/nm-manager.c
5756                 - (nm_manager_activate_device): if the device was already actived,
5757                         deactivate it
5758                 - (deactivate_old_device): remove
5759                 - (connection_added_default_handler, impl_manager_activate_device):
5760                         don't deactivate other devices when activating this one
5761
5762         * src/backends/NetworkManagerGentoo.c
5763           src/backends/NetworkManagerFrugalware.c
5764           src/backends/NetworkManagerPaldo.c
5765           src/backends/NetworkManagerRedHat.c
5766           src/backends/NetworkManagerSlackware.c
5767           src/backends/NetworkManagerArch.c
5768           src/backends/NetworkManagerSuSE.c
5769           src/backends/NetworkManagerDebian.c
5770                 - (nm_system_get_mtu): remove; MTU should be provided through the
5771                         distro's system settings service plugin instead
5772                 - (nm_system_device_add_default_route_via_device): remove
5773                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5774                 - (nm_system_device_replace_default_route): new function; call
5775                         generic implementation
5776
5777         * src/backends/NetworkManagerGeneric.c
5778           src/backends/NetworkManagerGeneric.h
5779                 - (nm_generic_device_add_default_route_via_device,
5780                    nm_generic_device_add_default_route_via_device_with_iface): remove
5781                 - (nm_generic_device_replace_default_route): replace the default route
5782                         with the given route via some gateway
5783
5784         * src/NetworkManagerSystem.c
5785           src/NetworkManagerSystem.h
5786                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5787                         to routing and DNS; but set the MTU here
5788                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5789                         ip_iface of the active device; use the standard MTU setting function
5790                 - (nm_system_set_mtu): remove
5791                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5792
5793 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5794
5795         Rework the interaction between ppp manager and pppd plugin. Register a well
5796         known DBUS service in manager and let the plugin call it's methods instead
5797         of listening plugin's signals.
5798
5799         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5800         of emitting signals.
5801
5802         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5803
5804         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5805
5806         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5807         nm_ppp_manager_start().
5808
5809         * introspection/nm-ppp-manager.xml: New file.
5810
5811         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5812         the case correctly where driver is trying to send -1 for the speed, which gets
5813         casted to u16 and thus is always > 0.
5814
5815 2008-03-07  Dan Williams  <dcbw@redhat.com>
5816
5817         * src/nm-hal-manager.c
5818                 - (nm_get_device_driver_name): use net.originating_device first, fall
5819                         back to physical device.  HAL has deprecated physical_device.
5820
5821         * libnm-glib/nm-device.c
5822                 - (get_product_and_vendor): use net.originating_device first, fall
5823                         back to physical device.  HAL has deprecated physical_device.
5824                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5825
5826 2008-03-07  Dan Williams  <dcbw@redhat.com>
5827
5828         * src/nm-netlink.c
5829                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5830                         last commit; fix that
5831                 - (get_link_cache): print error string
5832
5833 2008-03-07  Dan Williams  <dcbw@redhat.com>
5834
5835         * src/nm-netlink.c
5836                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5837                         don't need this hack any more (Benoit Boissinot)
5838
5839 2008-03-06  Dan Williams  <dcbw@redhat.com>
5840
5841         * autogen.sh
5842                 - Die gnome-common, die
5843
5844 2008-03-04  Dan Williams  <dcbw@redhat.com>
5845
5846         Patch from Michael Biebl <biebl@debian.org>
5847
5848         * NetworkManager.pc.in
5849                 - doesn't actually depend on dbus-1
5850
5851         * libnm-util/nm-utils.h
5852                 - remove unused #include <dbus/dbus.h>
5853
5854         * libnm-glib/libnm_glib.pc.in
5855                 - depends on glib and dbus-glib
5856
5857 2008-03-02  Dan Williams  <dcbw@redhat.com>
5858
5859         * src/NetworkManagerPolicy.c
5860                 - s/device_state_changed_idle_id/update_state_id/
5861
5862 2008-03-02  Dan Williams  <dcbw@redhat.com>
5863
5864         * src/nm-device.c
5865           src/nm-device.h
5866           src/nm-device-802-11-wireless.c
5867           src/nm-device-802-3-ethernet.c
5868           src/NetworkManagerPolicy.c
5869                 - s/link_active/carrier
5870                 - nm_device_set_active_link() -> nm_device_set_carrier()
5871                 - nm_device_has_active_link() -> nm_device_get_carrier()
5872
5873 2008-03-02  Dan Williams  <dcbw@redhat.com>
5874
5875         * system-settings/plugins/ifcfg-fedora/parser.c
5876                 - (make_wireless_setting): fail connection creation on missing SSID
5877
5878 2008-02-29  Dan Williams  <dcbw@redhat.com>
5879
5880         * src/NetworkManagerPolicy.c
5881                 - (nm_policy_device_change_check): ensure that a previously active
5882                         device with a system connection has a link before denying a switch
5883                         to a user connection
5884
5885 2008-02-29  Dan Williams  <dcbw@redhat.com>
5886
5887         * src/nm-device-802-11-wireless.c
5888                 - (link_timeout_cb): try again if scanning; deactivate the device when
5889                         activated if the link dies
5890                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5891                         15 seconds
5892
5893 2008-02-29  Dan Williams  <dcbw@redhat.com>
5894
5895         * src/nm-device-802-11-wireless.c
5896           src/nm-device-802-11-wireless.h
5897                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5898                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5899                 - (device_cleanup): reset the scan interval lower when the device
5900                         deactivates
5901                 - (can_scan): base decision mostly off device state, not supplicant
5902                         interface state since the supplicant interface state isn't a
5903                         great indicator of whether the device is active or not
5904                 - (request_wireless_scan): clean up; schedule the next scan here
5905                 - (schedule_scan): only back the scan interval off if a new scan
5906                         actually gets scheduled; and make scan intervals tighter when the
5907                         device is disconnected
5908                 - (supplicant_iface_state_cb_handler): fold in the bits of
5909                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5910                         interval to minimum
5911                 - (activation_success_handler): reset scan interval to something
5912                         reasonable 
5913
5914 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5915
5916         reviewed by: Steev <steev@steev.net>
5917
5918         * configure.in:
5919         * src/backends/NetworkManagerGentoo.c:
5920         (nm_system_restart_mdns_responder):
5921                 Howl is no longer a supported mDNS provider
5922
5923 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5924
5925         Get rid of a bunch of unused distro specific functions.
5926
5927 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5928
5929         Implement suse plugin for system settings daemon.
5930
5931         * system-settings/plugins/ifcfg-suse/*: Implement.
5932
5933         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5934         suse.
5935
5936         * configure.in: Check (without failing) for gio.
5937         Create ifcfg-suse plugin's Makefile.
5938
5939 2008-02-20  Dan Williams  <dcbw@redhat.com>
5940
5941         * libnm-util/nm-connection.c
5942           libnm-util/nm-connection.h
5943                 - (nm_connection_compare): accept compare flags and pass them to the
5944                         setting compare function
5945
5946         * libnm-util/nm-setting.c
5947           libnm-util/nm-setting.h
5948                 - (nm_setting_compare): accept compare flags; ignore properties that are
5949                         marked fuzzy
5950
5951         * libnm-util/nm-setting-connection.c
5952           libnm-util/nm-setting-wireless.c
5953           libnm-util/nm-setting-ppp.c
5954           libnm-util/nm-setting-wired.c
5955                 - Mark some setting properties as ignorable when doing a fuzzy compare
5956
5957         * src/nm-device.c
5958                 - (device_activation_precheck): use exact compare
5959
5960 2008-02-20  Dan Williams  <dcbw@redhat.com>
5961
5962         * src/NetworkManagerPolicy.c
5963                 - (nm_policy_device_change_check): get scope off the connection, not
5964                         using the manager helper
5965
5966         * src/nm-manager.c
5967           src/nm-manager.h
5968                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5969                 - (connection_get_settings_cb): set scope and path on connection, not
5970                         using GObject data items
5971                 - (get_connection_for_proxy): don't need to return path, since that
5972                         can be gotten from the connection
5973                 - (get_connection_for_proxy): get path off the connection, not from
5974                         parameters
5975                 - (connection_removed_cb, connection_updated_cb): don't need to get
5976                         path from get_connection_for_proxy(); get scope off the connection
5977                         instead of using GObject data items
5978                 - (connection_added_default_handler, add_one_connection_element): use
5979                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5980                 - (nm_manager_get_connection_dbus_path): remove
5981                 - (nm_manager_get_connection_scope): remove
5982
5983 2008-02-20  Dan Williams  <dcbw@redhat.com>
5984
5985         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5986                 on confusing names
5987
5988         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5989                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5990                 NMExportedConnection
5991
5992         * Internally rename NMConnectionType -> NMConnectionScope
5993
5994         * Provide default implementations of the 'get_id' and 'get_settings' methods
5995                 of NMExportedConnection
5996
5997 2008-02-15  Dan Williams  <dcbw@redhat.com>
5998
5999         * src/nm-device-802-11-wireless.c
6000                 - (device_cleanup): release the AP list here too so that the AP list
6001                         doesn't survive across suspend/resume and up/down.  There is some
6002                         room for optimization, for example blow the list away when the card
6003                         brought back up, but only if the device has only been down for a
6004                         minute or more.
6005
6006 2008-02-15  Dan Williams  <dcbw@redhat.com>
6007
6008         * src/nm-hal-manager.c
6009                 - (modem_device_creator): recognize new HAL modem capabilities
6010
6011 2008-02-12  Dan Williams  <dcbw@redhat.com>
6012
6013         * system-settings/plugins/ifcfg-fedora/plugin.c
6014                 - (watch_path): handle IN_DELETE_SELF too
6015                 - (handle_connection_changed): notify when removing a connection
6016                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6017                         case of a file moving out of the profile directory
6018
6019 2008-02-12  Dan Williams  <dcbw@redhat.com>
6020
6021         * system-settings/plugins/ifcfg-fedora/parser.c
6022                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6023
6024 2008-02-12  Dan Williams  <dcbw@redhat.com>
6025
6026         * libnm-util/nm-utils.c
6027                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6028                         just any empty array
6029
6030 2008-02-12  Dan Williams  <dcbw@redhat.com>
6031
6032         * system-settings/src/nm-system-config-interface.c
6033           system-settings/src/nm-system-config-interface.h
6034                 - (load_connections): get_connections() should now return an allocated
6035                         GSList that the system settings service will free
6036
6037         * system-settings/plugins/ifcfg-fedora/plugin.c
6038           system-settings/plugins/ifcfg-fedora/parser.h
6039           system-settings/plugins/ifcfg-fedora/parser.c
6040                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6041                         in the profile directory, handle resolv.conf file changes
6042
6043 2008-02-10  Dan Williams  <dcbw@redhat.com>
6044
6045         * src/nm-device-802-3-ethernet.c
6046                 - (real_bring_up): save the supplicant interface state signal id
6047                 - (real_bring_down): disconnect from the supplicant interface state
6048                         signal
6049
6050 2008-02-07  Dan Williams  <dcbw@redhat.com>
6051
6052         * initscript/RedHat/NetworkManager.in
6053           initscript/RedHat/NetworkManagerDispatcher.in
6054                 - Add new-style LSB init headers
6055
6056 2008-02-07  Dan Williams  <dcbw@redhat.com>
6057
6058         * system-settings/src/dbus-settings.c
6059           system-settings/src/dbus-settings.h
6060                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6061                         table of secrets
6062                 - (connection_settings_get_secrets): consolidate error returns into
6063                         one place; use the new get_secrets() plugin interface function to
6064                         get secrets from the plugin itself rather than using GObject data
6065                         magic
6066
6067         * system-settings/src/main.c
6068                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6069                    load_connections): keep a private list of the plugin-returned
6070                         connections, don't use the plugin's GSList
6071
6072         * system-settings/plugins/ifcfg-fedora/plugin.c
6073                 - (watch_path): watch the path, not the filename (duh)
6074                 - (reload_all_connections): use the direct hash/equal functions; the
6075                         ones for int aren't appropriate here
6076                 - (get_secrets, system_config_interface_init): implement the
6077                         get_secrets() function
6078                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6079                         now in the connection's ConnectionData instead of being a GObject
6080                         data property
6081                 - (handle_profile_item_changed): ifcfg file path is now in the
6082                         connection's ConnectionData instead of being a GObject data property;
6083                         be sure to copy secrets over from the new connection to the existing
6084                         connection when updating the connection's settings
6085                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6086                         file descriptor
6087
6088         * system-settings/plugins/ifcfg-fedora/parser.c
6089           system-settings/plugins/ifcfg-fedora/parser.h
6090                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6091                    connection_data_copy_secrets, connection_data_free,
6092                    connection_data_add): new functions; connection data manipulation
6093                 - (make_wireless_security_setting): stuff secrets into the
6094                         connection data, not as GObject data items; make sure to close
6095                         the keys ifcfg file
6096                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6097                         connection data to the connection
6098
6099 2008-02-07  Dan Williams  <dcbw@redhat.com>
6100
6101         * system-settings/src/nm-system-config-interface.c
6102           system-settings/src/nm-system-config-interface.h
6103                 - Add a get_secrets() interface function to retrieve secrets for a
6104                         specific setting of a specific connection.  Document the interface
6105                         a bit more too.
6106
6107 2008-02-07  Dan Williams  <dcbw@redhat.com>
6108
6109         * src/nm-device-802-11-wireless.c
6110                 - (handle_auth_or_fail): new function; consolidate device activation
6111                         failure check after a certain number of failures getting secrets
6112                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6113                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6114                         the connection if secrets were requested more than a few times
6115                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6116                         tries here; otherwise they are cleared before the IP configure
6117                         timeout, which happens with open system WEP when key is wrong
6118                 - (activation_success_handler): clear wireless secrets tries here too
6119
6120 2008-02-07  Dan Williams  <dcbw@redhat.com>
6121
6122         * src/NetworkManagerPolicy.c
6123                 - (connection_updated): clear invalid tag when connection gets updated
6124                         to allow that connection to be tried again
6125                 - (nm_policy_new): save signal ids so they can be disconnected when
6126                         the policy is destroyed
6127                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6128                         and disconnect all signals from the manager object so that none
6129                         of the policy functions gets called after the policy is destroyed
6130
6131 2008-02-06  Dan Williams  <dcbw@redhat.com>
6132
6133         * src/nm-manager.c
6134                 - (finalize): remove devices a bit earlier; clean up system settings
6135                         poke
6136                 - (nm_manager_name_owner_changed): clean up system settings poke when
6137                         the service appears, and try to restart it if it fails
6138                 - (poke_system_settings_daemon_cb): try to get the system settings
6139                         service started through D-Bus service activation
6140                 - (initial_get_connections): start the system settings daemon if it's
6141                         not already running
6142
6143 2008-02-05  Dan Williams  <dcbw@redhat.com>
6144
6145         * src/supplicant-manager/nm-supplicant-config.c
6146                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6147                         broadcast networks too
6148
6149 2008-02-04  Dan Williams  <dcbw@redhat.com>
6150
6151         * system-settings/plugins/ifcfg-fedora/parser.c
6152                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6153                         need key_mgmt set too
6154                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6155                         .bak files; ensure that an error is set whenever NULL gets returned
6156
6157 2008-02-04  Dan Williams  <dcbw@redhat.com>
6158
6159         * system-settings/src/Makefile.am
6160                 - Install D-Bus service activation file for the system settings
6161                         service
6162
6163         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6164                 - D-Bus service activation file for system settings service
6165
6166 2008-02-04  Dan Williams  <dcbw@redhat.com>
6167
6168         * system-settings/src/main.c
6169                 - (parse_config_file): parse a config file
6170                 - (main): accept --config option and read plugins from config file
6171
6172 2008-02-04  Dan Williams  <dcbw@redhat.com>
6173
6174         * system-settings/plugins/ifcfg-fedora/plugin.c
6175                 - Change reported name to 'ifcfg-fedora'
6176                 - Use IFCFG_PLUGIN_NAME
6177
6178         * system-settings/plugins/ifcfg-fedora/plugin.c
6179                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6180
6181 2008-02-04  Dan Williams  <dcbw@redhat.com>
6182
6183         * system-settings/plugins/ifcfg-fedora/parser.c
6184                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6185                 - (make_connection_setting): use get_ifcfg_name()
6186                 - (make_wireless_security_setting): handle shadow key files
6187                 - (get_one_wep_key): treat empty string as NULL
6188
6189 2008-02-04  Dan Williams  <dcbw@redhat.com>
6190
6191         * src/supplicant-manager/nm-supplicant-manager.c
6192                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6193                         glib automatically reschedule
6194                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6195                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6196                         the supplicant
6197
6198 2008-02-01  Dan Williams  <dcbw@redhat.com>
6199
6200         * src/NetworkManagerPolicy.c
6201                 - (device_state_changed): schedule a change check when a device gets
6202                         deactivated so something happens if you disconnect GSM/CDMA
6203
6204 2008-01-31  Dan Williams  <dcbw@redhat.com>
6205
6206         * src/nm-device-802-11-wireless.h
6207           src/nm-device-802-11-wireless.c
6208                 - (ap_list_get_ap_by_ssid, is_associated,
6209                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6210                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6211                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6212                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6213                         function
6214
6215 2008-01-30  Dan Williams  <dcbw@redhat.com>
6216
6217         * system-settings/plugins/ifcfg
6218         * system-settings/plugins/ifcfg-fedora
6219                 - Move the ifcfg plugin to ifcfg-fedora
6220
6221 2008-01-24  Dan Williams  <dcbw@redhat.com>
6222
6223         * libnm-glib/nm-device-802-11-wireless.c
6224                 - (get_access_point): move the "/" check here; check for invalid path
6225                         too
6226                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6227                         to get_access_point()
6228                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6229                         to send signals for non-existent access points
6230
6231 2008-01-24  Dan Williams  <dcbw@redhat.com>
6232
6233         * libnm-glib/nm-device-802-11-wireless.c
6234                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6235
6236 2008-01-23  Dan Williams  <dcbw@redhat.com>
6237
6238         * libnm-glib/libnm_glib.c
6239                 - (libnm_glib_init): make thread joinable
6240                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6241
6242 2008-01-23  Dan Williams  <dcbw@redhat.com>
6243
6244         * test/libnm_glib_test.c
6245                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6246                 - (main): set up signal handlers; call libnm_glib_shutdown
6247
6248 2008-01-21  Dan Williams  <dcbw@redhat.com>
6249
6250         * include/NetworkManager.h
6251                 - Add CDMA mobile broadband card device type
6252
6253         * src/nm-hal-manager.c
6254                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6255                         must now be tagged with 'cdma' or 'gsm' capability
6256
6257         * src/nm-cdma-device.c
6258           src/nm-cdma-device.h
6259           src/Makefile.am
6260                 - Add the CDMA mobile broadband card device class
6261
6262         * libnm-util/nm-connection.c
6263                 - (register_default_settings): add NMSettingCdma
6264
6265         * libnm-util/nm-setting-cdma.c
6266           libnm-util/nm-setting-cdma.h
6267           libnm-util/Makefile.am
6268                 - Add the CDMA mobile broadband card setting class
6269
6270         * libnm-glib/nm-cdma-device.c
6271           libnm-glib/nm-cdma-device.h
6272           libnm-glib/Makefile.am
6273                 - Add the CDMA mobile broadband card GLib proxy class
6274
6275         * libnm-glib/nm-client.c
6276                 - (get_device): handle CDMA devices too
6277
6278 2008-01-21  Dan Williams  <dcbw@redhat.com>
6279
6280         * src/ppp-manager/nm-ppp-manager.c
6281                 - (ip4_config_get): set peer address too
6282
6283         * src/ppp-manager/nm-pppd-plugin.c
6284                 - (nm_ip_up): try harder to get the peer's address
6285
6286         * src/NetworkManagerSystem.c
6287                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6288                         address, use that too.  Otherwise, some PPP connections won't work.
6289
6290 2008-01-19  Dan Williams  <dcbw@redhat.com>
6291
6292         * src/NetworkManagerPolicy.c
6293                 - (nm_policy_device_change_check): system connections override user
6294                         connections; don't activate a user connection if there's a currently
6295                         active system connection, and new, better system connections always
6296                         interrupt user connections
6297
6298 2008-01-19  Dan Williams  <dcbw@redhat.com>
6299
6300         * src/nm-manager.h
6301                 - (nm_manager_get_connection_type): new function
6302
6303 2008-01-19  Dan Williams  <dcbw@redhat.com>
6304
6305         * src/nm-device-802-11-wireless.c
6306                 - (real_get_best_connection): collapse find_best_connection() into this
6307                         function
6308
6309 2008-01-19  Dan Williams  <dcbw@redhat.com>
6310
6311         * src/nm-device-802-3-ethernet.c
6312                 - (real_get_best_connection): collapse find_best_connection() into this
6313                         function
6314
6315 2008-01-18  Dan Williams  <dcbw@redhat.com>
6316
6317         * src/nm-device-802-3-ethernet.c
6318                 - (find_best_connection): check MAC address too
6319                 - (real_get_best_connection): let autoconnect=True connections activate
6320                         for devices that don't have carrier detection
6321
6322         * src/nm-device-802-11-wireless.c
6323                 - (find_best_connection): check MAC address too
6324
6325 2008-01-18  Dan Williams  <dcbw@redhat.com>
6326
6327         * system-settings/plugins/ifcfg/parser.c
6328                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6329
6330 2008-01-17  Dan Williams  <dcbw@redhat.com>
6331
6332         * src/nm-device-802-3-ethernet.c
6333                 - (nm_device_802_3_ethernet_carrier_on,
6334                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6335                         carrier events that might come in for devices that don't support
6336                         carrier detect
6337
6338 2008-01-17  Dan Williams  <dcbw@redhat.com>
6339
6340         * src/nm-device-interface.c
6341                 - (nm_device_interface_check_connection_conflicts): need to actually
6342                         get the interface, not cast to the object
6343
6344         * src/nm-device.c
6345                 - (nm_device_check_connection_conflicts): need to get the device class,
6346                         not cast the device to the device class
6347
6348 2008-01-17  Dan Williams  <dcbw@redhat.com>
6349
6350         * src/nm-device-802-11-wireless.c
6351                 - (real_check_connection_conflicts): ignore connections that aren't
6352                         wireless connections
6353
6354 2008-01-17  Dan Williams  <dcbw@redhat.com>
6355
6356         * src/NetworkManagerPolicy.c
6357                 - (nm_policy_device_change_check): clear change check idle here
6358                 - (device_change_check_done): remove
6359                 - (schedule_change_check): simplify
6360
6361 2008-01-17  Dan Williams  <dcbw@redhat.com>
6362
6363         * src/nm-manager.c
6364                 - (check_connection_allowed): take an NMDeviceInterface instead of
6365                         an NMDevice object as an argument
6366                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6367                         check_connection_allowed()
6368
6369 2008-01-13  Dan Williams  <dcbw@redhat.com>
6370
6371         * libnm-glib/nm-device-802-11-wireless.c
6372                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6373
6374 2008-01-12  Dan Williams  <dcbw@redhat.com>
6375
6376         * src/nm-device-802-11-wireless.c
6377                 - (activation_success_handler): if a match was found in the scan list
6378                         and that match is a hidden AP, update that AP's SSID
6379
6380 2008-01-11  Dan Williams  <dcbw@redhat.com>
6381
6382         * src/NetworkManagerAP.c
6383                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6384
6385         * src/nm-device-802-11-wireless.c
6386                 - (get_active_ap): do two passes over the scan list if the caller
6387                         requests that hidden APs get matched too; during the second pass
6388                         when matching hidden APs, ignore the SSID since hidden APs in the
6389                         scan list don't have an SSID yet
6390                 - (periodic_update): move some checks to
6391                         nm_device_802_11_periodic_update() because not all callers need them
6392                 - (nm_device_802_11_periodic_update): move some checks here from
6393                         perodic_update()
6394                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6395                         matching on incoming scan results, because the fake AP's flags
6396                         might be slightly different (yet still compatible) with the incoming
6397                         scan result's flags and they might actually be the same AP; update
6398                         the rate on merged APs too
6399                 - (activation_success_handler): update the frequency of the fake AP
6400                         on successful connection; match hidden APs too since if the
6401                         current AP is fake, there might already be a scan result in the
6402                         scan list for the desired AP, just without it's SSID filled in yet
6403
6404 2008-01-10  Dan Williams  <dcbw@redhat.com>
6405
6406         * src/NetworkManagerAP.c
6407                 - (foreach_property_cb): catch more hidden SSID formats
6408
6409 2008-01-10  Dan Williams  <dcbw@redhat.com>
6410
6411         Fix gnome.org #464215.  Requires the kernel patch titled
6412         "Introduce WEXT scan capabilities" but will handle the patch not being
6413         present, you'll just continue to have problems with hidden SSIDs when
6414         using mac80211-based drivers.
6415
6416         * src/supplicant-manager/nm-supplicant-config.h
6417           src/supplicant-manager/nm-supplicant-config.c
6418                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6419                         whether the driver supports SSID scans or not.  If it does, and if
6420                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6421
6422         * src/nm-device-802-11-wireless.c
6423                 - (constructor): check whether or not the driver supports SSID scans
6424                 - (build_supplicant_config): pass driver SSID scan capability when
6425                         building the wireless bits of the supplicant config
6426
6427 2008-01-09  Dan Williams  <dcbw@redhat.com>
6428
6429         * src/nm-device.c
6430           src/nm-device.h
6431                 - (device_activation_precheck, check_connection_complete): remove this
6432                         virtual function; incomplete connections should be invalid by
6433                         definition, complete-ness should be checked in the setting's
6434                         verify function
6435
6436         * src/nm-serial-device.c
6437           src/nm-gsm-device.c
6438                 - (real_check_connection_complete): remove
6439
6440         * libnm-util/nm-setting-serial.c
6441                 - (verify): new function; ensure there is a PPP setting too
6442
6443         * libnm-util/nm-setting-gsm.c
6444                 - (verify): ensure there is a serial setting too
6445
6446 2008-01-06  Dan Williams  <dcbw@redhat.com>
6447
6448         * src/dhcp-manager/nm-dhcp-manager.c
6449                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6450                         (gnome.org #332953)
6451
6452 2008-01-04  Dan Williams  <dcbw@redhat.com>
6453
6454         * src/named-manager/nm-named-manager.c
6455                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6456                         nameservers if the secondary config doesn't have any
6457                         (gnome.org #346833)
6458
6459 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6460
6461         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6462         with G_PARAM_CONSTRUCT so that they get the default values.
6463
6464         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6465         the monitoring device and prints out the output for now. Or more precicely, doesn't
6466         do absolutely anything right now since the montoring device argument is never set.
6467
6468         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6469         requires it's own knob to turn it on.
6470         (config_fd): Add NMSettingSerial to the arguments list.
6471         (nm_serial_device_open): Ditto.
6472         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6473         (nm_serial_device_get_io_channel): Implement.
6474
6475         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6476         a new reference every time (and forgetting to release it sometimes) is a pain and
6477         it's not like NMManager could work without dbus.
6478         (nm_manager_add_device): Register the added device on dbus here.
6479
6480         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6481         device.
6482
6483         * src/nm-device.c (constructor): Don't export the device here, instead export
6484         it when it's added to the NMManager's device list.
6485
6486 2007-12-31  Dan Williams  <dcbw@redhat.com>
6487
6488         * src/nm-device-interface.c
6489           src/nm-device-interface.h
6490                 - (nm_device_interface_check_connection_conflicts): new function
6491
6492         * src/nm-device.c
6493           src/nm-device.h
6494                 - (nm_device_check_connection_conflicts): new function
6495                 - (device_activation_precheck): don't require subclasses to implement
6496                         check_connection_complete()
6497                 - check_connection() -> check_connection_complete()
6498
6499         * src/nm-device-802-11-wireless.c
6500                 - (real_check_connection): remove; unused
6501                 - (real_check_connection_conflicts): implement, handle lockdown for
6502                         system connections
6503
6504         * src/nm-device-802-3-ethernet.c
6505                 - (real_check_connection): remove; unused
6506
6507         * src/nm-manager.c
6508                 - (check_connection_allowed): new function
6509                 - (nm_manager_activate_device): ensure the connection being requested
6510                         is allowed to be activated
6511
6512         * src/nm-serial-device.c
6513           src/nm-gsm-device.c
6514                 - real_check_connection() -> real_check_connection_complete()
6515
6516 2007-12-27  Dan Williams  <dcbw@redhat.com>
6517
6518         * src/nm-device-interface.c
6519           src/nm-device-interface.h
6520                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6521                         normalize and expand errors
6522                 - (nm_device_interface_init): register errors so they can be marshalled
6523                         through dbus-glib
6524                 - (nm_device_interface_activate): ensure that failure of activation
6525                         returns an error
6526
6527         * src/nm-device.c
6528           src/nm-device.h
6529                 - (device_activation_precheck): implementations of check_connection()
6530                         now take a GError and must fill it in if the check fails.  Return
6531                         more descriptive error if the requested connection is already
6532                         activating
6533                 - (nm_device_activate): actually try to return descriptive errors on
6534                         failures
6535
6536         * src/nm-device-802-11-wireless.c
6537           src/nm-device-802-3-ethernet.c
6538           src/nm-serial-device.c
6539           src/nm-gsm-device.c
6540                 - (real_check_connection): return more descriptive errors on failure
6541
6542         * src/NetworkManagerPolicy.c
6543                 - (nm_policy_device_change_check): print activation errors in the logs
6544
6545         * src/nm-manager.c
6546                 - (nm_manager_error_quark, nm_manager_error_get_type,
6547                    nm_manager_class_init): new errors
6548                 - (nm_manager_activate_device): handle errors
6549                 - (nm_manager_error_new): removed
6550                 - (wait_for_connection_expired, connection_added_default_handler,
6551                    impl_manager_activate_device): better error handling
6552
6553 2007-12-27  Dan Williams  <dcbw@redhat.com>
6554
6555         Fixes gnome.org #466954
6556
6557         * src/supplicant-manager/nm-supplicant-settings-verify.c
6558                 - Allow 'frequency' network property
6559
6560         * src/supplicant-manager/nm-supplicant-config.c
6561           src/supplicant-manager/nm-supplicant-config.h
6562                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6563                         for callers to specify the frequency an Ad-Hoc network should operate
6564                         on.  Some drivers require this to successfully create an Ad-Hoc
6565                         network.
6566
6567         * src/nm-device-802-11-wireless.c
6568                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6569                         guint32 value in MHz
6570                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6571                         iw_freq_to_uint32()
6572                 - (find_supported_frequency): new function; find a free supported
6573                         frequency for a user-created Ad-Hoc network
6574                 - (build_supplicant_config): if no frequency was specified for a user-
6575                         created Ad-Hoc network, find a free one to use
6576                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6577                         a specific object as user-created
6578
6579 2007-12-27  Dan Williams  <dcbw@redhat.com>
6580
6581         * libnm-util/nm-utils.c
6582           libnm-util/nm-utils.h
6583                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6584                         for adhoc networks
6585
6586 2007-12-24  Dan Williams  <dcbw@redhat.com>
6587
6588         * libnm-util/nm-setting-wireless.c
6589                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6590                         185, 187, 188, 192, and 196
6591
6592 2007-12-24  Dan Williams  <dcbw@redhat.com>
6593
6594         * src/nm-device-802-11-wireless.c
6595                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6596                         a channel # instead of a frequency
6597
6598 2007-12-24  Dan Williams  <dcbw@redhat.com>
6599
6600         * src/NetworkManagerAP.c
6601           src/NetworkManagerAP.h
6602                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6603                 - (freq_to_channel): handle split band tables
6604                 - (channel_to_freq): handle split band tables, take a band argument
6605
6606 2007-12-24  Dan Williams  <dcbw@redhat.com>
6607
6608         * libnm-util/nm-setting-connection.h
6609           libnm-util/nm-setting-connection.c
6610                 - Add 'lockdown' member
6611
6612 2007-12-22  Dan Williams  <dcbw@redhat.com>
6613
6614         * libnm-util/nm-setting-wireless.c
6615                 - (nm_setting_wireless_class_init): add missing 'rate' property
6616                         specification
6617
6618 2007-12-18  Dan Williams  <dcbw@redhat.com>
6619
6620         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6621
6622         * src/nm-netlink-monitor.c
6623           src/nm-netlink-monitor.h
6624                 - Remove handrolled netlink, use libnl instead
6625
6626         * src/nm-device-802-3-ethernet.c
6627                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6628                    nm_device_802_3_ethernet_carrier_on): use new names
6629
6630 2007-12-17  Dan Williams  <dcbw@redhat.com>
6631
6632         * configure.in
6633                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6634                         and fixes memory leaks)
6635
6636         * src/nm-netlink.c
6637                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6638                         automatically handle the netlink PID
6639
6640 2007-12-17  Dan Williams  <dcbw@redhat.com>
6641
6642         Patch from Michael Biebl <biebl@debian.org>
6643
6644         * configure.in
6645           src/ppp-manager/Makefile.am
6646                 - fix up install dir of pppd plugin
6647                 - clean up configure.in a bit
6648
6649 2007-12-12  Dan Williams  <dcbw@redhat.com>
6650
6651         * system-settings/src/nm-system-settings.conf
6652                 - Allow non-root clients (like the applet) to read settings
6653
6654 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6655
6656         * Replace all occurences of 'UMTS' with 'GSM'.
6657
6658 2007-12-07  Dan Williams  <dcbw@redhat.com>
6659
6660         * src/nm-serial-device.c
6661                 - (real_is_up): serial devices are always "up"
6662
6663 2007-12-07  Dan Williams  <dcbw@redhat.com>
6664
6665         * src/nm-netlink.c
6666           src/NetworkManagerSystem.c
6667                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6668                         twice (gnome.org #491047)
6669                 - Make more robust against allocation-related failures should they occur
6670
6671 2007-12-07  Dan Williams  <dcbw@redhat.com>
6672
6673         Noticed by Christian Persch <chpe@gnome.org>
6674
6675         Always chain up to parent object in dispose and finalize handlers.
6676                 (gnome.org #433112)
6677
6678 2007-12-07  Dan Williams  <dcbw@redhat.com>
6679
6680         * src/nm-device-802-11-wireless.c
6681                 - Wrap #include of linux/mii.h to fix redefined structures due to
6682                         incorrect kernel headers (gnome.org #350061)
6683
6684 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6685
6686         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6687         before doing anything else.
6688         (init_modem): Move modem initialization here.
6689
6690         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6691         (nm_serial_device_flash): Implement.
6692
6693         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6694         changes signal is "StateChanged" and not "Status".
6695         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6696
6697 2007-12-06  Dan Williams  <dcbw@redhat.com>
6698
6699         * src/supplicant-manager/nm-supplicant-config.c
6700                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6701                         to only send some options when they make sense; also send phase2
6702                         option to the supplicant (possible fix for rh #399631)
6703
6704 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6705
6706         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6707         arguments: This whole file shouldn't really know anything about NMDevices, it
6708         should deal only with device interfaces. Devices might have different ifaces for
6709         different stuff and this place shouldn't know anything about it.
6710
6711         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6712         (global_state_changed): Implement. In the current NM it's not really important,
6713         but will be required in the case of multiple active devices. (Or even better,
6714         if stuff like that gets moved out from NM).
6715
6716         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6717         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6718         instead.
6719
6720         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6721         devices like serial devices (ttyS0 and ppp0 for example).
6722         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6723         set.
6724         (nm_device_set_ip_iface): Implement.
6725         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6726         after setting ip4_config from here ...
6727         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6728         than this function should call nm_system_device_set_from_ip4_config() because no
6729         other code has enough information on which arguments to use. So instead, other code
6730         could just set the new ip4 config using this function and everyone is happy.
6731
6732         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6733         if we happen to get deactivated while something is pending.
6734         (automatic_registration): Handle the response that indicates pending network
6735         registration and wait until the pending registration is done.
6736         (real_deactivate_quickly): If there's a pending operation, cancel it.
6737
6738         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6739         (real_deactivate_quickly): ... and remove it when it's down.
6740         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6741         it if needed.
6742         (nm_serial_device_wait_for_reply): Ditto.
6743
6744 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6745
6746         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6747         (get_network_done): Remove newline, nm_info() does it already.
6748         (real_act_stage1_prepare): Turn the modem echo off.
6749
6750         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6751         device, set the route to the device interface. This is a hack.
6752
6753         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6754         return, no need for a new-line.
6755         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6756         Change the device iface here (ugh).
6757         (real_act_stage4_get_ip4_config): Implement.
6758         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6759         Restore the device iface.
6760
6761         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6762         device is not wired or wireless (eg, automatically upped) device.
6763
6764         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6765         it isn't.
6766         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6767
6768         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6769         before calling it's is_device_fn().
6770
6771 2007-12-05  Dan Williams  <dcbw@redhat.com>
6772
6773         * libnm-util/nm-utils.c
6774                 - (nm_utils_register_value_transformations,
6775                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6776                         GHashTables of GValues too
6777
6778 2007-12-04  Dan Williams  <dcbw@redhat.com>
6779
6780         * initscript/RedHat/NetworkManager.in
6781                 - No longer start named; it's D-Bus interface is going away
6782
6783 2007-12-04  Dan Williams  <dcbw@redhat.com>
6784
6785         Patch from Michael Biebl <biebl@debian.org>
6786
6787         * system-settings/plugins/ifcfg/Makefile.am
6788           system-settings/src/main.c
6789           system-settings/src/Makefile.am
6790                 - Put system settings plugins in NM plugins dir
6791
6792         * src/ppp-manager/Makefile.am
6793           src/ppp-manager/nm-ppp-manager.c
6794                 - Move pppd plugin to NM plugins dir
6795
6796 2007-12-04  Dan Williams  <dcbw@redhat.com>
6797
6798         * libnm-util/nm-setting-vpn-properties.h
6799                 - Clarify usage of the 'data' member of the setting
6800
6801         * libnm-util/nm-setting-vpn-properties.c
6802                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6803                 - (set_property): just remove all the settings; don't recreate the has
6804                 - (update_one_secret): don't need to create the hash table here since
6805                         it should always be present
6806
6807 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6808
6809         Implement PIN and PUK requesting.
6810
6811         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6812         (enter_pin): Handle PIN and PUK requests.
6813         (real_act_stage1_prepare): Clear the secret type.
6814         (real_connection_secrets_updated): Implement this class method to get
6815         notified when new secrets arrive.
6816         (nm_umts_device_class_init): Add private data back to the umts device class
6817         to store the required secret type.
6818
6819 2007-12-01  Dan Williams  <dcbw@redhat.com>
6820
6821         * system-settings/plugins/ifcfg/parser.c
6822                 - (parser_parse_file): don't try to verify NULL connections
6823
6824 2007-12-01  Dan Williams  <dcbw@redhat.com>
6825
6826         * system-settings/src/main.c
6827                 - (load_connections, add_connection_to_settings): actually export
6828                         plugin-provided connections over D-Bus so NM can get them
6829
6830 2007-12-01  Dan Williams  <dcbw@redhat.com>
6831
6832         * system-settings/plugins/ifcfg/parser.c
6833           system-settings/plugins/ifcfg/parser.h
6834           system-settings/plugins/ifcfg/plugin.c
6835                 - Hook up more inotify bits (untested)
6836
6837 2007-11-29  Dan Williams  <dcbw@redhat.com>
6838
6839         * system-settings/src/nm-system-config-interface.h
6840           system-settings/src/nm-system-config-interface.c
6841                 - (nm_system_config_interface_init,
6842                    nm_system_config_interface_get_connections): add
6843
6844         * system-settings/src/main.c
6845                 - (load_plugins, load_connections, main): use a GSList for plugins
6846                         to ensure priority ordering
6847
6848         * system-settings/plugins/ifcfg/parser.c
6849                 - (ifcfg_error_quark): move to plugin.c, and rename
6850
6851         * system-settings/plugins/ifcfg/plugin.h
6852           system-settings/plugins/ifcfg/plugin.c
6853                 - (ifcfg_plugin_error_quark): move here from parser.c
6854                 - rework connection loading and initialization
6855                 - Add preliminary inotify support for network profile config file
6856
6857 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6858
6859         Merge the beginnings of the new GSM card support.
6860
6861         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6862         ppp watch source before killing pppd - If this happens from g_object_unref()
6863         then the ppp manager is already destroyed by the time the watch callback runs.
6864
6865         * src/nm-hal-manager.c: Add a device_type_name string to the device
6866         creators, so that we can print a nice human readable string when a
6867         device is added.
6868
6869         * src/nm-umts-device.c (automatic_registration_get_network): Query
6870         for the activated network, not much is done with the result thought.
6871
6872         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6873         (ppp_ip4_config): Change the device state to activated here for now.
6874         (real_check_connection): Make sure the connection includes ppp setting.
6875
6876         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6877
6878         * libnm-glib/Makefile.am: Add the new files to build.
6879
6880         * libnm-glib/nm-umts-device.c: 
6881         * libnm-glib/nm-umts-device.h: Implement.
6882
6883 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6884
6885         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6886         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6887
6888         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6889         the timeout source - this function is only called when the timeout source has
6890         been removed.
6891         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6892         to be big enough to contain the terminating zero element as well.
6893         The timeout argument is meant to be in seconds now.
6894         (real_deactivate_quickly): Implement.
6895
6896         * src/NetworkManager.conf: Allow root to own 
6897         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6898
6899         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6900         (not unsigned ints).
6901
6902         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6903         small issue with parity bounds - capital letters have lower ascii codes
6904         than lower case letters.
6905
6906         * libnm-util/nm-connection.c (register_default_settings): Register serial
6907         and umts settings.
6908
6909 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6910
6911         Remove the "index" property from devices as not all device types have this.
6912
6913         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6914
6915         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6916         (wired_device_creator): Get the device interface from hal to create the device.
6917         (wireless_device_creator): Ditto.
6918
6919         * src/nm-device.c (nm_device_init): Remove the index member.
6920         (constructor): Remove the checks for index property, make interface property
6921         a require constructor property.
6922         Use the HAL udi for DBus path for devices.
6923         (nm_device_get_index): Remove.
6924         (set_property): Remove index handling.
6925         (get_property): Ditto.
6926         (nm_device_get_dbus_path): Remove.
6927
6928         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6929         property.
6930
6931         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6932         Access the device index through it's interface.
6933         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6934         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6935         index argument. Add interface argument.
6936
6937         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6938         the useless test_dev argument. Remove index argument. Add interface arugment.
6939
6940         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6941         device index through interface.
6942         (nm_system_set_mtu): Ditto.
6943
6944         * introspection/nm-device.xml: Remove the "Index" property.
6945
6946 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6947
6948         * src/nm-serial-device.c: 
6949         * src/nm-serial-device.c: 
6950         * src/nm-umts-device.c:
6951         * src/nm-umts-device.h: Implement.
6952
6953         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6954         allocated by libhal.
6955         (modem_device_creator): Implement.
6956         (register_built_in_creators): Register the modem creator.
6957
6958         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6959         Remove the unused test_dev argument.
6960
6961         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6962
6963         * src/Makefile.am: Add new files to build.
6964         Link in ppp-manager.
6965
6966         * libnm-util/nm-setting-umts.c: 
6967         * libnm-util/nm-setting-umts.h: 
6968         * libnm-util/nm-setting-serial.c: 
6969         * libnm-util/nm-setting-serial.h: Implement.
6970
6971         * libnm-util/Makefile.am: Add new files to build.
6972
6973 2007-11-28  Dan Williams  <dcbw@redhat.com>
6974
6975         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6976
6977         Support DHCP-provided static routes.
6978
6979         * src/nm-ip4-config.h
6980           src/nm-ip4-config.c
6981                 - Add get/set functions for static routes
6982
6983         * src/dhcp-manager/nm-dhcp-manager.c
6984                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6985                         DHCP response
6986
6987         * src/NetworkManagerSystem.c
6988                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6989                         interface when applying the IP4Config
6990
6991 2007-11-28  Dan Williams  <dcbw@redhat.com>
6992
6993         * src/nm-device-802-11-wireless.c
6994                 - (real_act_stage1_prepare): mark APs created for hidden networks
6995                         as non-broadcasting
6996
6997 2007-11-27  Dan Williams  <dcbw@redhat.com>
6998
6999         * system-settings/src/nm-system-config-interface.h
7000                 - Note how to store secrets on NMSetting objects
7001
7002         * system-settings/src/dbus-settings.c
7003                 - (connection_settings_get_secrets): implement
7004
7005 2007-11-27  Dan Williams  <dcbw@redhat.com>
7006
7007         * system-settings/plugins/ifcfg/Makefile.am
7008           system-settings/plugins/ifcfg/parser.c
7009           system-settings/plugins/ifcfg/parser.h
7010           system-settings/plugins/ifcfg/plugin.c
7011                 - Parse wireless connections too
7012
7013         * system-settings/src/dbus-settings.c
7014           system-settings/src/dbus-settings.h
7015           system-settings/src/main.c
7016                 - Handle connection update/removal if the plugin supports it
7017
7018 2007-11-27  Dan Williams  <dcbw@redhat.com>
7019
7020         * src/nm-dbus-manager.h
7021           src/nm-hal-manager.c
7022                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7023                         do it for them
7024
7025         * src/Makefile.am
7026           src/NetworkManagerDbusUtils.c
7027           src/NetworkManagerDbusUtils.h
7028                 - Remove these two source files; they are unused
7029
7030 2007-11-27  Dan Williams  <dcbw@redhat.com>
7031
7032         * src/vpn-manager/nm-vpn-manager.c
7033                 - (impl_vpn_manager_connect): fix system settings check (found by
7034                         James M. Leddy)
7035
7036 2007-11-26  Dan Williams  <dcbw@redhat.com>
7037
7038         * Fix warnings so everything compiles with --enable-more-warnings
7039
7040 2007-11-25  Dan Williams  <dcbw@redhat.com>
7041
7042         * system-settings/*
7043                 - Rework structure and code to use GModule-loaded plugins and a plugin
7044                         interface that plugins export to the system settings service
7045
7046 2007-11-21  Dan Williams  <dcbw@redhat.com>
7047
7048         * system-settings/*
7049                 - Add Soren's system settings service.  Needs work for distros other
7050                         than Fedora; the backends from NM should mostly migrate to here
7051                         and be converted to GObjects
7052
7053 2007-11-21  Dan Williams  <dcbw@redhat.com>
7054
7055         * libnm-util/nm-setting-vpn-properties.c
7056                 - (set_property): must deep-copy the given settings hash, otherwise
7057                         double-free errors occur when the setting is disposed of
7058
7059 2007-11-21  Dan Williams  <dcbw@redhat.com>
7060
7061         * src/vpn-manager/nm-vpn-act-request.h
7062           src/vpn-manager/nm-vpn-act-request.c
7063                 - Remove; unused
7064
7065 2007-11-20  Dan Williams  <dcbw@redhat.com>
7066
7067         * libnm-util/nm-utils.c
7068                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7069                    nm_utils_convert_ip4_addr_struct_array_to_string,
7070                    nm_utils_register_value_transformations): print out the readable
7071                         values of more types of properties of NMSettings subclasses
7072
7073 2007-11-20  Dan Williams  <dcbw@redhat.com>
7074
7075         * libnm-util/nm-setting-ip4-config.c
7076                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7077                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7078                         marshal GValueArrays inside collections, so switch to types that it
7079                         can actually marshal/demarshal
7080
7081 2007-11-16  Dan Williams  <dcbw@redhat.com>
7082
7083         * libnm-util/nm-setting-wireless-security.c
7084                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7085                         minimal verification of EAP methods too
7086                 - (verify): verify phase1 eap methods too
7087
7088 2007-11-15  Dan Williams  <dcbw@redhat.com>
7089
7090         * libnm-glib/nm-device.h
7091           libnm-glib/nm-device.c
7092                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7093                         const char *
7094
7095 2007-11-15  Dan Williams  <dcbw@redhat.com>
7096
7097         * libnm-glib/nm-device.c
7098                 - (get_product_and_vendor): don't try to free things that should be
7099                         freed
7100
7101 2007-11-15  Dan Williams  <dcbw@redhat.com>
7102
7103         * src/NetworkManagerUtils.c
7104                 - (nm_ethernet_address_is_valid): unbreak previous fix
7105
7106 2007-11-15  Dan Williams  <dcbw@redhat.com>
7107
7108         * src/supplicant-manager/nm-supplicant-config.c
7109                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7110                         options
7111
7112 2007-11-15  Dan Williams  <dcbw@redhat.com>
7113
7114         * src/NetworkManagerUtils.c
7115                 - (nm_ethernet_address_is_valid): fix style, clarify
7116                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7117
7118         * src/nm-device-802-11-wireless.c
7119                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7120                 - (nm_device_802_11_wireless_get_ssid,
7121                    nm_device_802_11_wireless_get_bssid,
7122                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7123                         before calling the ioctl; fixes valgrind-reported jump depends on
7124                         uninitialized value errors
7125
7126 2007-11-15  Dan Williams  <dcbw@redhat.com>
7127
7128         * libnm-util/nm-setting.c
7129                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7130                         unecessary to serialize 'name'
7131
7132         * src/nm-activation-request.c
7133                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7134                         the GetSecrets call
7135
7136 2007-11-15  Dan Williams  <dcbw@redhat.com>
7137
7138         * libnm-util/nm-setting-connection.h
7139           libnm-util/nm-setting-connection.c
7140                 - Rename the 'name' property to 'id', because it conflicted with the
7141                         NMSetting superclass' 'name' property.
7142
7143         * libnm-util/nm-setting.c
7144                 - (nm_setting_to_hash): serialize the 'name' property
7145                 - (one_property_cb): ignore 'name' on deserialization of a connection
7146
7147         * src/nm-device-802-11-wireless.c
7148           src/vpn-manager/nm-vpn-connection.c
7149           src/NetworkManagerPolicy.c
7150                 - Fix up for NMSettingConnection 'name'->'id' changes
7151
7152 2007-11-13  Dan Williams  <dcbw@redhat.com>
7153
7154         * libnm-glib/nm-device-802-11-wireless.h
7155           libnm-glib/nm-device-802-11-wireless.c
7156                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7157
7158         * test/nm-tool.c
7159           libnm-glib/libnm-glib-test.c
7160                 - Fixes for above change
7161
7162 2007-11-12  Dan Williams  <dcbw@redhat.com>
7163
7164         * src/supplicant-manager/nm-supplicant-settings-verify.c
7165                 - Allow fragment_size option
7166
7167         * src/supplicant-manager/nm-supplicant-settings-verify.c
7168                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7169                         EAP fragment size than the default to help some TLS connections
7170
7171 2007-11-12  Dan Williams  <dcbw@redhat.com>
7172
7173         Make certs actually work.  The private key is now a secret, and should be
7174         decrypted when requested by NM.  The private key and phase2 private key
7175         passwords are no longer interesting to NM because they should be used by
7176         the settings service to decrypt the private key itself before passing it
7177         to NM, and hence have been removed as fields.
7178
7179         * libnm-util/nm-setting-wireless-security.h
7180           libnm-util/nm-setting-wireless-security.c
7181                 - Remove private-key-passwd and phase2-private-key-passwd from
7182                         properties
7183                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7184                    need_secrets): use property #defines instead strings to keep things
7185                         consistent
7186                 - (need_secrets_tls): if a client certificate is present but no
7187                         private key, request the private key
7188                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7189                         remove private key password stuff, mark private keys as secret
7190
7191         * src/supplicant-manager/nm-supplicant-settings-verify.c
7192                 - Remove private_key_passwd and private_key2_passwd from opt_table
7193
7194 2007-11-09  Dan Williams  <dcbw@redhat.com>
7195
7196         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7197         Since the vpn-properties are managed and known by the VPN daemons themselves,
7198         libnm-util doesn't know what's secret and what's in the setting's 'data'
7199         member.
7200
7201         * libnm-util/nm-setting.h
7202           libnm-util/nm-setting.c
7203                 - Add the ability for subclasses to override update_one_secret
7204
7205         * libnm-util/nm-setting-vpn-properties.c
7206                 - Override update_one_secret and just copy the values into the
7207                         internal table
7208
7209 2007-11-09  Dan Williams  <dcbw@redhat.com>
7210
7211         * libnm-glib/nm-settings.h
7212           libnm-glib/nm-settings.c
7213                 - (nm_settings_new_error): remove
7214                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7215                         clients should use g_set_error() with NM_SETTINGS_ERROR
7216
7217 2007-11-09  Dan Williams  <dcbw@redhat.com>
7218
7219         * src/supplicant-manager/nm-supplicant-config.c
7220                 - (nm_supplicant_config_add_setting_wireless_security): private key
7221                         passwords are never sent to wpa_supplicant, because the supplicant
7222                         should never be reading random files from the disk.  Clients like
7223                         the applet are required to decrypt the private keys and send NM
7224                         the decrypted blobs.
7225
7226 2007-11-08  Dan Williams  <dcbw@redhat.com>
7227
7228         * libnm-util/nm-setting-wireless-security.h
7229           libnm-util/nm-setting-wireless-security.c
7230                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7231                         members to 802-11-wireless-security structure.  This should be used
7232                         to indicate that the values in private-key and phase2-private-key
7233                         are already decrypted by the user agent, and that no
7234                         private-key-passwd or phase2-private-key-passwd should be expected.
7235                         It is not meant to be a stored configuration value, but meant to
7236                         be set when the conneciton is sent to NM over dbus.
7237
7238 2007-11-08  Dan Williams  <dcbw@redhat.com>
7239
7240         * libnm-util/nm-connection.h
7241           libnm-util/nm-connection.c
7242                 - (nm_connection_need_secrets): add argument to return hints
7243
7244         * src/nm-device-802-11-wireless.c
7245                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7246                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7247                         nm_connection_need_secrets() change
7248
7249 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7250
7251         Rework NMSetting structures: Move each setting to it's own file.
7252         Convert to GObject. Remove home grown setting types and use GTypes.
7253         Use GObject property introspection for hash conversion, enumerating
7254         properties, etc.
7255
7256         * libnm-util/nm-setting-connection.[ch]
7257         * libnm-util/nm-setting-ip4-config.[ch]
7258         * libnm-util/nm-setting-ppp.[ch]
7259         * libnm-util/nm-setting-vpn.[ch]
7260         * libnm-util/nm-setting-vpn-properties.[ch]
7261         * libnm-util/nm-setting-wired.[ch]
7262         * libnm-util/nm-setting-wireless.[ch]
7263         * libnm-util/nm-setting-wireless-security.[ch]
7264
7265         New files, each containing a setting.
7266
7267         * libnm-util/nm-setting-template.[ch]: A template for creating new
7268         settings. To use it, just replace 'template' with the new setting
7269         name, and you're half-way done.
7270
7271         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7272         introspection instead of internal types and tables.
7273
7274         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7275
7276         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7277         GValue types defined by dbus-glib for composed types like collections,
7278         structures and maps.
7279
7280         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7281         a setting from connection takes the setting type now. Also, since
7282         the settings are in multiple files, include relevant settings.
7283
7284 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7285
7286         * configure.in:
7287         * src/backends/NetworkManagerGentoo.c:
7288         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7289         providers in Gentoo.
7290
7291 2007-10-31  Dan Williams  <dcbw@redhat.com>
7292
7293         * libnm-util/nm-connection.c
7294                 - (gvalue_to_string): handle UINT32 arrays
7295
7296 2007-10-31  Dan Williams  <dcbw@redhat.com>
7297
7298         * libnm-glib/nm-device.h
7299           libnm-glib/nm-device.c
7300                 - (nm_device_get_description): remove
7301                 - (nm_device_get_product, nm_device_get_vendor): add
7302                 - (nm_device_update_description): new function (private); walk HAL
7303                         devices to get product and vendor IDs for a specific device
7304
7305 2007-10-31  Dan Williams  <dcbw@redhat.com>
7306
7307         * src/nm-device-802-11-wireless.c
7308                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7309
7310 2007-10-29  Dan Williams  <dcbw@redhat.com>
7311
7312         * src/nm-hal-manager.c
7313                 - (device_added, device_new_capability): ignore device additions while
7314                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7315                         kernel module is unloaded and reloaded and recognized by NM again.
7316
7317 2007-10-26  Dan Williams  <dcbw@redhat.com>
7318
7319         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7320
7321         * src/NetworkManagerAP.c
7322           src/NetworkManagerAP.h
7323           libnm-glib/nm-access-point.c
7324           libnm-glib/nm-access-point.h
7325                 - Make 'rate' property a guint32 to better match with WEXT and
7326                         wpa_supplicant and to allow representation of higher bitrates
7327
7328         * src/nm-device-802-11-wireless.c
7329           introspection/nm-device-802-11-wireless.xml
7330           libnm-glib/nm-device-802-11-wireless.c
7331           libnm-glib/nm-device-802-11-wireless.h
7332                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7333
7334         * src/nm-device-802-3-ethernet.c
7335           src/nm-device-802-3-ethernet.h
7336           introspection/nm-device-802-3-ethernet.xml
7337           libnm-glib/nm-device-802-3-ethernet.c
7338           libnm-glib/nm-device-802-3-ethernet.h
7339                 - Make 'speed' property a guint32 to match other speed/rate types
7340                 - Make nm_device_802_3_ethernet_get_speed() static
7341
7342         * test/nm-tool.c
7343                 - Update for the changes above
7344
7345 2007-10-26  Dan Williams  <dcbw@redhat.com>
7346
7347         * src/named-manager/nm-named-manager.c
7348                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7349                     not calling fclose() twice on some error conditions
7350
7351 2007-10-26  Dan Williams  <dcbw@redhat.com>
7352
7353         * src/nm-activation-request.c
7354                 - (dispose): clean up indentation; get the right DBusGProxy object to
7355                         cancel the GetSecrets pending call on.  Need to use the Secrets
7356                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7357                         pending call doesn't get canceled, and pressing Cancel in the
7358                         applet's password dialog could cause get_secrets_cb() to be called
7359                         after the activation request has already been destroyed
7360
7361 2007-10-24  Dan Williams  <dcbw@redhat.com>
7362
7363         * src/supplicant-manager/nm-supplicant-config.c
7364                 - (nm_supplicant_config_add_blob): pass blob data and length for
7365                         verification
7366                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7367
7368 2007-10-24  Dan Williams  <dcbw@redhat.com>
7369
7370         * src/supplicant-manager/nm-supplicant-settings-verify.c
7371                 - (opt_table): max length for certificates should be 65536
7372
7373 2007-10-24  Dan Williams  <dcbw@redhat.com>
7374
7375         * src/supplicant-manager/nm-supplicant-interface.c
7376                 - (blob_free): correctly free blob data after use
7377                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7378
7379 2007-10-24  Dan Williams  <dcbw@redhat.com>
7380
7381         * libnm-util/nm-setting.c
7382                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7383                         EAP method need secrets
7384
7385 2007-10-24  Dan Williams  <dcbw@redhat.com>
7386
7387         * src/backends/NetworkManagerRedHat.c
7388                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7389
7390 2007-10-23  Dan Williams  <dcbw@redhat.com>
7391
7392         * libnm-util/nm-setting.c
7393           libnm-util/nm-setting.c
7394                 - (nm_setting_compare): implement
7395                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7396                    compare_one_hash_gvalue): compare the contents of a setting
7397
7398         * libnm-util/nm-connection.c
7399                 - (nm_connection_compare): implement
7400
7401 2007-10-23  Dan Williams  <dcbw@redhat.com>
7402
7403         * src/nm-activation-request.c
7404                 - (get_secrets_cb): handle getting a setting back that is more than
7405                         just secrets (ie, user changed auth or EAP method or something)
7406
7407 2007-10-23  Dan Williams  <dcbw@redhat.com>
7408
7409         * libnm-util/nm-setting.c
7410           libnm-util/nm-setting.h
7411                 - (nm_setting_verify): new function; verify one setting
7412                 - (nm_settings_verify_all): rename from nm_settings_verify()
7413                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7414                         all_settings
7415
7416         * libnm-util/nm-connection.c
7417                 - (nm_connection_replace_settings, nm_connection_verify,
7418                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7419
7420 2007-10-23  Dan Williams  <dcbw@redhat.com>
7421
7422         * src/nm-device-802-11-wireless.c
7423                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7424                         desired behavior
7425
7426 2007-10-23  Dan Williams  <dcbw@redhat.com>
7427
7428         * src/supplicant-manager/nm-supplicant-settings-verify.c
7429                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7430                         nm-settings.c
7431
7432 2007-10-23  Dan Williams  <dcbw@redhat.com>
7433
7434         * src/nm-device-802-11-wireless.c
7435                 - (real_act_stage2_config): after the first association failure,
7436                         if the connection still needs secrets ask the user for them
7437                         explicitly.  After the fourth association failure due to bad
7438                         secrets, fail the connection entirely.  Handles the GetSecrets
7439                         loop that NM gets into when the provided secrets don't match up
7440                         with the connection details.
7441
7442 2007-10-23  Dan Williams  <dcbw@redhat.com>
7443
7444         * src/supplicant-manager/nm-supplicant-config.c
7445                 - (nm_supplicant_config_add_setting_wireless_security): only add
7446                         WPA-specific options when WPA is in use
7447
7448 2007-10-23  Dan Williams  <dcbw@redhat.com>
7449
7450         * src/supplicant-manager/nm-supplicant-config.c
7451                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7452                         secret doesn't need to be unhexified
7453
7454 2007-10-23  Dan Williams  <dcbw@redhat.com>
7455
7456         * libnm-util/nm-setting.c
7457                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7458                         before trying to do something with it
7459
7460 2007-10-23  Dan Williams  <dcbw@redhat.com>
7461
7462         * src/nm-device-802-11-wireless.c
7463                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7464
7465 2007-10-23  Dan Williams  <dcbw@redhat.com>
7466
7467         * src/nm-device-802-11-wireless.c
7468                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7469                         non-SSID-broadcasting APs
7470
7471 2007-10-23  Dan Williams  <dcbw@redhat.com>
7472
7473         * src/NetworkManagerAP.c
7474                 - (match_cipher, security_compatible): remove
7475                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7476                         libnm-util instead
7477
7478 2007-10-23  Dan Williams  <dcbw@redhat.com>
7479
7480         * libnm-util/nm-utils.c
7481           libnm-util/nm-utils.h
7482                 - (nm_utils_ap_security_compatible): common function for checking
7483                         whether a specific AP is compatible with an NMConnection
7484
7485 2007-10-23  Dan Williams  <dcbw@redhat.com>
7486
7487         * libnm-util/nm-setting.c
7488                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7489                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7490                    need_secrets_password, setting_wireless_security_verify): fix
7491                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7492                         secrets logic for each supported EAP method
7493
7494 2007-10-23  Dan Williams  <dcbw@redhat.com>
7495
7496         * src/supplicant-manager/nm-supplicant-config.c
7497                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7498                         config option name, should be "private_key2_passwd"
7499
7500 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7501
7502         Implement support for static IP addresses, additional/overridden DNS and
7503         DNS domain search lists.
7504
7505         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7506         (ip4_addresses_to_gvalue): Implement.
7507         (convert_array_to_byte_array): Implement.
7508         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7509         NM_S_TYPE_IP4_ADDRESSES.
7510         (nm_setting_hash): Ditto.
7511         (default_setting_clear_secrets): Add a default case for the switch: IP address
7512         shouldn't be secret, ever.
7513         (setting_ip4_config_verify): Update, requires addresses in case of manual
7514         configurations.
7515         (setting_ip4_config_destroy): Free stuff.
7516
7517         * src/nm-device.c (merge_ip4_config): Implement.
7518         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7519
7520 2007-10-22  Dan Williams  <dcbw@redhat.com>
7521
7522         * libnm-util/nm-setting.c
7523                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7524                         pairwise cipher options for Dynamic WEP
7525
7526 2007-10-21  Dan Williams  <dcbw@redhat.com>
7527
7528         * src/NetworkManagerAP.c
7529           src/NetworkManagerAP.h
7530                 - Rename 'articifical' -> 'fake' since that's what they are until
7531                         noticed in scans
7532                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7533                         from the attributes in an NMConnection object
7534                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7535                         WPA Enterprise
7536                 - (nm_ap_match_in_list): find a matching AP in a scan list
7537
7538         * src/nm-device-802-11-wireless.c
7539                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7540                         AP when searching the scan list; match on frequency and mode too
7541                 - (nm_device_802_11_wireless_get_frequency): implement
7542                 - (merge_scanned_ap): replace duplicate matching logic with
7543                         nm_ap_match_in_list()
7544                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7545                         the user is trying to connect to a hidden network that is not yet
7546                         known from the scan list
7547                 - (activation_success_handler): now that the card knows the AP's BSSID,
7548                         there may already be a scanned AP in the scan list that is what
7549                         we really wanted to connect to, but didn't know at the time.  Use
7550                         that instead of the 'fake' AP created at activation start and get
7551                         rid of the 'fake' AP 
7552                 - (cull_scan_list): don't remove fake APs
7553
7554 2007-10-21  Dan Williams  <dcbw@redhat.com>
7555
7556         * src/nm-activation-request.h
7557           src/nm-activation-request.c
7558                 - (nm_act_request_set_specific_object): new function; allow setting the
7559                         specific object if one isn't set yet
7560
7561 2007-10-20  Dan Williams  <dcbw@redhat.com>
7562
7563         * src/supplicant-manager/nm-supplicant-config.h
7564           src/supplicant-manager/nm-supplicant-config.c
7565                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7566                         table to store blobs
7567                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7568                         blob hash table
7569                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7570                 - (nm_supplicant_config_add_setting_wireless_security): handle
7571                         options that use certificates (ie, blobs)
7572
7573         * src/nm-device-802-11-wireless.c
7574                 - (build_supplicant_config): pass a UID (just use the connection path)
7575                         to the supplicant config as now required
7576
7577         * src/supplicant-manager/nm-supplicant-interface.c
7578                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7579                         there are any blobs to send to wpa_supplicant, send those first
7580                         before sending the network configuration
7581
7582 2007-10-19  Dan Williams  <dcbw@redhat.com>
7583
7584         Split the GetSecrets() call off to a separate D-Bus interface so that it
7585         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7586         should be able to call GetSecrets().
7587
7588         * include/NetworkManager.h
7589                 - Define the connection secrets D-Bus interface
7590
7591         * src/vpn-manager/nm-vpn-connection.c
7592                 - (clear_need_auth): get the right proxy object for the connection
7593                         secrets interface
7594                 - (get_connection_secrets): use the connection secrets proxy; send
7595                         empty hints in get secrets request
7596
7597         * src/nm-activation-request.c
7598                 - (nm_act_request_request_connection_secrets): use the connection
7599                         secrets proxy; send empty hints in get secrets request
7600
7601         * src/nm-manager.c
7602           src/nm-manager.h
7603                 - (connection_get_settings_cb): set the connection secrets proxy on
7604                         the connection object too
7605                 - (internal_new_connection_cb): create the connection secrets proxy
7606
7607         * introspection/nm-settings-connection.xml
7608                 - Define Connection.Secrets interface and move GetSecrets there
7609                 - Add a 'hints' argument to GetSecrets
7610
7611         * libnm-glib/nm-settings.c
7612           libnm-glib/nm-settings.h
7613                 - (impl_connection_settings_get_secrets): add 'hints' argument
7614
7615 2007-10-19  Dan Williams  <dcbw@redhat.com>
7616
7617         * src/nm-device.c
7618                 - (constructor): add message about what path a device is exported as
7619                         to help in debugging rh #339011
7620
7621 2007-10-17  Dan Williams  <dcbw@redhat.com>
7622
7623         * libnm-util/nm-utils.h
7624           libnm-util/nm-utils.c
7625                 - (nm_utils_security_valid): common function to help find the intersection
7626                         of capabilities of devices and (optionally) access points
7627
7628 2007-10-17  Dan Williams  <dcbw@redhat.com>
7629
7630         * src/nm-device-802-11-wireless.c
7631                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7632                         don't get erroneously cleared
7633
7634 2007-10-17  Dan Williams  <dcbw@redhat.com>
7635
7636         * src/nm-manager.h
7637           src/nm-manager.c
7638           src/nm-hal-manager.c
7639                 - (device_removed, finalize, nm_manager_remove_device,
7640                    nm_manager_sleep): add a 'deactivate' argument to 
7641                    nm_manager_remove_device() to fully deactivate devices when necessary
7642                    (ie, always except when waking up)
7643
7644 2007-10-16  Dan Williams  <dcbw@redhat.com>
7645
7646         * libnm-util/nm-setting.c
7647                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7648                         also isn't valid phase2 autheap method
7649
7650 2007-10-16  Dan Williams  <dcbw@redhat.com>
7651
7652         * libnm-glib/nm-client.c
7653                 - (update_wireless_status): consolidate updates of wireless status
7654                 - (constructor): use update_wireless_status()
7655                 - (manager_running): set wireless status off when NM goes away; requery
7656                         the wireless status when NM comes back
7657
7658 2007-10-16  Dan Williams  <dcbw@redhat.com>
7659
7660         * libnm-glib/nm-client.c
7661                 - (nm_client_activate_device): actually use the fixed-up specific
7662                         object path
7663
7664 2007-10-16  Dan Williams  <dcbw@redhat.com>
7665
7666         * src/nm-hal-manager.c
7667                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7668                         killswitch error messages once
7669
7670 2007-10-16  Dan Williams  <dcbw@redhat.com>
7671
7672         * src/nm-manager.c
7673                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7674                         if it's disabled in hardware; don't touch network devices while
7675                         NM is asleep
7676
7677 2007-10-16  Dan Williams  <dcbw@redhat.com>
7678
7679         * libnm-util/nm-client.c
7680                 - (nm_client_activate_device): convert NULL specific_object to "/",
7681                         which is used in place of NULL
7682
7683         * src/nm-manager.c
7684                 - (impl_manager_activate_device): convert "/" specific_object back into
7685                         NULL
7686
7687 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7688
7689         Implement a generic NMSetting creator from setting name.
7690         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7691         add a virtual function 'populate_fn'.
7692
7693         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7694         (register_default_creators): Register setting creators instead of functions
7695         that create and then populate.
7696         (parse_one_setting): Use the common setting creator and then setting specific
7697         poplulation function.
7698
7699         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7700         they all looked exactly the same.
7701         Add a 'populate_fn' virtual function to NMSetting.
7702         Use default virtual functions in case they are not overriden.
7703         (nm_setting_populate_from_hash): Implement.
7704
7705         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7706         name, use a defined string.
7707         (real_act_stage4_get_ip4_config): Ditto.
7708
7709 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7710
7711         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7712         HAL is int, not uint.
7713
7714 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7715
7716         Implement killswitch polling through HAL.
7717
7718         * src/nm-manager.c: Add wireless hardware status property. Add 
7719         'properties-changed' signal for changes in wireless and wireless hardware
7720         state changes.
7721
7722         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7723         and update NMManager's wireless hardware state when it has changed.
7724         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7725         already does that.
7726
7727         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7728         values of wireless state and wireless hardware state. Listen for the
7729         'properties-changed' signals, update the cached values and emit notify.
7730
7731         * include/NetworkManager.h: Fix a typo in a comment.
7732
7733 2007-10-14  Dan Williams  <dcbw@redhat.com>
7734
7735         * libnm-util/nm-setting.c
7736                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7737
7738 2007-10-13  Dan Williams  <dcbw@redhat.com>
7739
7740         * libnm-util/nm-setting.h
7741           libnm-util/nm-setting.c
7742           src/supplicant-manager/nm-supplicant-config.c
7743                 - Make the 'proto' field of the 802-11-wireless-security field a
7744                         string list
7745
7746 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7747
7748         Rework the "properties-changed" signal listening implementation.
7749         Add a generic implementation to NMObject class that listens for
7750         the signal and calls property setters of the target NMObject.
7751
7752         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7753
7754         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7755         code to the end of file so that all the static functions are available
7756         without extra declarations.
7757         Remove the "properties-changed" signal handling and use the framework from
7758         NMObject.
7759         Implement property setters for properties that change with 
7760         "properties-changed" signal.
7761
7762         * libnm-glib/nm-access-point.c: Ditto.
7763
7764 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7765
7766         Rework the "properties-changed" signal implementation.
7767         In classes that need to use it, just emit "GObject::notify" and the new
7768         framework takes care of the rest to make the signal available on dbus.
7769         The framework queues the notifications and tries to send as many together
7770         in one signal as possible.
7771
7772         * src/nm-properties-changed-signal.c:
7773         * src/nm-properties-changed-signal.h: Implement.
7774
7775         * src/Makefile.am: Add new files to build.
7776
7777         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7778         signal.
7779
7780         * src/nm-device-802-11-wireless.c: Ditto.
7781
7782 2007-10-10  Dan Williams  <dcbw@redhat.com>
7783
7784         * src/nm-manager.c
7785                 - (wait_for_connection_expired): ensure info is valid
7786                 - (connection_added_default_handler): Should only remove pending
7787                         connection info when the manager has the connection that it's
7788                         waiting for.  Fixes segfault in wait_for_connection_info().  
7789
7790 2007-10-10  Dan Williams  <dcbw@redhat.com>
7791
7792         * libnm-util/nm-setting.c
7793           libnm-util/nm-setting.h
7794                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7795                         can use if they choose.  Should be filled in by the settings service
7796                         on-the-fly with the currently logged in user's username
7797
7798 2007-10-10  Dan Williams  <dcbw@redhat.com>
7799
7800         * src/nm-device-802-11-wireless.c
7801                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7802                         as such, because even if the manager fills in the SSID, NM still
7803                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7804                         its SSID
7805
7806 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7807
7808         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7809         code that used NM's own version of dbus signal handling and custom dictionary
7810         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7811         and we get to maintain over 2000 lines less code.
7812
7813         * libnm-util/dbus-dict-helpers.c:
7814         * libnm-util/dbus-dict-helpers.h: Remove.
7815
7816         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7817
7818         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7819
7820         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7821         handlers.
7822
7823         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7824
7825         * configure.in: Remove test/libnm-util/Makefile creation.
7826
7827         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7828
7829         * test/libnm-util/: Remove the whole directory.
7830
7831 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7832
7833         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7834         device_state_changed_idle_id variable or it would contain some random value and the
7835         schedule_change_check calls would not do anything.
7836
7837 2007-10-09  Dan Williams  <dcbw@redhat.com>
7838
7839         * src/nm-device-802-11-wireless.c
7840                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7841                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7842                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7843                         merging of non-SSID-broadcasting APs
7844
7845 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7846
7847         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7848         "guint8 *" since it's usually used with GByteArray->data.
7849         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7850
7851 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7852
7853         * src/NetworkManagerUtils.c
7854         (nm_utils_is_empty_ssid):
7855         (nm_utils_escape_ssid):
7856         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7857         lot of places, so they belong to libnm-utils instead.
7858
7859         Now with 100% less compiler warnings:
7860
7861         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7862         (nm_dbus_unescape_object_path): Ditto.
7863         (nm_utils_ssid_to_utf8): Ditto.
7864         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7865         (nm_utils_escape_ssid): Ditto.
7866         (nm_utils_same_ssid): Ditto.
7867
7868         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7869         (add_one_connection_element): Remove an unused variable.
7870         (impl_manager_get_active_connections): Ditto.
7871
7872         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7873         variable.
7874
7875         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7876         from the previous commit.
7877
7878         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7879         (real_act_stage1_prepare): Ditto.
7880         (activation_success_handler): Ditto.
7881         (get_property): Ditto.
7882
7883         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7884         variable.
7885
7886         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7887         it's always set.
7888
7889         * src/supplicant-manager/nm-supplicant-config.c 
7890         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7891         to expected "char *".
7892         (nm_supplicant_config_add_setting_wireless): Ditto.
7893         (nm_supplicant_config_remove_option): Remove, not used.
7894
7895         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7896         not double.
7897         (test_wireless_enabled): Ifdef out unused function.
7898         (device_deactivate): Ditto.
7899         (device_state_changed): Ditto.
7900         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7901         (nm_utils_escape_ssid): Ditto.
7902
7903         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7904         (nm_utils_is_empty_ssid): Ditto.
7905
7906         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7907         unused variable.
7908
7909         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7910         (setting_vpn_properties_update_secrets): Ditto.
7911         (int_to_gvalue): Ifdef out for now, not used.
7912         (byte_to_gvalue): Ditto.
7913
7914         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7915         Unused, remove.
7916
7917 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7918
7919         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7920         about dbus manager, not named manager.
7921         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7922
7923         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7924         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7925         However, the same signal is emitted when we destroy it and there's 
7926         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7927
7928         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7929         releasing the DBusGConnection, since proxy needs a conneciton.
7930         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7931
7932 2007-10-08  Dan Williams  <dcbw@redhat.com>
7933
7934         * src/NetworkManager.c
7935                 - (main): error on unknown command-line options
7936
7937 2007-10-08  Dan Williams  <dcbw@redhat.com>
7938
7939         Reimplement the invalid connection list.  Don't try to re-activate a
7940         connection that just failed or was canceled.
7941
7942         * src/nm-device.c
7943                 - (connection_secrets_failed_cb): fail device activation, don't just
7944                         deactivate the device.  Listeners have to know about the failure.
7945
7946         * src/NetworkManagerPolicy.c
7947                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7948                         the connection list given to a device's get_best_connection()
7949                         method
7950                 - (device_state_changed): tag failed connections as invalid; clear the
7951                         tag from successful connections
7952
7953 2007-10-08  Dan Williams  <dcbw@redhat.com>
7954
7955         Fix problems with interrupted activation.  Previously, choosing an AP
7956         from the menu, then choosing another one before the first connection was
7957         successful wouldn't deactivate the device before starting the new connection
7958         on that same device.
7959
7960         * src/NetworkManagerPolicy.c
7961                 - (deactivate_old_device, device_state_changed, state_changed,
7962                    nm_policy_new): wrong place to deactivate old devices
7963
7964         * src/nm-manager.c
7965                 - (pending_connection_info_destroy, finalize,
7966                    wait_for_connection_expired): decouple destruction of the pending
7967                         connection info from the manager device
7968                 - (connection_added_default_handler): deactivate any active or
7969                         activating device before starting a new activation
7970                 - (impl_manager_activate_device): deactivate any active or activating
7971                         device before starting a new activation; be sure not to leak
7972                         pending connection info if a new activation request arrives but
7973                         there's already a pending one in-process
7974
7975 2007-10-08  Dan Williams  <dcbw@redhat.com>
7976
7977         * src/NetworkManagerAP.h
7978           src/NetworkManagerAP.c
7979                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7980                         should handle default SSIDs and whether or not to autoconnect
7981                         to them
7982
7983 2007-10-08  Dan Williams  <dcbw@redhat.com>
7984
7985         * src/NetworkManagerPolicy.c
7986                 - (nm_policy_device_change_check): print out connection name where
7987                         possible
7988
7989 2007-10-08  Dan Williams  <dcbw@redhat.com>
7990
7991         * src/nm-device-802-11-wireless.c
7992           src/nm-device-802-11-wireless.h
7993                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7994                         'hidden-ap-found' signal (for internal use only) that allows the
7995                         NMManager to fill in the AP's SSID if a connection has that AP's
7996                         BSSID in its seen-bssids list
7997
7998         * src/nm-manager.c
7999                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8000                         wireless device's hidden-ap-found signal and fill in the APs SSID
8001                         if possible
8002
8003 2007-10-07  Dan Williams  <dcbw@redhat.com>
8004
8005         * src/nm-manager.c
8006           src/nm-manager.h
8007                 - Add a 'connections-added' signal to batch together updates of large
8008                         numbers of connections, like when reading from a settings service
8009                         the first time.  Otherwise, the policy would just activate the first
8010                         suitable connection it saw rather than waiting for the full list
8011                         to arrive.
8012                 - (nm_manager_class_init): register new signal
8013                 - (get_type_for_proxy, connection_get_settings_cb,
8014                    get_connection_for_proxy): centralize places where a proxy's setting
8015                         service is determined
8016                 - (free_get_settings_info): if the call being freed is the last call
8017                         in a pending call group, fire off the connections-added signal
8018                 - (internal_new_connection_cb): add call to a pending call group if
8019                         requested
8020                 - (list_connections_cb): always create a call group here, because this
8021                         call results in a batch of new connections
8022                 - (initial_get_connections): start getting system connections first
8023                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8024                         removed signal when destroying connections
8025
8026         * src/NetworkManagerPolicy.c
8027                 - (nm_policy_new, connections_added): handle connections-added signal
8028                         from the manager
8029
8030 2007-10-06  Dan Williams  <dcbw@redhat.com>
8031
8032         * src/nm-device-802-11-wireless.c
8033                 - (constructor): fix leaked socket
8034
8035 2007-10-06  Dan Williams  <dcbw@redhat.com>
8036
8037         * src/NetworkManagerPolicy.c
8038                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8039                         connection in the list returned by nm_manager_get_connections() is
8040                         reffed, but they weren't getting unreffed before returning
8041
8042 2007-10-06  Dan Williams  <dcbw@redhat.com>
8043
8044         * src/nm-manager.c
8045                 - (connections_to_slist): sort connections first on autoconnect, then
8046                         on timestamp
8047
8048 2007-10-06  Dan Williams  <dcbw@redhat.com>
8049
8050         * libnm-util/nm-connection.c
8051                 - (gvalue_to_string): handle UINT64
8052
8053 2007-10-06  Dan Williams  <dcbw@redhat.com>
8054
8055         * src/NetworkManagerPolicy.c
8056                 - (connection_updated, nm_policy_new): recheck state when a connection
8057                         gets updated
8058
8059 2007-10-06  Dan Williams  <dcbw@redhat.com>
8060
8061         * src/nm-manager.c
8062           src/nm-manager.h
8063                 - (nm_manager_get_connection_dbus_path): make static
8064                 - (nm_manager_update_connections): remove; unused
8065                 - Add a connection-updated signal
8066                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8067                         handle connection object updates
8068
8069 2007-10-06  Dan Williams  <dcbw@redhat.com>
8070
8071         * src/NetworkManagerPolicy.c
8072                 - (connection_removed): deactivate removed connections
8073
8074 2007-10-06  Dan Williams  <dcbw@redhat.com>
8075
8076         * libnm-util/nm-connection.c
8077           libnm-util/nm-connection.h
8078                 - (nm_connection_replace_settings): new function
8079
8080 2007-10-06  Dan Williams  <dcbw@redhat.com>
8081
8082         * libnm-glib/nm-device-802-11-wireless.c
8083                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8084                         on error when getting the active access point over D-Bus from NM
8085
8086 2007-10-05  Dan Williams  <dcbw@redhat.com>
8087
8088         * libnm-util/nm-setting.c
8089                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8090                         to the NMSettingWireless table; it's now a string array not an array
8091                         of byte arrays
8092
8093 2007-10-05  Dan Williams  <dcbw@redhat.com>
8094
8095         * libnm-glib/nm-device-802-11-wireless.c
8096                 - Cache properties and update cached properties on D-Bus signals from NM
8097
8098 2007-10-05  Dan Williams  <dcbw@redhat.com>
8099
8100         * src/nm-device-802-11-wireless.c
8101                 - (set_current_ap): consolidate current_ap handling code into one place
8102                         to ensure that PropertiesChanged signals are emitted in all cases
8103                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8104                    nm_device_802_11_wireless_dispose): use set_current_ap()
8105
8106 2007-10-05  Dan Williams  <dcbw@redhat.com>
8107
8108         * libnm-glib/nm-access-point.c
8109           libnm-glib/nm-access-point.h
8110                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8111                         because the value is cached internally now.  Callers should not
8112                         free the internal value.
8113                 - Make signal name defines private
8114
8115         * test/nm-tool.c
8116           libnm-glib/libnm-glib-test.c
8117                 - Don't free value returned from nm_access_point_get_hw_address()
8118
8119 2007-10-04  Dan Williams  <dcbw@redhat.com>
8120
8121         * introspection/nm-device-802-11-wireless.xml
8122           src/nm-device-802-11-wireless.h
8123           src/nm-device-802-11-wireless.c
8124                 - Add a PropertiesChanged signal for wireless device
8125                 - Store currently associated access point
8126                 - (periodic_update): generalize; update rate here too and emit the
8127                         correct PropertiesChanged signal when stuff changes
8128                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8129                    real_activation_cancel_handler): clear current_ap when device is
8130                         deactivated
8131                 - (link_to_specific_ap, get_ap_blacklisted,
8132                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8133                         code
8134                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8135                         outside this file
8136                 - (real_set_hw_address): emit property changed signal if the card's
8137                         MAC address changes
8138                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8139                         the card is supposed to be connecting to
8140                 - (activation_success_handler): send out property updates on successful
8141                         activation
8142                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8143                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8144                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8145                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8146                         is now boxed; add PropertiesChanged signal
8147
8148 2007-10-04  Dan Williams  <dcbw@redhat.com>
8149
8150         * libnm-util/nm-connection.c
8151           libnm-util/nm-connection.h
8152                 - (nm_connection_verify): new function
8153
8154 2007-10-04  Dan Williams  <dcbw@redhat.com>
8155
8156         * libnm-util/nm-setting.c
8157                 - (nm_settings_verify): use #defines when possible rather than strings
8158                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8159                 - (setting_vpn_verify): tighter validity check on 'service_type'
8160
8161 2007-10-04  Dan Williams  <dcbw@redhat.com>
8162
8163         * libnm-glib/nm-settings.c
8164                 - (nm_connection_settings_class_init): provide correct type for argument
8165                         to the Updated signal so that dbus-glib knows how to marshal it
8166
8167 2007-10-03  Dan Williams  <dcbw@redhat.com>
8168
8169         * src/nm-device-802-3-ethernet.c
8170                 - (real_get_best_connection): don't create automatic connections
8171                         internally; clients should provide a setting that applies to
8172                         the device with 'autoconnect: True'.  Problem was that these
8173                         internally auto-created connections don't have a proxy or service
8174                         name becuase they weren't created by a settings daemon, and therefore
8175                         clients have no idea what to do with them.
8176
8177 2007-10-03  Dan Williams  <dcbw@redhat.com>
8178
8179         * src/nm-device-802-11-wireless.c
8180           src/nm-device-802-11-wireless.h
8181           introspection/nm-device-802-11-wireless.xml
8182                 - GetActiveNetworks -> GetAccessPoints
8183                 - ActiveNetwork -> ActiveAccessPoint
8184                 - NetworkAdded -> AccessPointAdded
8185                 - NetowrkRemoved -> AccessPointRemoved
8186
8187         * libnm-glib/nm-device-802-11-wireless.c
8188           libnm-glib/nm-device-802-11-wireless.h
8189                 - network-added signal -> access-point-added
8190                 - network-removed signal -> access-point-removed
8191                 - nm_device_802_11_wireless_get_active_network() ->
8192                         nm_device_802_11_wireless_get_active_access_point()
8193                 - nm_device_802_11_wireless_get_network_by_path() ->
8194                         nm_device_802_11_wireless_get_access_point_by_path()
8195                 - nm_device_802_11_wireless_get_networks() ->
8196                         nm_device_802_11_wireless_get_access_points()
8197
8198         * libnm-glib/libnm-glib-test.c
8199           test/nm-tool.c
8200           src/NetworkManagerPolicy.c
8201                 - Fixups for Network -> AccessPoint
8202
8203 2007-10-03  Dan Williams  <dcbw@redhat.com>
8204
8205         Add a GetActiveConnections() method on the Manager object.
8206
8207         * src/nm-manager.c
8208           src/nm-manager.h
8209           introspection/nm-manager.xml
8210                 - (connection_get_settings_cb): keep connection type around too
8211                 - (impl_manager_get_active_connections, add_one_connection_element):
8212                         implement; returns all active connections and what devices they
8213                         apply to
8214
8215         * libnm-glib/nm-client.c
8216           libnm-glib/nm-client.h
8217           introspection/nm-manager-client.xml
8218                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8219                         by the caller; free here to avoid memory leak
8220                 - (nm_client_get_active_connections): implement; return the list of
8221                         active connections
8222                 - (nm_client_free_active_connection_element): implement; free an element
8223                         of the GSList returned by nm_client_get_active_connections()
8224
8225 2007-10-03  Dan Williams  <dcbw@redhat.com>
8226
8227         * src/nm-device-802-11-wireless.c
8228                 - (nm_device_802_11_wireless_update_bssid): remove
8229                 - (get_active_ap): new function; find the AP in the scan list which
8230                         matches the current BSSID and SSID of the wireless device
8231                 - (nm_device_802_11_periodic_update): get current AP using
8232                         get_active_ap() and print AP roam messages
8233
8234 2007-10-01  Dan Williams  <dcbw@redhat.com>
8235
8236         * libnm-util/nm-setting.h
8237                 - Add a 'timestamp' option to NMSettingConnection
8238                 - Add a UINT64 type
8239
8240         * libnm-util/nm-setting.c
8241                 - (uint64_to_gvalue): new function
8242                 - (nm_setting_populate_from_hash, nm_setting_hash,
8243                    default_setting_clear_secrets): handle UINT64 type
8244                 - con_table: add 'timestamp' member
8245
8246 2007-10-01  Dan Williams  <dcbw@redhat.com>
8247
8248         * src/nm-manager.c
8249                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8250                         value when the connection can be activated immediately
8251
8252 2007-10-01  Dan Williams  <dcbw@redhat.com>
8253
8254         * libnm-glib/nm-device.c
8255                 - (nm_device_class_init): actually tell glib about the carrier-changed
8256                         signal
8257
8258 2007-10-01  Dan Williams  <dcbw@redhat.com>
8259
8260         * configure.in
8261           src/marshallers/Makefile.am
8262           src/marshallers/nm-marshal.list
8263           src/marshallers/nm-marshal-main.c
8264                 - Consolidate glib marshallers into one place
8265
8266         * src/dhcp-manager/Makefile.am
8267           src/dhcp-manager/nm-dhcp-manager.c
8268           src/supplicant-manager/Makefile.am
8269           src/supplicant-manager/nm-supplicant-manager.c
8270           src/supplicant-manager/nm-supplicant-interface.c
8271           src/ppp-manager/Makefile.am
8272           src/ppp-manager/nm-ppp-manager.c
8273           src/vpn-manager/Makefile.am
8274           src/vpn-manager/nm-vpn-connection.c
8275           src/Makefile.am
8276                 - Use consolidated marshallers
8277
8278         * src/dhcp-manager/nm-dhcp-marshal.list
8279           src/dhcp-manager/nm-dhcp-marshal-main.c
8280           src/supplicant-manager/nm-supplicant-marshal-main.c
8281           src/supplicant-manager/nm-supplicant-marshal.list
8282           src/nm-marshal-main.c
8283           src/nm-marshal.list
8284           src/ppp-manager/nm-ppp-marshal-main.c
8285           src/ppp-manager/nm-ppp-marshal.list
8286           src/vpn-manager/nm-vpn-marshal-main.c
8287           src/vpn-manager/nm-vpn-marshal.list
8288                 - Remove
8289
8290 2007-10-01  Dan Williams  <dcbw@redhat.com>
8291
8292         * include/NetworkManagerVPN.h
8293                 - define VPN connection state change reason codes
8294
8295         * src/vpn-manager/Makefile.am
8296           src/vpn-manager/nm-vpn-marshal.list
8297           src/vpn-manager/nm-vpn-marshal-main.c
8298                 - Add marshallers for StateChanged signal
8299
8300         * introspection/nm-vpn-connection.xml
8301                 - New Banner property
8302                 - StateChanged signal now includes a 'reason' argument
8303
8304         * src/vpn-manager/nm-vpn-connection.c
8305           src/vpn-manager/nm-vpn-connection.h
8306                 - Add a "Banner" property that contains the returned VPN server login
8307                         banner (if any); valid only in the ACTIVATED state
8308                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8309                         a 'reason' argument and emits that reason along with the
8310                         state-changed signal
8311                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8312                 - (nm_vpn_connection_ip4_config_get): save banner for later
8313                 - (nm_vpn_connection_get_banner, get_property,
8314                    nm_vpn_connection_class_init): implement Banner property
8315
8316         * src/vpn-manager/nm-vpn-service.c
8317                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8318                         connection list because elements may get added/removed from it
8319                         while iterating over the list
8320                 - (connection_state_changed): signal now includes the 'reason' argument
8321
8322         * libnm-glib/nm-vpn-connection.c
8323           libnm-glib/nm-vpn-connection.h
8324                 - (nm_vpn_connection_get_banner): new function
8325                 - (state_changed_proxy): handle reason argument
8326
8327 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8328
8329         * src/nm-manager.c:
8330         * src/nm-manager.h:
8331         Implement device activation through NMManager.
8332         Implement "pending device activation" here - If the connection isn't found,
8333         we try to wait for up to 5 seconds for the connection to be provided.
8334         Add NMConnectionType argument to "connection-added" and "connection-removed"
8335         signals.
8336         (nm_manager_get): Remove. Finally.
8337
8338         * src/nm-activation-request.c: 
8339         * src/nm-activation-request.h: 
8340         Remove all the deferred activation code.
8341
8342         * src/nm-device.c: Remove all the deferred activation code. Once the device
8343         activation is started, it's started. Update the activation virtual function
8344         signature.
8345
8346         * src/nm-device-interface.c:
8347         * src/nm-device-interface.h:
8348         Device activation now takes only NMActRequest argument.
8349         Don't expose device activation directly on dbus, it's supposed to go through
8350         NMManager now.
8351
8352         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8353         a bit more compact.
8354         Use the new device activation methods through NMManager.
8355
8356         * introspection/nm-manager-client.xml: 
8357         * introspection/nm-manager.xml: 
8358         * libnm-glib/nm-client.c:
8359         * libnm-glib/nm-client.h:
8360         Add device activation method.
8361         
8362         * libnm-glib/nm-device.c: 
8363         * libnm-glib/nm-device.h: 
8364         * introspection/nm-device.xml: 
8365         Remove device activation method. It's done through NMManager now.
8366
8367         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8368         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8369
8370 2007-09-28  Dan Williams  <dcbw@redhat.com>
8371
8372         * libnm-glib/nm-vpn-connection.c
8373                 - (nm_vpn_connection_get_state): try to update state if the current
8374                         state is UNKNOWN
8375
8376 2007-09-27  Dan Williams  <dcbw@redhat.com>
8377
8378         Patch from Bill Nottingham
8379
8380         * src/supplicant-manager/nm-supplicant-config.c
8381                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8382                         data to the supplicant
8383
8384 2007-09-27  Dan Williams  <dcbw@redhat.com>
8385
8386         * src/NetworkManagerSystem.c
8387                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8388                         and all address manipulation here should be happening on the
8389                         _VPN_ device, not the active device
8390
8391 2007-09-26  Dan Williams  <dcbw@redhat.com>
8392
8393         * src/nm-manager.c
8394           src/nm-manager.h
8395           src/nm-activation-request.c
8396           src/nm-activation-request.h
8397                 - Move the GetSecrets stuff out of the NMManager instance because it
8398                         doesn't really need to be there and complicates things
8399
8400         * src/nm-device.c
8401                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8402                         connection-secrets-failed signal and deactivate the device if
8403                         the GetSecrets call fails
8404
8405         * src/nm-device-802-11-wireless.c
8406                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8407                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8408                         secrets and give correct hints about whether new secrets should be
8409                         asked for by the client or not
8410
8411 2007-09-26  Dan Williams  <dcbw@redhat.com>
8412
8413         * src/vpn-manager/nm-vpn-connection.c
8414                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8415                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8416                         to the secrets-updated signal of the NMConnection since updating
8417                         the secrets is done within the scope of the NMVPNConnection object
8418                         already
8419                 - (get_connection_secrets): fix an uninialized variable usage error
8420
8421 2007-09-26  Dan Williams  <dcbw@redhat.com>
8422
8423         * libnm-util/nm-setting.c
8424                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8425                         actually get updated when the user enters them
8426
8427 2007-09-26  Dan Williams  <dcbw@redhat.com>
8428
8429         * libnm-glib/nm-vpn-plugin.c
8430                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8431
8432 2007-09-26  Dan Williams  <dcbw@redhat.com>
8433
8434         * include/NetworkManagerVPN.h
8435                 - Add a NEED_AUTH state
8436
8437         * src/vpn-manager/nm-vpn-connection.c
8438                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8439                         the connection needs secrets, and if so, then ask the settings
8440                         service to fill in the secrets.  Then start the connection.
8441
8442 2007-09-26  Dan Williams  <dcbw@redhat.com>
8443
8444         * src/vpn-manager/nm-vpn-manager.c
8445                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8446
8447 2007-09-26  Dan Williams  <dcbw@redhat.com>
8448
8449         * introspection/nm-vpn-plugin.xml
8450           libnm-glib/nm-vpn-plugin.c
8451           libnm-glib/nm-vpn-plugin.h
8452                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8453                         the name of the NMSetting in an NMConnection that may require
8454                         secrets specific to that VPN plugin
8455
8456 2007-09-26  Dan Williams  <dcbw@redhat.com>
8457
8458         * src/nm-manager.c
8459           src/nm-manager.h
8460                 - (nm_manager_get_connection_secrets): make static, unused outside
8461                         the file
8462                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8463
8464 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8465
8466         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8467         method.
8468         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8469         unreference the connection.
8470
8471         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8472         passing properties hash and routes string list, pass NMConnection (in hashed form).
8473
8474         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8475         as GSList, no need to copy stuff around anymore.
8476         (nm_vpn_connection_activate): Update the plugin activation method.
8477
8478         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8479         routes argument to GSList.
8480
8481 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8482
8483         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8484         state and try to get the secrets.
8485
8486         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8487         connections from NMManager and let the device to choose the best from the list.
8488         Since the connection list is sorted by system ones first and user ones later,
8489         the devices still prefer system connections like they did before.
8490         (deactivate_old_device): Implement. When a device starts activation, we have a
8491         policy (for now at least) to deactivate any other device that might be either
8492         active or still activating.
8493
8494         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8495         It's set on construction, there will be no other way to access it.
8496
8497         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8498         device events and drive the device, not the other way around.
8499
8500         * src/nm-device-802-3-ethernet.c: Ditto.
8501
8502         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8503         sent along, pass it on to virtual functions.
8504
8505         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8506         for now, but should really be public instead of nm_device_get_iface() since iface
8507         is a property of the DeviceInterface, not Device.
8508         (impl_device_activate): Don't touch NMManager!
8509
8510 2007-09-26  Jürg Billeter  <j@bitron.ch>
8511
8512         * initscript/paldo/NetworkManager.in:
8513         * initscript/paldo/NetworkManagerDispatcher.in:
8514         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8515         (nm_system_flush_loopback_routes): update paldo backend
8516
8517 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8518
8519         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8520         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8521         which means none of the devices get brought down properly, which in turn leaves
8522         DHCP client running.
8523
8524         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8525         (supplicant_connection_timeout_cb): Ditto.
8526
8527 2007-09-25  Dan Williams  <dcbw@redhat.com>
8528
8529         * src/nm-device.c
8530                 - (device_activation_go): small hack to work around race when
8531                         activating deferred connections; should solve this in a better way
8532
8533 2007-09-25  Dan Williams  <dcbw@redhat.com>
8534
8535         * introspection/nm-device.xml
8536           libnm-glib/nm-device.c
8537           libnm-glib/nm-device.h
8538                 - Add 'Carrier' property to exported NMDevice objects
8539
8540         * src/nm-device-interface.h
8541           src/nm-device-interface.c
8542           src/nm-device.c
8543                 - Add a 'carrier' property to internal NMDevice objects
8544
8545 2007-09-25  Dan Williams  <dcbw@redhat.com>
8546
8547         * src/nm-device-802-11-wireless.c
8548                 - (ap_auth_enforced): also return the encryption status of the AP so
8549                         that callers can differentiate easily between unencrypted APs
8550                         and encrypted ones, in addition to whether the AP has an
8551                         authenticator
8552                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8553                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8554                         previously would request secrets from unencrypted APs at times
8555
8556 2007-09-25  Dan Williams  <dcbw@redhat.com>
8557
8558         * src/nm-manager.c
8559                 - (nm_manager_update_state): new function; updates state and emits
8560                         appropriate signals ensuring a state-change signal for the same state
8561                         never gets emitted twice in a row.
8562                 - (manager_device_state_changed): handle more device state to get a
8563                         better picture of the overall NM state
8564
8565 2007-09-25  Dan Williams  <dcbw@redhat.com>
8566
8567         * libnm-glib/nm-settings.c
8568           libnm-glib/nm-settings.h
8569                 - (new_error -> nm_settings_new_error): make public so that subclasses
8570                         can use the same error domain.  Also pass a valid error code to
8571                         g_error_new_literal() so that libdbus doesn't assert when converting
8572                         the GError into a DBusError
8573                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8574                    impl_connection_settings_get_settings,
8575                    impl_connection_settings_get_secrets): use new error creator
8576                         function
8577
8578 2007-09-25  Dan Williams  <dcbw@redhat.com>
8579
8580         * src/NetworkManager.c
8581                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8582
8583 2007-09-25  Dan Williams  <dcbw@redhat.com>
8584
8585         * src/supplicant-manager/nm-supplicant-manager.c
8586                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8587                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8588                    nm_supplicant_manager_startup): when the supplicant isn't running,
8589                         try to start it periodically via system bus activation.  Fixes
8590                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8591                         for the supplicant to come back
8592
8593 2007-09-25  Dan Williams  <dcbw@redhat.com>
8594
8595         Ensure that old activation requests are forgotten about; previously
8596         hitting Cancel in the password dialog would deactivate whatever device
8597         that password was requested for, even if that wasn't the currently
8598         activating connection.
8599
8600         * src/nm-manager.c
8601           src/nm-manager.h
8602                 - (nm_manager_get_connection_secrets): track the pending call
8603                         object so it can be canceled later if needed
8604                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8605                         GetSecrets call for a particular connection
8606
8607         * src/nm-activation-request.c
8608                 - (dispose): cancel any outstanding GetSecrets calls on the
8609                         connection
8610
8611 2007-09-25  Dan Williams  <dcbw@redhat.com>
8612
8613         * src/NetworkManagerPolicy.c
8614                 - (nm_policy_device_change_check): handle devices that have a
8615                         deferred activation.  These devices are not really active _yet_,
8616                         but need to be treated as such here.  Don't interrupt them
8617                         automatically.
8618
8619         * src/nm-device-interface.c
8620                 - (impl_device_activate): handle devices that have a deferred activation
8621                         like activating or active devices.  When multiple active devices
8622                         get committed, the device shouldn't be deactivated until the
8623                         connection details are available to avoid DoS and such.  Currently,
8624                         any active, activating, or deferred activation device is deactivated
8625                         here before starting the new activation request.
8626
8627 2007-09-25  Dan Williams  <dcbw@redhat.com>
8628
8629         Properly re-query secrets from the settings daemon when stuff fails.
8630
8631         * src/nm-device-802-11-wireless.c
8632                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8633                         between Shared Key and Open System auth modes
8634                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8635                    real_act_stage4_ip_config_timeout): clear existing secrets and
8636                         request new ones when something fails due to a suspected wrong key
8637                 - (real_act_stage2_config): fix for new request_new argument to
8638                         nm_manager_get_connection_secrets()
8639
8640         * src/nm-manager.c
8641           src/nm-manager.h
8642                 - (nm_manager_get_connection_secrets): return error status; pass
8643                         new request_new argument on to the settings daemon
8644
8645         * introspection/nm-settings-connection.xml
8646                 - New 'request_new' argument to the GetSecrets call that hints to the
8647                         settings daemon to ask the user for completely new secrets
8648
8649         * libnm-glib/nm-settings.c
8650           libnm-glib/nm-settings.h
8651                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8652                         argument
8653
8654 2007-09-25  Dan Williams  <dcbw@redhat.com>
8655
8656         * libnm-util/nm-connection.c
8657           libnm-util/nm-connection.h
8658                 - (nm_connection_clear_secrets): new function; clear secrets out of
8659                         each NMSetting in an NMConnection
8660
8661         * libnm-util/nm-setting.h
8662           libnm-util/nm-setting.c
8663                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8664                         secrets out of an NMSetting
8665                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8666                    nm_setting_wired_new, nm_setting_wireless_new,
8667                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8668                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8669                         to default handler default_setting_clear_secrets()
8670
8671 2007-09-25  Dan Williams  <dcbw@redhat.com>
8672
8673         * src/nm-activation-request.c
8674           src/nm-activation-request.h
8675                 - (nm_act_request_is_deferred): new function
8676
8677 2007-09-24  Dan Williams  <dcbw@redhat.com>
8678
8679         * src/nm-device-802-11-wireless.c
8680                 - (activation_success_handler): update signal strength immediately
8681                         after activation
8682
8683 2007-09-24  Dan Williams  <dcbw@redhat.com>
8684
8685         * libnm-util/nm-setting.c
8686                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8687
8688 2007-09-24  Dan Williams  <dcbw@redhat.com>
8689
8690         * src/NetworkManagerPolicy.c
8691                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8692                         device by deactivating it because it doesn't have a "best connection".
8693                         Since autoconnect=False connections aren't automatically chosen,
8694                         NM would interrupt activation of such a connection because it
8695                         would never be "best" due to autoconnect=False.
8696
8697 2007-09-24  Dan Williams  <dcbw@redhat.com>
8698
8699         * src/nm-manager.c
8700                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8701                         actually has some time to enter a key before the GetSecrets call
8702                         times out
8703
8704 2007-09-24  Dan Williams  <dcbw@redhat.com>
8705
8706         * introspection/nm-manager.xml
8707           src/nm-manager.c
8708                 - (impl_manager_legacy_state): fix 'state' method call return value
8709
8710 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8711
8712         * test/Makefile.am: Install nm-tool
8713
8714 2007-09-24  Dan Williams  <dcbw@redhat.com>
8715
8716         Patch from Ross Burton <ross@burtonini.com>
8717
8718         * test/nm-tool.c
8719           callouts/nm-dhcp-client-action.c
8720           src/nm-netlink.c
8721           src/vpn-manager/nm-vpn-connection.c
8722           libnm-glib/libnm-glib-test.c
8723                 - warning fixes
8724
8725 2007-09-24  Dan Williams  <dcbw@redhat.com>
8726
8727         * libnm-util/nm-utils.h
8728           libnm-util/nm-utils.c
8729                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8730                         remove, unused
8731
8732 2007-09-23  Dan Williams  <dcbw@redhat.com>
8733
8734         * vpn-daemons/vpnc/properties/nm-vpnc.c
8735                 - Update for new VPN properties API bits; instead of passing around
8736                         a lot of random things, everything goes into the NMConnection
8737                         object.
8738
8739 2007-09-23  Dan Williams  <dcbw@redhat.com>
8740
8741         * libnm-util/nm-setting.c
8742                 - Correctly dispose of settings objects if creating them from a hash
8743                         table fails
8744
8745 2007-09-23  Dan Williams  <dcbw@redhat.com>
8746
8747         * libnm-util/nm-setting.c
8748                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8749                         the hash table in a standard manner.  Clients of libnm-util should
8750                         only call g_hash_table_remove_all(), never destroy the hash table
8751                         and recreate it.
8752
8753 2007-09-22  Dan Williams  <dcbw@redhat.com>
8754
8755         * src/nm-device-802-11-wireless.c
8756                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8757                         real reason to do it so often, and reduces wakeups for clients.
8758
8759 2007-09-21  Dan Williams  <dcbw@redhat.com>
8760
8761         * src/nm-device-802-11-wireless.c
8762                 - (build_supplicant_config): wpa_supplicant requires the option
8763                         key_mgmt=NONE for unencrypted networks
8764                 - (real_act_stage2_config): clarify log message on activation
8765
8766 2007-09-21  Dan Williams  <dcbw@redhat.com>
8767
8768         * test/nm-supplicant-test.c
8769           test/Makefile.am
8770                 - Remove supplicant test binary; no longer applicable
8771
8772 2007-09-21  Dan Williams  <dcbw@redhat.com>
8773
8774         * src/supplicant-manager/nm-supplicant-manager.c
8775                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8776                         activate it on the system bus
8777
8778 2007-09-20  Dan Williams  <dcbw@redhat.com>
8779
8780         * initscript/RedHat/NetworkManager.in
8781                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8782
8783 2007-09-20  Dan Williams  <dcbw@redhat.com>
8784
8785         * src/nm-device.c
8786                 - (nm_device_is_activating): work around a race between auto-activation
8787                         and the user activating the same device that is being auto-activated
8788
8789 2007-09-20  Dan Williams  <dcbw@redhat.com>
8790
8791         * src/nm-device-interface.c
8792                 - (impl_device_activate): until multiple active device support lands,
8793                         ensure only one device can be active at a time
8794
8795 2007-09-20  Dan Williams  <dcbw@redhat.com>
8796
8797         * src/supplicant-manager/nm-supplicant-config.c
8798           src/supplicant-manager/nm-supplicant-config.h
8799                 - (nm_supplicant_config_add_option): hide secrets from system logs
8800
8801 2007-09-20  Dan Williams  <dcbw@redhat.com>
8802
8803         * src/NetworkManagerPolicy.c
8804                 - (nm_policy_device_change_check): re-enable the wireless device change
8805                         checking code; insted of checking for SSIDs, check for the same
8806                         connection instead
8807
8808 2007-09-20  Dan Williams  <dcbw@redhat.com>
8809
8810         * src/nm-device-802-11-wireless.c
8811                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8812                         composite link state when determining when to start the disconnection
8813                         timer; that link state is already based on the supplicant interface's
8814                         status which is exactly what's already being examined, plus the link
8815                         state is a conglomeration of various things that we don't want here
8816
8817 2007-09-20  Dan Williams  <dcbw@redhat.com>
8818
8819         * libnm-glib/nm-access-point.c
8820                 - (handle_property_changed): strength is a UCHAR
8821
8822 2007-09-20  Dan Williams  <dcbw@redhat.com>
8823
8824         * src/supplicant-manager/nm-supplicant-config.c
8825                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8826                         string list keywords too since that's what wpa_supplicant wants
8827
8828 2007-09-20  Dan Williams  <dcbw@redhat.com>
8829
8830         * libnm-util/nm-setting.c
8831                 - (convert_strv_to_slist): dupe the values in the list because since
8832                         the list is a boxed value, it'll get destroyed when it's container
8833                         (like a hash table or whatever) gets destroyed
8834
8835 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8836
8837         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8838         GSList.
8839
8840         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8841
8842         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8843         just use (g_object_set_data_full).
8844
8845         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8846         that NMSettingVPN->routes is a GSList, convert it to char **.
8847         (nm_vpn_connection_ip4_config_get): Free routes when done.
8848         (nm_vpn_connection_activate): Ditto.
8849
8850         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8851         (real_act_stage2_config): Use defined setting names.
8852
8853 2007-09-20  Dan Williams  <dcbw@redhat.com>
8854
8855         * src/nm-device-802-11-wireless.c
8856           src/nm-manager.c
8857           src/nm-manager.h
8858                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8859                         so that the device can be deactivated if secrets are wrong
8860
8861 2007-09-20  Dan Williams  <dcbw@redhat.com>
8862
8863         * introspection/nm-settings-connection.xml
8864           libnm-glib/nm-settings.c
8865           libnm-glib/nm-settings.h
8866                 - Make GetSecrets asynchronous on the server side
8867
8868 2007-09-20  Dan Williams  <dcbw@redhat.com>
8869
8870         * src/nm-manager.h
8871           src/nm-device.c
8872                 - (nm_device_activate): actually check if a given connection
8873                         exists before assuming it doesn't
8874
8875 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8876
8877         * libnm-util/nm-connection.c (register_default_creators): Use defined
8878         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8879
8880         * libnm-util/nm-setting.c: Define property name strings, use them.
8881         Implement NMSettingVPN and NMSettingVPNProperties settings.
8882         Implement NM_S_TYPE_GVALUE_HASH.
8883         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8884         (setting_connection_verify): Rename 'devtype' property to 'type'.
8885
8886         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8887         properties.
8888
8889         * src/vpn-manager/nm-vpn-service.c: Ditto.
8890
8891         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8892
8893         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8894         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8895
8896         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8897         names. NMSettingConnection->devtype got renamed to 'type'.
8898
8899         * src/nm-device-802-3-ethernet.c (find_best_connection):
8900         (real_get_best_connection): Ditto.
8901
8902         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8903
8904         * libnm-glib/nm-vpn-manager.[ch]: Update.
8905
8906 2007-09-19  Dan Williams  <dcbw@redhat.com>
8907
8908         * src/NetworkManagerAP.c
8909           src/NetworkManagerAP.h
8910           introspection/nm-access-point.xml
8911                 - Change strength-changed signal into a properties-changed signal
8912                         for all properties, not just strength.  Export that signal over dbus
8913                         so listeners don't have to poll NM for changes.
8914                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8915                         get exported over D-Bus, so break up the logic and let other bits
8916                         decided when to export the AP
8917                 - (nm_ap_new_from_ap): remove, unused
8918
8919         * src/nm-device-802-11-wireless.c
8920                 - (merge_scanned_ap): only export APs that are actually on the device
8921                         list, not every AP created internally
8922
8923         * libnm-glib/nm-access-point.c
8924           libnm-glib/nm-access-point.h
8925                 - Cache properties internally and only hit DBus when needed.  Get
8926                         property updates from NM signals
8927
8928 2007-09-16  Dan Williams  <dcbw@redhat.com>
8929
8930         * libnm-util/nm-connection.c
8931           libnm-util/nm-connection.h
8932                 - (nm_connection_for_each_setting_value): new function; iterate over
8933                         each setting's value and call a user-provided function with details
8934                         about that value
8935
8936         * libnm-util/nm-setting.c
8937           libnm-util/nm-setting.h
8938                 - (nm_setting_enumerate_values): new function; enumerate the values
8939                         of a specific NMSetting subclass for a user-provided function with
8940                         details about that value
8941                 - Change wep_tx_keyidx to a uint32
8942                 - Create settings value tables for each setting defining their type,
8943                         key name, offset into the NMSetting subclass' structure, and whether
8944                         they are required and/or a secret
8945                 - (nm_setting_populate_from_hash): generic function to populate an
8946                         NMSetting from a GHash table, make all settings use it
8947                 - (nm_setting_hash): generic function to derive a GHashTable from
8948                         an NMSetting object, make all settings use it
8949
8950 2007-09-14  Dan Williams  <dcbw@redhat.com>
8951
8952         Remove unused stuff in libnm-util
8953
8954         * configure.in
8955           libnm-util/Makefile.am
8956           libnm-util/cipher-private.h
8957           libnm-util/cipher-wep-ascii.c
8958           libnm-util/cipher-wep-ascii.h
8959           libnm-util/cipher-wep-hex.c
8960           libnm-util/cipher-wep-hex.h
8961           libnm-util/cipher-wep-passphrase.c
8962           libnm-util/cipher-wep-passphrase.h
8963           libnm-util/cipher-wpa-psk-hex.c
8964           libnm-util/cipher-wpa-psk-hex.h
8965           libnm-util/cipher-wpa-psk-passphrase.c
8966           libnm-util/cipher-wpa-psk-passphrase.h
8967           libnm-util/cipher.c
8968           libnm-util/cipher.h
8969           libnm-util/dbus-helpers.c
8970           libnm-util/dbus-helpers.h
8971           libnm-util/gnome-keyring-md5.c
8972           libnm-util/gnome-keyring-md5.h
8973           libnm-util/sha1.c
8974           libnm-util/sha1.h
8975           src/nm-device-802-11-wireless.c
8976           test/libnm-util/Makefile.am
8977           test/libnm-util/test-ciphers.c
8978           test/libnm-util/test-dbus-helpers.c
8979           test/libnm-util/test-inputs.h
8980                 - Removed
8981
8982 2007-09-14  Dan Williams  <dcbw@redhat.com>
8983
8984         * libnm-util/dbus-method-dispatcher.c
8985           libnm-util/dbus-method-dispatcher.h
8986                 - Remove, unused
8987
8988 2007-09-14  Dan Williams  <dcbw@redhat.com>
8989
8990         Implement deferred activation support in the device class.
8991
8992         * src/nm-device-interface.c
8993           src/nm-device-interface.h
8994                 - (nm_device_interface_activate): take more arguments to support
8995                         deferred activation; callers must pass one of (connection) OR
8996                         (service_name, connection_path)
8997                 - (impl_device_activate): connection validation is punted to the device
8998                         to be able to handle deferred activation.  Yes, this means errors
8999                         don't get returned from the Activate() dbus call, and yes, that
9000                         should be fixed somehow later.
9001
9002         * src/nm-device.c
9003           src/nm-device.h
9004                 - (clear_act_request): clear additional deferred activation stuff too
9005                 - (deferred_activation_timeout_cb): new function; clean up when
9006                         deferred activation times out.
9007                 - (deferred_activation_start_cb): new function; when the connection
9008                         finally becomes available, start device activation
9009                 - (nm_device_activate): attach to the right signals of the activation
9010                         request if we need to defer activation until the connection is valid
9011
9012         * src/NetworkManagerPolicy.c
9013                 - (nm_policy_device_change_check): update for additional arguments
9014                         required for nm_device_interface_activate().  Pass NULL for these
9015                         though because this function already knows exactly which
9016                         NMConnection to use
9017
9018 2007-09-14  Dan Williams  <dcbw@redhat.com>
9019
9020         Implement deferred activation handling in the NMActRequest class.  When a
9021         client wants to activate a device but must create the NMConnection details
9022         on the fly, there likely hasn't been enough time yet for NM to receive the
9023         new connection signal and grab all the connection details.  So the
9024         activation is deferred (and bounded by a timer) for a while, and if the
9025         connection appears within the window, it is activated.
9026
9027         * src/nm-activation-request.c
9028           src/nm-activation-request.h
9029                 - (nm_act_request_class_init): two new signals to support deferred
9030                         activation, to allow the listener to handle both timeout and success
9031                 - (nm_act_request_new_deferred): new function, starts the deferred
9032                         activation timeout handler and listens to the NMManager for
9033                         new-connection signals to notice when the connection comes in
9034
9035 2007-09-14  Dan Williams  <dcbw@redhat.com>
9036
9037         * src/nm-manager.h
9038           src/nm-manager.c
9039                 - (nm_manager_get_connection_service_name,
9040                    nm_manager_get_connection_dbus_path): get details about a connection
9041                         known internally by the NMManager
9042                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9043                         because NMConnection is now a GObject subclass
9044                 - Use constant for the gobject data tag used on NMConnection objects for
9045                         storing the associated DBusGProxy
9046
9047 2007-09-14  Dan Williams  <dcbw@redhat.com>
9048
9049         * utils/Makefile.am
9050           utils/nm-utils.c
9051           utils/nm-utils.h
9052           src/supplicant-manager/Makefile.am
9053           src/dhcp-manager/Makefile.am
9054           src/backends/Makefile.am
9055           src/named-manager/Makefile.am
9056           src/ppp-manager/Makefile.am
9057           src/vpn-manager/Makefile.am
9058           test/libnm-util/Makefile.am
9059           test/test-common/Makefile.am
9060                 - Remove utils/; it was unused
9061
9062 2007-09-13  Dan Williams  <dcbw@redhat.com>
9063
9064         * libnm-glib/nm-vpn-manager.h
9065           libnm-glib/nm-vpn-manager.c
9066                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9067
9068 2007-09-13  Dan Williams  <dcbw@redhat.com>
9069
9070         * src/nm-device-802-3-ethernet.c
9071                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9072                         netlink monitor carrier signals on dispose, not bring down.  The
9073                         carrier signals should be handled over the entire lifetime of the
9074                         device anyway, not created/destroyed on up or down.
9075
9076 2007-09-13  Dan Williams  <dcbw@redhat.com>
9077
9078         * libnm-glib/nm-device.c
9079           libnm-glib/nm-device.h
9080                 - (nm_device_activate): take a connection object path rather than an
9081                         NMConnection because NMConnection isn't exported over D-Bus and
9082                         therefore it dbus-glib can't automatically get an object path from it
9083
9084 2007-09-13  Dan Williams  <dcbw@redhat.com>
9085
9086         * libnm-util/nm-setting.c
9087                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9088
9089 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9090
9091         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9092
9093 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9094
9095         * src/vpn-manager/nm-vpn-connection.[ch]: 
9096         * src/vpn-manager/nm-vpn-manager.[ch]:
9097         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9098         dbus-glib, GObjects, signals etc.
9099
9100         * libnm-glib/nm-vpn-manager.[ch]: 
9101         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9102         so much, rewrite these too.
9103
9104         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9105         the new introspection files.
9106
9107         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9108
9109         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9110         the header with the same name from libnm-utils.
9111
9112         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9113
9114         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9115
9116         * introspection/nm-vpn-plugin.xml: Implement.
9117
9118         * introspection/nm-vpn-connection.xml: Implement.
9119
9120         * introspection/nm-vpn-manager.xml: Implement.
9121
9122         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9123         the named manager argument, it can just as easily get it as the caller.
9124         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9125
9126         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9127
9128         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9129
9130         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9131         libnm-utils.
9132
9133         * libnm-util/nm-connection.c: Ditto.
9134
9135         * src/NetworkManagerMain.h: Remove, it's finally empty.
9136
9137         * configure.in: Remove utils/ from build.
9138
9139         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9140         of hard-coded strings.
9141
9142         * utils/: Move it over to libnm-util.
9143
9144         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9145
9146         * dispatcher-daemon/Makefile.am: Ditto.
9147
9148         * src/Makefile.am: Ditto.
9149
9150 2007-09-12  Dan Williams  <dcbw@redhat.com>
9151
9152         Wireless connections can be made with config data from the applet now.
9153         
9154         Yay.
9155
9156         * src/supplicant-manager/nm-supplicant-config.h
9157           src/supplicant-manager/nm-supplicant-config.c
9158                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9159                 - (nm_supplicant_config_add_setting_wireless,
9160                    nm_supplicant_config_add_setting_wireless_security): new functions;
9161                         add key/value pairs from the settings objects to the supplicant
9162                         config
9163
9164         * src/nm-device-802-11-wireless.c
9165                 - (cull_scan_list): fix check to not prune currently associated AP
9166                 - (build_supplicant_config, real_act_stage2_config): call the functions
9167                         of the NMSupplicantConfig that parse settings objects rather than
9168                         doing it manually here
9169
9170 2007-09-12  Dan Williams  <dcbw@redhat.com>
9171
9172         * src/supplicant-manager/nm-supplicant-interface.c
9173           src/supplicant-manager/nm-supplicant-marshal.list
9174                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9175                         "connection-error" signal arguments should be STRING not CHAR
9176
9177 2007-09-12  Dan Williams  <dcbw@redhat.com>
9178
9179         * src/NetworkManagerUtils.c
9180           src/NetworkManagerUtils.h
9181                 - (nm_utils_hexstr2bin): new function
9182
9183 2007-09-11  Dan Williams  <dcbw@redhat.com>
9184
9185         * src/nm-manager.c
9186                 - (connection_get_settings_cb): emit connection-added signal
9187                 - (connection_removed_cb): uncomment bits for system settings service,
9188                         send connection-removed when appropriate
9189                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9190                         the stack by trying to g_object_set_data() on something that's
9191                         not a GObject; handle case where settings service returns
9192                         empty settings hash table
9193
9194 2007-09-11  Dan Williams  <dcbw@redhat.com>
9195
9196         * src/NetworkManagerPolicy.c
9197                 - (connection_added, connection_removed): trigger device change checks
9198                         on connection changes
9199
9200 2007-09-11  Dan Williams  <dcbw@redhat.com>
9201
9202         * src/nm-activation-request.c
9203                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9204
9205 2007-09-11  Dan Williams  <dcbw@redhat.com>
9206
9207         * src/nm-device-802-11-wireless.c
9208                 - (real_connection_secrets_updated): fix erroneous check
9209
9210 2007-09-11  Dan Williams  <dcbw@redhat.com>
9211
9212         * introspection/nm-device.xml
9213           libnm-glib/nm-device.c
9214           libnm-glib/nm-device.c
9215                 - Fix Activate call argument borkage; Activate takes 3 arguments
9216
9217 2007-09-11  Dan Williams  <dcbw@redhat.com>
9218
9219         * libnm-glib/nm-access-point.c
9220           libnm-glib/nm-access-point.c
9221                 - (nm_access_point_get_frequency): now returns guint32 to match
9222                         property change on 2007-09-10
9223
9224 2007-09-11  Dan Williams  <dcbw@redhat.com>
9225
9226         * src/nm-device-802-11-wireless.c
9227                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9228                         somewhere defines 'index' and I missed this one when I fixed the
9229                         shadow declaration errors earlier
9230
9231 2007-09-11  Dan Williams  <dcbw@redhat.com>
9232
9233         * libnm-util/nm-connection.c
9234                 - (nm_connection_update_secrets, need_secrets_check): move
9235                         802-11-wireless-security need_secrets checks to the setting object
9236                         itself, where it belongs
9237
9238         * libnm-util/nm-setting.c
9239           libnm-util/nm-setting.h
9240                 - (nm_setting_need_secrets): new function
9241                 - (setting_wireless_security_verify,
9242                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9243                 - (setting_wireless_security_need_secrets): mostly copy code over
9244                         from nm-connection.c
9245
9246 2007-09-11  Dan Williams  <dcbw@redhat.com>
9247
9248         * libnm-util/nm-setting.c
9249           libnm-util/nm-setting.h
9250                 - (nm_setting_update_secrets): new function; add a virtual function that
9251                         subclasses can implement to update their secrets
9252                 - (setting_wireless_security_update_secrets): implement that function
9253                         for the 802-11-wireless-security subclass
9254
9255         * libnm-util/nm-connection.c
9256           libnm-util/nm-connection.h
9257                 - (nm_connection_update_secrets): update secrets for a Setting and
9258                         emit a signal on success
9259
9260         * src/nm-manager.c
9261           src/nm-manager.h
9262           src/nm-marshal.list
9263                 - (connection_get_settings_cb): enable system settings bits
9264                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9265                         to request secrets from the settings dbus service and to
9266                         push those secrets to the NMConnection itself
9267
9268         * src/nm-activation-request.c
9269           src/nm-activation-request.h
9270                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9271                         currently being activated, and proxy that signal to other listeners.
9272                         Goes through the activation request because the activation request
9273                         is the thing that manages the lifetime of the NMConnection that's
9274                         being activated.
9275
9276         * src/nm-device-802-11-wireless.c
9277                 - (real_connection_secrets_updated): implement the connection secrets
9278                         updated notification and restart activation when secrets are
9279                         received
9280                 - (real_act_stage2_config): request secrets from the settings dbus
9281                         service if secrets are needed
9282
9283         * src/nm-device.c
9284           src/nm-device.h
9285                 - (clear_act_request, nm_device_activation_cancel,
9286                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9287                         where the activation request is cleared
9288                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9289                         updated secrets signal of activation request and add a function
9290                         that subclasses can override to handle it easily
9291
9292 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9293
9294         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9295         removal of NetworkManagerAPList.
9296
9297 2007-09-10  Dan Williams  <dcbw@redhat.com>
9298
9299         * src/NetworkManagerAP.c
9300           src/NetworkManagerAP.h
9301           introspection/nm-access-point.xml
9302                 - Change 'freq' property to a guint32 instead of a double since we
9303                         weren't using the floating point bits anyway
9304
9305 2007-09-10  Dan Williams  <dcbw@redhat.com>
9306
9307         * NetworkManagerAP.c
9308           NetworkManagerAP.h
9309           NetworkManagerPolicy.c
9310           NetworkManagerSystem.c
9311           NetworkManagerUtils.c
9312           NetworkManagerUtils.h
9313           nm-device-802-11-wireless.c
9314           nm-device-802-3-ethernet.c
9315           nm-hal-manager.c
9316           nm-manager.c
9317           vpn-manager/nm-dbus-vpn.c
9318                 - Warning fixes; casts and removal of unused variables
9319
9320 2007-09-10  Dan Williams  <dcbw@redhat.com>
9321
9322         * include/NetworkManager.h
9323                 - Kill NMNetworkType; AP types don't matter any more
9324
9325         * src/NetworkManagerAPList.c
9326           src/NetworkManagerAPList.h
9327           src/Makefile.am
9328                 - Kill; NMAccessPointList has outlived it's usefulness
9329
9330         * src/NetworkManagerAP.c
9331           src/NetworkManagerAP.h
9332                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9333                         functions; check if an NMConnection object is compatible with the
9334                         settings of this AP
9335                 - (freq_to_channel, channel_to_freq): utility functions for
9336                         channel <-> frequency conversion
9337
9338         * src/nm-device.c
9339           src/nm-device.h
9340                 - (nm_device_get_best_connection): pass the specific object around
9341                          (which might be the object path of a specific AP to connect to).
9342                          The get_best_connection() call should populate this on return
9343                          if needed (wireless does).
9344
9345         * src/nm-device-802-3-ethernet.c
9346                 - (real_get_best_connection): handle specific_object argument
9347
9348         * src/NetworkManager.c
9349           src/NetworkManagerMain.h
9350                 - Remove unused includes
9351
9352         * src/nm-device-802-11-wireless.c
9353           src/nm-device-802-11-wireless.h
9354                 - Convert the ap_list into a GSList from an NMAccessPointList
9355                 - No need for caching the 'activation_ap' since this is now determined
9356                         from the specific_object of the activation request, which is
9357                         populated from the get_best_connection() call or from a user request
9358                 - (nm_device_802_11_wireless_update_bssid): fix warning
9359                 - (get_wireless_capabilities): fix error message format arguments
9360                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9361                 - (find_best_connection, real_get_best_connection): implement
9362                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9363                         move here from NetworkManagerAPList
9364                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9365                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9366                         already verified earlier
9367                 - (real_act_stage2_config): use nm_connection_need_secrets()
9368
9369         * src/NetworkManagerPolicy.c
9370                 - (nm_policy_auto_get_best_device): handle specific objects
9371                 - (create_connection): remove; automatic connection creation functionality
9372                         is handled by the Connection objects
9373                 - (nm_policy_device_change_check): handle specific_object
9374
9375         * libnm-util/nm-connection.c
9376                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9377
9378 2007-09-10  Dan Williams  <dcbw@redhat.com>
9379
9380         * src/nm-manager.c
9381                 - (query_connections): fix uninitialized variable problem that caused
9382                         segfault
9383                 - (nm_manager_add_device): take devices down on startup so that we can
9384                         be assured that nm_device_is_up() won't short-circuit the init
9385                         process.  Hack until the is_up check gets split into two pieces
9386                         that aren't behaviorally confusing.
9387
9388 2007-09-09  Dan Williams  <dcbw@redhat.com>
9389
9390         * introspection/nm-device.xml
9391                 - The 'Activate' method now takes 3 arguments, a service name for the
9392                 settings service (user or system), the object path of the connection
9393                 to activate, and the specific object to activate, if any
9394
9395         * src/nm-device-interface.c
9396                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9397                 Add error bits
9398                 - (impl_device_activate): adapt to new Activate arguments; validate
9399                 the service name and get the Connection object from the NMManager
9400                 before starting to activate the device with the specified connection
9401
9402         * src/nm-device-802-3-ethernet.c
9403                 - (real_get_best_connection): find the best connection, or create a
9404                 default one if no existing connections can be used
9405
9406         * src/NetworkManagerPolicy.c
9407                 - (nm_policy_auto_get_best_device): Get the device's best connection
9408                 and only pick the device if it has one
9409                 - (nm_policy_device_change_check): disable wireless bits for now until
9410                 wireless get_best_connection() can be implemented (replacing "best_ap");
9411                 don't create a default connection here as the device subclass will do
9412                 that if needed
9413
9414         * src/nm-manager.h
9415           src/nm-manager.c
9416                 - (nm_manager_get): make NMManager a singleton and expose the getter
9417                 internally
9418                 - Rework internal NMManager connection handling to use the same
9419                 routines for both the system and user settings services.  Most calls
9420                 take a new NMConnectionType argument specifying either system or user
9421                 connections
9422                 - (nm_manager_get_connection_by_object_path): new function; get a
9423                 connection keyed on its object path
9424
9425         * src/NetworkManager.c
9426                 - (main): use nm_manager_get()
9427
9428 2007-09-09  Dan Williams  <dcbw@redhat.com>
9429
9430         * src/nm-device.h
9431           src/nm-device.c
9432                 - (nm_device_get_best_connection): new function; get best connection
9433                         for the device at that time
9434
9435 2007-09-09  Dan Williams  <dcbw@redhat.com>
9436
9437         * src/nm-device-interface.h
9438                 - Add NMDeviceInterfaceError with an UnknownConnection error
9439
9440 2007-09-09  Dan Williams  <dcbw@redhat.com>
9441
9442         Stupid mistake on my part; object path and interface for settings service
9443         and connection objects can be the same, only the service name must be
9444         different for the system and user settings services.
9445
9446         * include/NetworkManager.h
9447           src/nm-manager.c
9448           introspection/nm-settings-connection.xml
9449           introspection/nm-settings.xml
9450           libnm-glib/nm-settings.c
9451                 - (nm_connection_settings_init, query_user_connections,
9452                    new_connection_cb): Unify NetworkManagerSettings and Connection
9453                    interface name and object path
9454
9455 2007-09-06  Dan Williams  <dcbw@redhat.com>
9456
9457         * libnm-glib/nm-object.c
9458                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9459                    nm_object_get_int_property, nm_object_get_uint_property,
9460                    nm_object_get_boolean_property, nm_object_get_byte_property,
9461                    nm_object_get_double_property, nm_object_get_byte_array_property):
9462                         clear GValues after copying their contents, fixes memory leaks
9463                         after every property access because dbus-glib copies the values
9464                         from the DBusMessage into the GValue already.
9465
9466 2007-09-06  Dan Williams  <dcbw@redhat.com>
9467
9468         * introspection/nm-access-point.xml
9469                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9470                         them to be.  There's some magic property name parsing going on in
9471                         dbus-glib that breaks up property names based on studly-caps and
9472                         puts - between words.
9473
9474         * libnm-glib/nm-access-point.c
9475                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9476                         Fix property names
9477
9478 2007-09-06  Dan Williams  <dcbw@redhat.com>
9479
9480         * src/nm-manager.c
9481                 - (nm_manager_user_connections_destroy): clear the user connections hash
9482                         table, don't destroy it
9483                 - (finalize): only destroy the hash table on NMManager finalization
9484
9485 2007-09-02  Dan Williams  <dcbw@redhat.com>
9486
9487         * include/NetworkManager.h
9488           libnm-glib/nm-settings.c
9489                 - defines for the user settings daemon D-Bus bits
9490
9491         * src/NetworkManager.c
9492                 - Remove stuff that referred to the old NetworkManagerInfo service
9493
9494         * src/vpn-manager/nm-dbus-vpn.h
9495                 - Move old NMI defines to the only place they are used still
9496
9497         * libnm-util/nm-connection.c
9498           libnm-util/nm-connection.h
9499           src/nm-activation-request.c
9500                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9501
9502         * src/nm-manager.c
9503           src/nm-manager.h
9504                 - Get connections and their settings from the user settings daemon
9505                         at the appropriate times
9506
9507 2007-09-02  Dan Williams  <dcbw@redhat.com>
9508
9509         * libnm-util/nm-setting.c
9510                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9511                 - (setting_wireless_hash): set the right value on the item
9512
9513 2007-09-02  Dan Williams  <dcbw@redhat.com>
9514
9515         * test/Makefile.am
9516           test/nminfotest.c
9517                 - Remove, no longer useful
9518
9519 2007-08-30  Dan Williams  <dcbw@redhat.com>
9520
9521         * src/Makefile.am
9522           src/NetworkManagerDbus.c
9523           src/NetworkManagerDbus.h
9524           src/vpn-manager/nm-dbus-vpn.c
9525                 - Remove, no longer necessary.  Move last bits to the only place its
9526                 used, in nm-dbus-vpn.c
9527
9528         * src/NetworkManagerAPList.c
9529           src/nm-device.c
9530           src/NetworkManager.c
9531           src/nm-device-802-11-wireless.c
9532           src/vpn-manager/nm-vpn-manager.c
9533           src/vpn-manager/nm-vpn-service.c
9534           src/NetworkManagerPolicy.c
9535           src/nm-manager.c
9536                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9537                 that was message_is_error()
9538
9539 2007-08-30  Dan Williams  <dcbw@redhat.com>
9540
9541         * libnm-util/sha1.c
9542                 - Include config.h to get defines for endiannes (gnome.org #420216)
9543
9544 2007-08-30  Dan Williams  <dcbw@redhat.com>
9545
9546         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9547
9548         * src/ppp-manager/Makefile.am
9549                 - use -fPIC (gnome.org #471825)
9550
9551 2007-08-29  Dan Williams  <dcbw@redhat.com>
9552
9553         * include/NetworkManager.h
9554                 - Keep NMConnection object path in sync
9555
9556         * libnm-glib/nm-settings.c
9557           libnm-glib/nm-settings.h
9558                 - Break D-Bus object registration out of the init function, because
9559                 every object that's exported over D-Bus needs to use the _same_
9560                 DBusConnection.  Otherwise, each object would get a different object
9561                 path tree and wouldn't be callable.
9562
9563 2007-08-29  Dan Williams  <dcbw@redhat.com>
9564
9565         * libnm-util/nm-setting.h
9566           libnm-util/nm-setting.c
9567           libnm-util/nm-connection.c
9568           src/NetworkManagerPolicy.c
9569                 - 'info' settings object should be 'connection' says the spec
9570                 at NetworkManagerConfigurationSpecification
9571
9572 2007-08-29  Dan Williams  <dcbw@redhat.com>
9573
9574         * libnm-glib/nm-settings.c
9575           libnm-glib/nm-settings.h
9576                 - make the dbus path a property of the object, and autogenerate it.
9577                 It can't be composed of the 'id' field becuase that's not available
9578                 yet during the GObject creation in nm_connection_settings_init()
9579
9580 2007-08-29  Dan Williams  <dcbw@redhat.com>
9581
9582         * introspection/nm-settings-connection.xml
9583           introspection/nm-settings.xml
9584                 - Service name -> NetworkManagerUserSettings because two services
9585                 can't share part of the same path.  I'm not really sure how we'll use
9586                 the same code with the system-settings daemon...
9587
9588 2007-08-28  Dan Williams  <dcbw@redhat.com>
9589
9590         * src/nm-device-interface.c
9591           src/nm-device-interface.h
9592                 - Kill one more bit of NMData
9593
9594 2007-08-28  Dan Williams  <dcbw@redhat.com>
9595
9596         * src/NetworkManagerSystem.h
9597           src/nm-device.c
9598           src/nm-device.h
9599           src/nm-hal-manager.c
9600           src/NetworkManager.c
9601           src/nm-device-802-11-wireless.c
9602           src/nm-hal-manager.h
9603           src/nm-device-802-3-ethernet.c
9604           src/vpn-manager/nm-vpn-service.h
9605           src/vpn-manager/nm-vpn-manager.c
9606           src/vpn-manager/nm-vpn-manager.h
9607           src/vpn-manager/nm-vpn-service.c
9608           src/nm-device-802-11-wireless.h
9609           src/NetworkManagerMain.h
9610           src/nm-device-802-3-ethernet.h
9611           src/backends/NetworkManagerGentoo.c
9612           src/backends/NetworkManagerPaldo.c
9613           src/backends/NetworkManagerFrugalware.c
9614           src/backends/NetworkManagerRedHat.c
9615           src/backends/NetworkManagerSlackware.c
9616           src/backends/NetworkManagerGeneric.c
9617           src/backends/NetworkManagerArch.c
9618           src/backends/NetworkManagerSuSE.c
9619           src/backends/NetworkManagerGeneric.h
9620           src/backends/NetworkManagerDebian.c
9621                 - Kill NMData
9622
9623 2007-08-28  Dan Williams  <dcbw@redhat.com>
9624
9625         * src/NetworkManagerMain.h
9626           src/nm-device-802-11-wireless.c
9627           src/NetworkManager.c
9628                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9629                 for now we should set the 'invalid' property on individual APs, and when
9630                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9631                 that ESS
9632
9633 2007-08-28  Dan Williams  <dcbw@redhat.com>
9634
9635         * src/NetworkManagerAP.c
9636           src/NetworkManagerAP.h
9637                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9638                         'autoconnect' property instead
9639
9640         * src/NetworkManager.c
9641           src/NetworkManagerMain.h
9642           src/NetworkManagerPolicy.c
9643           src/NetworkManagerPolicy.h
9644                 - Remove the 'allowed_ap_list', which should be replaced by 
9645                         NMConnection/NMSettings instead, since _those_ are the allowed
9646                         things that NM can connect to
9647
9648         * src/nm-device-802-11-wireless.c
9649                 - Remove both allowed_ap_list usage and 'fallback' checking
9650
9651 2007-08-28  Dan Williams  <dcbw@redhat.com>
9652
9653         * src/nm-device.c
9654           src/named-manager/nm-named-manager.c
9655           src/named-manager/nm-named-manager.h
9656           src/NetworkManager.c
9657           src/vpn-manager/nm-vpn-manager.c
9658           src/NetworkManagerMain.h
9659           src/NetworkManagerSystem.c
9660                 - Remove the named-manager object from NMData structure in preparation
9661                 for NMData's timely death.  Make the NMNamedManager the singleton that
9662                 it really is
9663
9664 2007-08-28  Dan Williams  <dcbw@redhat.com>
9665
9666         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9667         each AP's capabilities, and by NMConnection/NMSettings objects for user
9668         defined connections.
9669
9670         * include/NetworkManager.h
9671                 - Redefine 802.11 security properties.  There are now device capabilities
9672                         and AP flags and AP security flags.  It was way to unclear before.
9673
9674         * src/Makefile.am
9675           src/nm-ap-security-leap.h
9676           src/nm-ap-security-leap.c
9677           src/nm-ap-security-wpa-eap.c
9678           src/nm-ap-security-wpa-eap.h
9679           src/nm-ap-security-private.h
9680           src/nm-ap-security-wpa-psk.c
9681           src/nm-ap-security-wpa-psk.h
9682           src/nm-ap-security-wep.c
9683           src/nm-ap-security-wep.h
9684           src/nm-ap-security.c
9685           src/nm-ap-security.h
9686                 - Removed, to be replaced with NMConnection/NMSettings objects
9687
9688         * src/nm-dbus-nmi.c
9689           src/nm-dbus-nmi.h
9690                 - Removed, to be replaced by code that talks to the new info daemon
9691                         interface and gets NMConnection/NMSettings objects
9692
9693         * src/backends/NetworkManagerSuSE.c
9694                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9695                         info-daemon that does the same thing but talks the new info-daemon
9696                         D-Bus interface
9697
9698         * src/NetworkManagerAP.h
9699           src/NetworkManagerAP.c
9700           src/NetworkManagerAPList.c
9701           libnm-glib/libnm-glib-test.c
9702                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9703                         WPA/RSN
9704
9705         * libnm-glib/nm-access-point.c
9706           libnm-glib/nm-access-point.h
9707           introspection/nm-access-point.xml
9708           test/nm-tool.c
9709                 - Adjust to new flags for AP security
9710
9711         * utils/nm-utils.c
9712           utils/nm-utils.h
9713           src/vpn-manager/nm-dbus-vpn.c
9714                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9715                         stuff which is the only place it's used
9716
9717         * src/nm-device-interface.c
9718           src/nm-device-interface.h
9719           introspection/nm-device.xml
9720           src/nm-activation-request.c
9721           src/nm-activation-request.h
9722           src/nm-device.c
9723                 - Add a new 'specific_object' argument that hints to NM what actual
9724                         AP or other device-specific thing the connection should apply to.
9725                         NMConnection objects can apply to more than one actual device/AP.
9726
9727         * libnm-util/nm-connection.c
9728         * libnm-util/nm-connection.h
9729                 - Add 'have_secrets" call stubs
9730
9731         * libnm-util/cipher.h
9732                 - Move NM_AUTH_TYPE_* defines here for now
9733
9734         * src/nm-device-802-11-wireless.c
9735                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9736                         NMSettings objects
9737
9738         * src/NetworkManagerDbus.c
9739         * src/NetworkManagerPolicy.c
9740                 - Remove usage of update_allowed_networks, should be pushing data in
9741                         a different manner
9742
9743 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9744
9745         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9746         dbus-glib frees it when the call is done.
9747
9748 2007-08-26  Dan Williams  <dcbw@redhat.com>
9749
9750         * introspection/nm-device.xml
9751                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9752
9753 2007-08-26  Dan Williams  <dcbw@redhat.com>
9754
9755         * src/nm-device-802-3-ethernet.c
9756                 - (constructor): move connection of interface-connected/disconnected
9757                         signals here from real_bring_up().  Should be listening to netlink
9758                         for carrier events no matter what the initial state of the device
9759                         is.
9760
9761 2007-08-26  Dan Williams  <dcbw@redhat.com>
9762
9763         * src/nm-netlink-monitor.c
9764                 - (nm_netlink_monitor_class_init): fix marshalling types for
9765                         interface-connected/interface-disconnected
9766                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9767                         check
9768
9769 2007-08-26  Dan Williams  <dcbw@redhat.com>
9770
9771         Convert to using interface indexes as the primary method of identifying
9772         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9773         be renamed at any time.  Device object paths now refer to the device
9774         index rather than the name, and you can map those two manually if you like
9775         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9776         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9777         to use interface indexes rather than names.
9778
9779 2007-08-26  Dan Williams  <dcbw@redhat.com>
9780
9781         * src/nm-netlink-monitor.h
9782                 - Remove one last bit of wireless-event signal
9783
9784 2007-08-26  Dan Williams  <dcbw@redhat.com>
9785
9786         * src/nm-netlink-monitor.c
9787                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9788                         don't need the 'wireless-event' signal anymore since that's all
9789                         handled by wpa_supplicant
9790
9791 2007-08-25  Dan Williams  <dcbw@redhat.com>
9792
9793         It's 2007. Remove support for drivers that don't support wireless scanning.
9794
9795         * test/nm-tool.c
9796           include/NetworkManager.h
9797           src/NetworkManagerUtils.c
9798           src/NetworkManagerPolicy.c
9799           src/nm-device-802-11-wireless.c
9800                 - Remove special handling for non-scanning devices and mark them
9801                         as unsupported/unhandled
9802
9803 2007-08-20  Dan Williams  <dcbw@redhat.com>
9804
9805         * src/nm-device-802-11-wireless.c
9806           src/nm-device-802-3-ethernet.c
9807                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9808                         because when the card is pulled or the module removed, the device
9809                         is already !IFF_UP and then device-specific cleanup (removing
9810                         the supplicant interface, periodic checks, etc) never gets done
9811
9812 2007-08-20  Dan Williams  <dcbw@redhat.com>
9813
9814         * src/nm-manager.c
9815                 - (nm_manager_remove_device): bring device down before disconnecting
9816                         signal handlers, so that the 'state' signal will get broadcast when
9817                         the device enters the DOWN state
9818                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9819                         of states that cause the NMManager to recheck its state
9820
9821 2007-08-20  Dan Williams  <dcbw@redhat.com>
9822
9823         * src/supplicant-manager/nm-supplicant-interface.c
9824                 - (interface_disconnect_done): don't try to dispose of the net proxy
9825                         when it may already have been disposed of
9826
9827 2007-08-20  Dan Williams  <dcbw@redhat.com>
9828
9829         * src/nm-device-802-11-wireless.c
9830                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9831                         the SSID isn't available; this can happen when the card is pulled
9832                         or the module unloaded, during the post-removal deactivation
9833                         paths, when the ioctl returns ENODEV
9834
9835 2007-08-20  Dan Williams  <dcbw@redhat.com>
9836
9837         * src/nm-device-802-11-wireless.c
9838                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9839                         frequency, and mode match.  Applets are now responsible for grouping
9840                         access points
9841
9842 2007-08-20  Dan Williams  <dcbw@redhat.com>
9843
9844         * src/NetworkManagerAP.c
9845         * src/NetworkManagerAP.h
9846                 - (nm_ap_print_self): new function
9847
9848         * src/NetworkManagerAPList.c
9849                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9850                         to do it all here
9851         
9852 2007-08-17  Dan Williams  <dcbw@redhat.com>
9853
9854         * src/nm-device-802-3-ethernet.c
9855                 - (real_bring_down): don't try to dispose of stuff that might not
9856                         exist
9857
9858 2007-08-17  Dan Williams  <dcbw@redhat.com>
9859
9860         * src/NetworkManagerAP.c
9861                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9862                         applet.  This ensures that the case between the seen-bssids and
9863                         the bssids reported by the driver match.
9864
9865 2007-08-17  Dan Williams  <dcbw@redhat.com>
9866
9867         * src/nm-device-802-11-wireless.c
9868                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9869                         we dispose of the interface proxy in NM
9870
9871 2007-08-16  Dan Williams  <dcbw@redhat.com>
9872
9873         * libnm-glib/nm-client.c
9874                 - (nm_client_init): create VPN connections hash table with key free
9875                         function
9876                 - (proxy_vpn_connection_added): VPN connections hash table key should
9877                         be a duplicated value, not the same memory address as the VPN
9878                         connection name.  This is because the VPN connection name could
9879                         potentially be freed and set to something else during the lifetime
9880                         of the NMVPNConnection object.
9881
9882 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9883
9884         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9885         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9886         with the file descriptors. Send a child setup function to change the pppd
9887         progress group.
9888
9889 2007-08-15  Dan Williams  <dcbw@redhat.com>
9890
9891         * src/supplicant-manager/nm-supplicant-interface.c
9892                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9893                         an interface
9894                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9895                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9896                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9897                         the interface internally
9898
9899 2007-08-15  Dan Williams  <dcbw@redhat.com>
9900
9901         * src/nm-device-802-11-wireless.c
9902                 - (real_bring_down): move most of this function into device_cleanup()
9903                         so that it can be called from elsewhere
9904                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9905                         and stuff on dispose.  These would normally get cleaned up when
9906                         the device is marked down and deactivated, but when the device is
9907                         hot-unplugged, it's already down and real_down() never gets run
9908
9909 2007-08-15  Dan Williams  <dcbw@redhat.com>
9910
9911         * src/nm-dbus-nmi.c
9912                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9913                         caused a reference leak on device for which NM requested a key
9914
9915 2007-08-15  Dan Williams  <dcbw@redhat.com>
9916
9917         * libnm-glib/nm-client.c
9918                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9919
9920 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9921
9922         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9923         nothing is using it at the moment, but it'll be all useful and stuff later on.
9924
9925         * libnm-util/nm-setting.h: Define NMSettingPPP.
9926
9927         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9928
9929         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9930
9931         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9932
9933         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9934
9935         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9936
9937 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9938
9939         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9940
9941         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9942         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9943         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9944         name and different arguments and it won't compile anymore. To fix this, we now have
9945         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9946         that is new API + compatibility API and used by the daemon. The other, 
9947         nm-manager-client.xml is only the new API without compatibility bits and is used
9948         by libnm-glib to make it compile.
9949
9950         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9951
9952         * src/nm-manager.c (impl_manager_legacy_sleep)
9953         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9954         interface functions for 0.6 branch.
9955
9956 2007-08-14  Dan Williams  <dcbw@redhat.com>
9957
9958         * src/NetworkManagerAP.c
9959                 - (nm_ap_new_from_properties): fix mistaken check of return value
9960                         from memcmp (should expect 0)
9961
9962 2007-08-14  Dan Williams  <dcbw@redhat.com>
9963
9964         (force-commit to fix wrong comment and partial commit of r2685; this
9965          commit actually applies to r2685)
9966
9967         * src/NetworkManagerUtils.c
9968                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9969                         ignores trailing nulls in the SSID to work around mismatches in
9970                         expectations between WEXT and what the info-daemon passes back.  The
9971                         info-daemon would pass back the correct length, but due to the
9972                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9973                         the device would always have an SSID + 1 depending on what versions
9974                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9975                         visible by just quitting the applet and relaunching, which caused
9976                         NM to reassociated to the same network over again when reloading
9977                         the save networks.
9978
9979         * src/NetworkManagerPolicy.c
9980           src/NetworkManagerUtils.h
9981           src/nm-device-802-11-wireless.c
9982                 - Update for new parameter to nm_utils_same_ssid()
9983
9984 2007-08-14  Dan Williams  <dcbw@redhat.com>
9985
9986         * src/NetworkManagerAP.c
9987                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9988                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9989                         setting the BSSID to all 0s.  That confused the heck out of NM,
9990                         plus it's useless and probably out-of-spec.
9991
9992 2007-08-14  Dan Williams  <dcbw@redhat.com>
9993
9994         * callouts/Makefile.am
9995           src/dhcp-manager/nm-dhcp-manager.c
9996           src/dhcp-manager/nm-dhcp-manager.h
9997           src/dhcp-manager/Makefile.am
9998                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9999
10000 2007-08-14  Dan Williams  <dcbw@redhat.com>
10001
10002         * src/dhcp-manager/nm-dhcp-manager.c
10003                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10004                         it's really needed, get rid of unused xtra_args parameter
10005
10006 2007-08-14  Dan Williams  <dcbw@redhat.com>
10007
10008         * include/NetworkManagerVPN.h
10009           src/vpn-manager/nm-dbus-vpn.c
10010           src/vpn-manager/nm-dbus-vpn.h
10011           src/vpn-manager/nm-vpn-act-request.c
10012           src/vpn-manager/nm-vpn-act-request.h
10013           src/vpn-manager/nm-vpn-service.c
10014           src/vpn-manager/nm-vpn-service.h
10015           libnm-glib/nm-vpn-connection.c
10016           libnm-glib/nm-vpn-connection.h
10017           libnm-glib/nm-client.h
10018                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10019                         NMVPNServiceState to clarify what they apply to
10020                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10021                         NMVPNActStage -> NMVPNConnectionState for the same reason
10022
10023         * libnm-glib/nm-client.c
10024                 - Constant + type renames from above
10025                 - Properly handle NameOwnerChanged/manager_running signals
10026                         for NM service; only emit when state really changes
10027                 - Use hash tables correctly so that the key (which was previously owned
10028                         by the D-Bus message) now has the same lifetime as the value, since
10029                         the key is now taken from the the NMVPNConnection itself.  This
10030                         really fixes the double-VPN names in the applet
10031
10032 2007-08-13  Dan Williams  <dcbw@redhat.com>
10033
10034         Patch from Michael Biebl <biebl@debian.org>
10035
10036         * po/POTFILES.in
10037           po/POTFILES.skip
10038                 - Update for vpn-properties move
10039
10040 2007-08-13  Dan Williams  <dcbw@redhat.com>
10041
10042         * libnm-glib/nm-client.c
10043                 - Convert internal VPN connection tracking from a list to a hash table
10044                         to easily avoid duplicates
10045                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10046                         must be freed by the caller, like nm_client_get_devices()
10047                 - (nm_client_remove_vpn_connection): don't let the removal signal
10048                         leak through for NMVPNConnection objects that aren't actually
10049                         tracked.
10050                 - (manager_running): throw away VPN connection list when NM goes away,
10051                         like with the device list
10052
10053 2007-08-13  Dan Williams  <dcbw@redhat.com>
10054
10055         * src/dhcp-manager/nm-dhcp-manager.c
10056                 - Stop any dhclient instance that might be already running for a
10057                         particular interface before starting an NM spawned dhclient.  Fixes
10058                         dhclient processes left over if NM crashes, stuff like that.
10059
10060 2007-08-13  Dan Williams  <dcbw@redhat.com>
10061
10062         * src/NetworkManagerAP.c
10063                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10064                         when the AP wasn't broadcasting it's SSID
10065
10066 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10067
10068         * include/NetworkManager.h: added DBus path for connection settings.
10069
10070         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10071         nm_connection_settings_signal_updated,
10072         nm_connection_settings_signal_removed): new functions to wrap the
10073         objects' signals.
10074         (nm_connection_settings_init): register GObject with DBus.
10075         (nm_connection_settings_get_dbus_object_path): new function.
10076
10077         * libnm-glib/Makefile.am: added libnmutil to link flags.
10078
10079 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10080
10081         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10082
10083         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10084         libnm_glib directory got merged with libnm-glib/.
10085
10086         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10087
10088         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10089         Rename the library from libnm-glib to libnm_glib to maintain the library API
10090         compatibility with 0.6 branch.
10091
10092         * Makefile.am: Remove gnome/ SUBDIR.
10093
10094         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10095
10096         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10097
10098         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10099
10100         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10101         anymore.
10102         Remove checks for wpa_supplicant binary, it's used over dbus.
10103         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10104
10105         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10106         Link the binaries with libnm_glib.la.
10107
10108 2007-08-12  Dan Williams  <dcbw@redhat.com>
10109
10110         * src/NetworkManagerPolicy.c
10111                 - (nm_policy_device_change_check): fix policy to deactivate old device
10112                         before activating new one, at least until the multiple active
10113                         device support lands
10114
10115 2007-08-12  Dan Williams  <dcbw@redhat.com>
10116
10117         * src/NetworkManagerPolicy.c
10118                 - (nm_policy_new): hook up to connection-added / connection-removed
10119                         signals instead of connections-changed
10120
10121 2007-08-12  Dan Williams  <dcbw@redhat.com>
10122
10123         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10124         Robert Frank <rfrank@redhat.com>
10125
10126         * src/dhcp-manager/nm-dhcp-manager.c
10127           src/dhcp-manager/nm-dhcp-manager.c
10128           src/nm-device.c
10129                 - Spawn and communicate with dhclient directly, through means of a
10130                 custom dhclient callout script.  Process callout D-Bus signals
10131                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10132                 sent via gobject signals rather than being driven by the dhcp manager
10133                 directly.
10134
10135 2007-08-12  Dan Williams  <dcbw@redhat.com>
10136
10137         * callouts/nm-dhcp-client-action.c
10138                 - (build_message): ignore non-DHCP-related environment variables
10139
10140 2007-08-12  Dan Williams  <dcbw@redhat.com>
10141
10142         * Makefile.am
10143           configure.in
10144           callouts/Makefile.am
10145           callouts/nm-dhcp-client-action.c
10146           callouts/nm-dhcp-client.conf
10147                 - Add dhclient-executed callout that takes the place of dhclient-script
10148                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10149                 NM then listens for
10150
10151 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10152
10153         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10154
10155         * libnm-glib/nm-client.h:
10156         * libnm-glib/nm-object.h:
10157         * libnm-glib/nm-vpn-connection.h:
10158         * libnm-glib/nm-settings.h:
10159         * libnm-glib/nm-device.h:
10160         * libnm-glib/nm-ip4-config.h:
10161         * libnm-glib/nm-access-point.h:
10162         * libnm-glib/nm-device-802-3-ethernet.h:
10163         * libnm-util/nm-setting.h: 
10164         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10165
10166         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10167
10168         * libnm-glib/nm-access-point.c: Strength has type char.
10169
10170         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10171         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10172
10173         * introspection/nm-access-point.xml: Strength property is char, not int.
10174
10175         * src/NetworkManagerAP.c (set_property): Set strength from char.
10176         (get_property): Handle hidden APs (with empty SSID).
10177         Get strength value from char.
10178         (nm_ap_class_init): Strength property has char type.
10179
10180 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10181
10182         * introspection/Makefile.am:
10183         * introspection/nm-settings.xml:
10184         * introspection/nm-settings-connection.xml: added Settings interfaces.
10185
10186         * libnm-glib/nm-settings.[ch]:
10187         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10188         containing the DBus implementation.
10189
10190 2007-07-26  Dan Williams  <dcbw@redhat.com>
10191
10192         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10193
10194         * src/NetworkManagerSystem.c
10195                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10196                         same subnet (#437396)
10197
10198 2007-07-26  Dan Williams  <dcbw@redhat.com>
10199
10200         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10201
10202         * gnome/vpn-properties/nm-vpn-properties.c
10203                 - Fix translatable strings (#445865)
10204
10205 2007-07-26  Dan Williams  <dcbw@redhat.com>
10206
10207         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10208
10209         * configure.in
10210                 - Remove useless junk (#412530)
10211
10212 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10213
10214         Patch from Robert Buchholz <rbu@gentoo.org>:
10215
10216         * configure.in:
10217         * Makefile.am:
10218         * introspection/Makefile.am:
10219         Make make distcheck work again.
10220
10221 2007-06-27  Dan Williams  <dcbw@redhat.com>
10222
10223         * Make SSIDs GByteArrays everywhere
10224         * Rename "essid" -> "ssid" everywhere that's appropriate
10225         * Refcount activation_ap member of the 802.11 wireless device class
10226
10227 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10228
10229         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10230
10231 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10232
10233         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10234         that we got a new AP when we just update existing AP properties.
10235
10236 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10237
10238         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10239
10240         * nm-utils.[ch]: Remove.
10241
10242         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10243         objects for easy property access and dbus connection handling.
10244
10245         * libnm-glib/nm-client.c: Derive from NMObject.
10246
10247         * libnm-glib/nm-device.c: Ditto.
10248
10249         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10250
10251         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10252
10253         * libnm-glib/nm-ip4-config.c: Ditto.
10254
10255         * libnm-glib/nm-access-point.c: Ditto.
10256
10257         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10258         comparision. Currently used by the device activation code to determine if the new
10259         activation is the same as the old one.
10260
10261         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10262         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10263         able to ask password for the AP.
10264
10265         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10266         up if the device is already connected, tear down it's connection (if it isn't the
10267         same as new one) and start the activation.
10268
10269         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10270
10271         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10272         the issue where all APs are always listed as encrypted.
10273
10274         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10275         their own registered paths.
10276
10277         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10278         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10279
10280 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10281
10282         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10283         (0 & 0 == 0, doh)
10284
10285         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10286         because the handling code will cause the next state change and signal listeners
10287         get the signals in wrong order.
10288
10289         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10290         correctly in case of pending activation.
10291
10292         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10293         Convert the essid byte array to string correctly, including the terminating NULL.
10294
10295         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10296         mode with correct types.
10297
10298         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10299         constructed info to dbus call instead of the activation request.
10300
10301 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10302
10303         Patch from Christian Persch <chpe@gnome.org>
10304
10305         * libnm-glib/Makefile.am:
10306         * dispatcher-daemon/Makefile.am:
10307         Use the correct variables, the correct paths, and correct ordering. (446315)
10308
10309 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10310
10311         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10312         argument. The activation request is easy to retrieve.
10313
10314         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10315         just to be a convenient location for devices to store random stuff.
10316
10317 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10318
10319         Patch from Alex Smith <alex@alex-smith.me.uk>
10320
10321         * src/backends/NetworkManagerFrugalware.c:
10322         Update the FrugalWare backend to fix a few segfaults. (#392642)
10323
10324 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10325
10326         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10327
10328         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10329         setting.
10330         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10331
10332 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10333
10334         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10335         automagically.
10336         Implement NMSettingIP4Config.
10337         Finish NMSettingWired by adding all known members.
10338         (setting_wired_verify): Implement.
10339         Finish NMSettingWireless by adding all known members.
10340         (setting_wireless_verify): Implement.
10341
10342         * libnm-util/nm-connection.c: Register "ipv4" setting.
10343         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10344         dump function, we can introspect the GHashTable which is used for sending connections
10345         over dbus.
10346
10347         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10348         Take GByteArray for essid, it's really not a string.
10349
10350         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10351         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10352         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10353         means overriding the values we got from DHCP.
10354         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10355         (nm_device_deactivate_quickly): Ditto.
10356
10357         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10358         for debugging.
10359
10360 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10361
10362         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10363         NMConnection.
10364
10365         * libnm-glib/nm-device-802-11-wireless.c:
10366         (nm_device_802_3_ethernet_activate): Remove.
10367
10368         * libnm-glib/nm-device-802-3-ethernet.c
10369         (nm_device_802_3_ethernet_activate): Remove.
10370
10371         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10372
10373         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10374         NMConnection.
10375
10376         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10377         activation has started.
10378         Implement the new activation using NMConnection.
10379
10380         * src/nm-activation-request.c: Store a generic connection object instead
10381         of a wireless-specific AP.
10382
10383         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10384         on device type, create a device specific connection object suitable for
10385         device activation.
10386
10387         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10388         specific check to validate the connection and on success start the
10389         activation.
10390
10391         * src/nm-device-interface.h: Add a activate virtual function to the
10392         interface definition.
10393
10394         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10395         (impl_device_activate): Implement.
10396
10397         * introspection/nm-device.xml: Add a generic device activation interface
10398         that accepts an abstract NMConnection structure that has device-specific
10399         information in it.
10400
10401         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10402         activation interface.
10403
10404         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10405         activation interface.
10406
10407         * libnm-util/nm-connection.c: 
10408         * libnm-util/nm-connection.h: 
10409         * libnm-util/nm-setting.c:
10410         * libnm-util/nm-setting.h: Add.
10411
10412         * libnm-util/Makefile.am: Build the added files.
10413
10414         * src/nm-dbus-manager.c
10415         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10416         DbusConnection argument from 'name-owner-changed' signal. The manager
10417         is already passed as a first argument to the signal and the connection
10418         is easy enough to get from it.
10419
10420         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10421         Update the signature of the function.
10422
10423         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10424         Ditto.
10425
10426         * src/NetworkManager.c: Ditto.
10427
10428         * src/named-manager/nm-named-manager.c
10429         (nm_named_manager_name_owner_changed): Ditto.
10430
10431         * src/supplicant-manager/nm-supplicant-manager.c
10432         (nm_supplicant_manager_name_owner_changed): Ditto.
10433
10434         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10435
10436         * src/dhcp-manager/nm-dhcp-manager.c
10437         (nm_dhcp_manager_name_owner_changed): Ditto.
10438
10439         * src/nm-hal-manager.c: Add a list of device detectors and creators
10440         to make it easier to add new devices. Each device type has it's own
10441         entry in the table so adding new device types is only a matter of
10442         implementing a couple of functions, one for device detection and the
10443         other for device creation.
10444
10445 2007-04-25  Dan Williams  <dcbw@redhat.com>
10446
10447         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10448                 (gnome.org #432401)
10449
10450 2007-03-30  Dan Williams  <dcbw@redhat.com>
10451
10452         * src/NetworkManagerSystem.c
10453                 - (nm_system_device_set_ip4_route): clean up and fix argument
10454                         to nm_dev_sock_open()
10455
10456 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10457
10458         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10459         data to correct types instead of always using string.
10460
10461         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10462         _not_ have NM_802_11_CAP_PROTO_NONE.
10463         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10464         is not set.
10465
10466 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10467
10468         * libnm-glib/Makefile.am: Fix the build issue.
10469
10470 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10471
10472         * libnm-glib/nm-vpn-connection.h: 
10473         * libnm-glib/nm-vpn-connection.c: Implement.
10474
10475         * libnm-glib/nm-client.c: Add VPN support.
10476
10477         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10478         handler for VPN.
10479
10480         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10481         on DBUS again.
10482
10483 2007-03-26  Dan Williams  <dcbw@redhat.com>
10484
10485         * src/NetworkManagerAPList.c
10486         * src/nm-device-802-11-wireless.c
10487         * src/NetworkManagerAP.c:
10488                 - Store last seen as glong instead of GTimeVal.
10489                 - Fix the upper bound of capabilities, it's a bitfield.
10490
10491 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10492
10493         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10494
10495         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10496         "manager-running" signal that notifies the appearance/disappearance of NM.
10497         (nm_client_sleep): Implement.
10498
10499         * libnm-glib/nm-device.c:
10500         * libnm-glib/nm-device-802-11-wireless.c: 
10501         * libnm-glib/nm-device-802-3-ethernet.c: 
10502
10503         Don't inherit from DBusGProxy, add a proxy to private
10504         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10505         for anything but their own dbus interface. DBusGProxy objects support only one
10506         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10507         interface. The nice side effect of this change is that we do not create a new
10508         DBusGProxy object for each property access.
10509
10510 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10511
10512         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10513         with zeroes before passing them to functions - the functions never do that and
10514         reading the values back may produce wrong values.
10515         (real_bring_up): Store the signal handler id ...
10516         (real_bring_down): ... So that it can be removed here.
10517         Disconnect the supplicant interface here as well.
10518         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10519         from the access point instead of old $device/Networks/$essid.
10520
10521         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10522         device state is connected (instead of just having link/carrier).
10523
10524         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10525         already easily accessible through the device.
10526
10527         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10528         store it within the object.
10529         (nm_ap_get_dbus_path): Export it to public as well.
10530
10531         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10532         of the singleton.
10533
10534 2007-03-12  Dan Williams  <dcbw@redhat.com>
10535
10536         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10537         for non-carrier-detect capable devices, and useless for carrier-detect
10538         devices since we get notifications from netlink about carrier status anyway.
10539
10540         * src/nm-device-802-3-ethernet.c
10541                 - remove 'link_source_id' member from private data
10542                 - (probe_link): remove and collapse into real_update_link()
10543                 - (nm_device_802_3_periodic_update): remove
10544                 - (real_is_up): check for sup_iface rather than link_source_id
10545                 - (real_bring_up): return gboolean for success/fail; require that
10546                         sup_iface be valid for device bringup to succeed
10547                 - (real_bring_down): zero out link signal ids
10548
10549         * src/nm-device.c
10550                 - (nm_device_activate_stage2_device_config): fail activation if device
10551                         bringup fails
10552                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10553                         fails
10554                 - (nm_device_bring_up): return success/fail
10555
10556         * src/nm-device.h
10557                 - bring_up now returns success/fail
10558
10559         * src/nm-device-802-11-wireless.c
10560                 - (real_bring_up): return success from bringup
10561
10562 2007-03-07  Dan Williams  <dcbw@redhat.com>
10563
10564         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10565         * src/nm-ap-security-wpa-psk.c
10566                 - (real_write_supplicant_config): work with PSKs that may contain
10567                         zeros in the binary format rather than treating it as a string
10568
10569 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10570
10571         * libnm-glib/nm-device-802-11-wireless.c
10572         (nm_device_802_11_wireless_get_capabilities): Implement.
10573
10574         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10575
10576         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10577
10578         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10579         reply only if it's not NULL. Not sure why this started happening right now.
10580
10581         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10582         code paths for when devices get removed on shutdown or when a device is just
10583         removed.
10584         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10585         gets freed so any signal from a device (disconnected for instance) would invoke
10586         NMState update which would crash.
10587         (nm_manager_remove_device): Bring the device down when it gets removed.
10588
10589         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10590         the unused dev_type.
10591
10592         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10593         reference to the added device, NMManager will own it (if it wants).
10594
10595         * test/nm-tool.c: Rewrite using libnm-glib.
10596
10597         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10598         We get signalled when it changes.
10599
10600         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10601         when it changes.
10602
10603         * libnm-glib/nm-device.c: Cache the device state property.
10604
10605         * libnm-glib/nm-access-point.c: Cache the strength property.
10606
10607         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10608         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10609         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10610         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10611         the device is down, activating, or activated (in case of A/B/G cards).
10612         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10613         it's all done through supplicant now.
10614
10615         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10616         counting issues with pending calls which caused leaks and crashes when
10617         interface was removed (now that the interface actually gets removed).
10618
10619         * src/nm-call-store.c: Make a copy of data before running a foreach
10620         with user callback on it - The most common usage pattern is to cancel
10621         (and thus remove) all pending calls with foreach which would modify
10622         the hash table we're iterating over.
10623
10624         * src/nm-manager.c: When a device is added, make sure it is "up". When
10625         it's removed or disabled due to disabling wireless or networking, bring
10626         it down.
10627
10628         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10629
10630         * src/nm-device-802-11-wireless.c: 
10631         * src/nm-device-802-3-ethernet.c: 
10632         * src/nm-device.c:
10633                 - Remove "init" virtual function, all gobjects have a place for that
10634                   already (constructor).
10635                 - Replace "start" virtual function with "bring_up", devices can be
10636                   brought up and down more than just on startup now.
10637                 - Add "is_up" virtual function.
10638                 - Implement one way to bring a device down instead of previous 4 different
10639                   ways, each of witch did something different.
10640
10641         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10642         all it needs is the device interface.
10643
10644         Get rid of NMData.dev_list (3 members to go).
10645         Get rif of NMData in a lot of places.
10646
10647         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10648
10649 2007-02-23  Dan Williams  <dcbw@redhat.com>
10650
10651         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10652
10653         * src/NetworkManagerAP.c
10654                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10655                         OR-ing rather than AND-ing
10656
10657 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10658
10659         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10660         "network-removed" signals.
10661
10662         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10663
10664         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10665         when receiving the signal from dbus.
10666
10667         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10668         property.
10669
10670         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10671         deactivation of the previously activated device working again.
10672
10673         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10674         and setter.
10675
10676         * src/nm-device.c (nm_device_is_activated): Remove.
10677         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10678
10679         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10680         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10681         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10682         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10683         Remove NMNetworkStatus and NMActStage enums.
10684
10685 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10686
10687         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10688         Handle device state changes and disconnect VPN if it's device deactivates.
10689
10690         * src/nm-dbus-nm.c: 
10691         * src/nm-dbus-nm.h: 
10692         * src/nm-dbus-device.c: 
10693         * src/nm-dbus-device.c: 
10694         * src/nm-dbus-net.c: 
10695         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10696
10697         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10698
10699         * src/nm-device.c (nm_device_get_by_udi):
10700         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10701         implemented in the correct location (NMManager).
10702         Rip out all the test_device stuff.
10703
10704         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10705         failure handlers, it's all done by NMDevice already.
10706
10707         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10708         Remove the iochannel hack to route the unix signals to the main thread since
10709         we're not threaded anymore.
10710
10711         * src/NetworkManagerAP.c: Implement HWAddress property.
10712
10713         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10714         automatically with dbus-glib.
10715
10716         * src/nm-netlink-monitor.c: 
10717         * src/nm-netlink-monitor.h:
10718                 - Move it low in the class hierarchy, don't reference any NM types.
10719                 - Remove private data from the header.
10720                 - Use type safe checks in public API methods.
10721                 - Make it a singleton so we don't have to pass the single reference around.
10722
10723 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10724
10725         * introspection/nm-ip4-config.xml: Implement.
10726
10727         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10728
10729         * libnm-glib/nm-ip4-config.c:
10730         * libnm-glib/nm-ip4-config.c: Implement.
10731
10732         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10733         securities. APs reference security.
10734
10735         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10736         be exported over DBUS.
10737
10738         * src/nm-device-802-3-ethernet.c: Ditto.
10739
10740         * src/NetworkManagerAP.c:
10741         * src/NetworkManagerAP.h:
10742                 - Convert to GObject, export over DBUS.
10743
10744         * src/nm-ip4-config.h:
10745         * src/nm-ip4-config.h:
10746                 - Convert to GObject, export over DBUS.
10747
10748 2007-02-12  Dan Williams  <dcbw@redhat.com>
10749
10750         Patch from Helmut Schaa <hschaa@suse.de>
10751
10752         * vpn-daemons/pptp/configure.in
10753           vpn-daemons/pptp/Makefile.am
10754           vpn-daemons/openvpn/configure.in
10755           vpn-daemons/openvpn/Makefile.am
10756           vpn-daemons/vpnc/configure.in
10757           vpn-daemons/vpnc/Makefile.am
10758                 - Add --without-gnome switch which disables building gnome bits
10759
10760 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10761
10762         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10763
10764         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10765
10766         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10767         'HwAddress'.
10768
10769         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10770
10771         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10772
10773         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10774
10775         * src/:
10776                 - Remove old low-level dbus interface implementations and replace them
10777                   with dbus-glib one.
10778
10779         * configure.in:
10780                 - Require dbus-glib >= 0.72.
10781                 - Plug in new sources to build.
10782
10783         * libnm-glib/:
10784                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10785                   to make it more convenient to use from GObject based programs.
10786
10787         * introspection/:
10788                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10789
10790 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10791
10792         * src/nm-device-802-11-wireless.c:
10793                 - Add "network-added" and "network-removed" signals.
10794                 - Use gobject boilerplate macros to define the GObject.
10795                 - Implement wireless device activation.
10796                 - Remove activation_failure_handler and activation_success_handler
10797                   and instead listen on state-changed signals and run the same code
10798                   from there.
10799
10800         * src/nm-device.c:
10801                 - Implment NMDeviceInterface::deactivate.
10802                 - Remove activation_failure_handler and activation_success_handler
10803                   virtual methods. Each device which is interested in these events
10804                   can just listen on it's state changed signals.
10805
10806         * src/NetworkManagerPolicy.c:
10807                 - Move a bit more NMData usage to NMManager.
10808                 - Remove activation scheduling bits.
10809                 - Add listeners for wireless device's "network-added" and
10810                   "network-removed" signals.
10811                 - Listen device changed signals and deactivate currently activated
10812                   device when another device start activating (for now).
10813                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10814                   for calling this, the policy code knows exactly when this should happen,
10815                   by listening on events from NMManager and NMDevices.
10816
10817         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10818         Implement.
10819
10820         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10821         method on the specific device instead of going to through policy code
10822         and determining the device type by passed in AP's existance.
10823
10824         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10825         abstract NMDevice deactivation.
10826
10827 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10828
10829         * src/NetworkManager.c:
10830                 - Set up all the shiny new managers.
10831
10832         * src/NetworkManagerPolicy.c:
10833                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10834                   classes to call into policy code, make the policy code kind of like
10835                   a supervisor that monitors what's going on and drives the whole NM.
10836
10837         * src/nm-hal-manager.c: 
10838         * src/nm-hal-manager.h:
10839                 - Collect all libhal code scattered around NM to this one class.
10840                 - Listen libhal and NMManager events and add/remove devices to
10841                   NMManager.
10842
10843         * src/nm-manager.c:
10844         * src/nm-manager.h:
10845                 - Implment a replacement for NMData. NMData is now officially
10846                 deprecated.
10847
10848 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10849
10850         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10851         * src/supplicant-manager/nm-supplicant-interface.h
10852         * src/supplicant-manager/nm-supplicant-interface.c
10853         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10854         argument to boolean from enum.
10855
10856         Make NMDevice abstract class, remove almost all references to it's
10857         subclasses (the last place gets removed with new policy manager). Add
10858         NMDeviceInterface (which NMDevice implements) so that when we have
10859         NMDevice exported over DBUS, there's a common NMDevice interface which
10860         all instances have, plus there's a device specific interface for each
10861         specific type.
10862         Remove functions (nm_device_is_802_3_ethernet) and
10863         (nm_device_is_802_11_wireless). There are already standard GObject macros
10864         for type safe checks.
10865         Use the updated supplican manager API.
10866
10867         * src/nm-device-interface.h: 
10868         * src/nm-device-interface.c: 
10869         * src/nm-call-store.h: 
10870         * src/nm-call-store.c: Implement.
10871
10872         * src/supplicant-manager/nm-supplicant-interface.c:
10873         * src/supplicant-manager/nm-supplicant-interface.h:
10874         * src/supplicant-manager/nm-supplicant-manager.c:
10875         * src/supplicant-manager/nm-supplicant-manager.h:
10876                 - Remove all private data type references from public header files.
10877                 - Remove all references to other NM classes, this class is just a
10878                   proxy between wpa_supplicant and NM so it doesn't have to know
10879                   any internals.
10880                 - Convert to dbus-glib bindings.
10881                 - Type safe checks for public methods' arguments.
10882                 - Store pending DBUS call ids to NMCallStore.
10883
10884         * src/supplicant-manager/nm-supplicant-config.c:
10885                 - Store config values in a GHashTable instead of GSList.
10886
10887         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10888
10889         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10890         singleton now.
10891
10892         * src/nm-device.c: Use the new DHCP manager API.
10893
10894         * src/nm-activation-request.c:
10895         * src/nm-activation-request.h:
10896                 - Remove all dhcp related properties and methods.
10897
10898         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10899
10900         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10901
10902         * src/dhcp-manager/nm-dhcp-manager.c:
10903         * src/dhcp-manager/nm-dhcp-manager.h:
10904                 - Convert it to GObject since we need to signal state changes.
10905                 - Remove all references to other NM classes, this class is one
10906                   of the lowest classes in our hierarchy.
10907                 - One less class to use NMActRequest.
10908                 - Make it singleton, one less user of NMData.
10909                 - Remove a couple of sleep() calls.
10910                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10911                   One less class to use the NM's custom tailored signal handlig.
10912
10913         * Makefile.am: Generate marshallers, add them to build.
10914
10915 2007-02-02  Dan Williams  <dcbw@redhat.com>
10916
10917         * configure.in
10918           gnome/Makefile.am
10919           nm-applet.desktop
10920           Makefile.am
10921                 - Remove last bits referencing gnome applet
10922
10923 2007-02-02  Dan Williams  <dcbw@redhat.com>
10924
10925         * src/vpn-manager/nm-vpn-service.c
10926                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10927                         and NBNS server addresses
10928
10929 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10930
10931         * src/nm-dbus-manager.c:
10932         * src/nm-dbus-manager.h:
10933                 - Convert all internal DBUS code to use dbus-glib bindings.
10934                 - Remove GObject properties, we don't need them here.
10935                 - Don't explicitly set things to NULL after freeing, glib is
10936                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10937                 - Make public API argument checks type safe.
10938                 - Remove unnecessary (and wrong) cast to GObject for the first
10939                   argument to g_signal_* calls - The first argument is a gpointer.
10940                 - Export DBusGConnection to other cool classes that (are going to)
10941                   use dbus-glib.
10942
10943 2007-01-26  Dan Williams  <dcbw@redhat.com>
10944
10945         * libnm-util/dbus-dict-helpers.c
10946           libnm-util/dbus-dict-helpers.h
10947                 - Coordinate style with wpa_supplicant version to minimize diff
10948                 - Add uint32 array support
10949                 - (nmu_dbus_dict_append_uint32_array): new function
10950                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10951                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10952                         version; allow adding string array elements individually
10953
10954         * test/libnm-util/test-dbus-dict-helpers.c
10955                 - Test uint32 arrays
10956
10957 2007-01-27  Jürg Billeter  <j@bitron.ch>
10958
10959         * src/backends/NetworkManagerPaldo.c
10960                 - (nm_system_update_dns): clear nscd hosts cache
10961
10962 2007-01-04  Dan Williams  <dcbw@redhat.com>
10963
10964         Threading removal related cleanups:
10965
10966         - Use the glib default main context.  Remove the device main context
10967                 member from NMDevice, and the main_context member from NMData.  Change
10968                 all the idle and timeout scheduler functions to use plain
10969                 g_idle_add() and g_timeout_add().
10970
10971         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10972                 takes an argument; fix that up too.
10973
10974         - Remove all locking, which is useless since we no longer use threads.  For
10975                 example, nm_get_device_by_iface_locked() has been removed.  The global
10976                 device list lock, the AP List lock, and all static locks in
10977                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10978                 in NetworkManagerUtils.c have also been removed.
10979
10980         - Other cleanups in spacing and code style
10981
10982 2007-01-01  Dan Williams  <dcbw@redhat.com>
10983
10984         Found by Bill Moss:
10985
10986         * src/supplicant-manager/nm-supplicant-interface.c
10987                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10988                         the supplicant interface wasn't already disconnected.  Always
10989                         call removeNetwork and disconnect unless the supplicant interface
10990                         is in the DISCONNECTED or INACTIVE state.
10991
10992 2006-12-28  Dan Williams  <dcbw@redhat.com>
10993
10994         Use a single thread for everything.  With the move to wpa_supplicant
10995         and communication over D-Bus, there's no reason for multiple threads.
10996         Almost all of the blocking code has been removed, with one exception in
10997         the DHCP manager and a few in the VPN manager.  This commit removes the
10998         per-device worker thread and fixes activation cancellation in the absence
10999         of threads.  Further removal of thread-related code would be removing
11000         any locking code (like the device list lock) and simplification of logic
11001         around areas of code or data structures that are currently locked.
11002
11003         * autoip.c
11004           dhcp-manager/nm-dhcp-manager.c 
11005           nm-device-802-11-wireless.c
11006           nm-device-802-3-ethernet.c
11007           nm-device.c
11008           nm-device.h
11009                 - Remove usage of multiple threads
11010
11011 2006-12-19  Dan Williams  <dcbw@redhat.com>
11012
11013         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11014         plus a few other patches from wpa_supplicant bugzilla.
11015
11016         * src/Makefile.am
11017           src/NetworkManagerPolicy.c
11018           src/NetworkManagerUtils.c
11019           src/NetworkManagerUtils.h
11020           src/nm-ap-security-leap.c
11021           src/nm-ap-security-wep.c
11022           src/nm-ap-security-wpa-eap.c
11023           src/nm-ap-security-wpa-psk.c
11024           src/nm-ap-security.c
11025           src/nm-ap-security.h
11026           src/nm-device-802-11-wireless.c
11027           src/nm-device-802-11-wireless.h
11028           src/supplicant-manager/nm-supplicant-config.c
11029           src/supplicant-manager/nm-supplicant-config.h
11030           src/supplicant-manager/nm-supplicant-interface.c
11031           src/supplicant-manager/nm-supplicant-interface.h
11032           src/supplicant-manager/nm-supplicant-marshal.list
11033           src/supplicant-manager/nm-supplicant-settings-verify.c
11034           src/supplicant-manager/nm-supplicant-settings-verify.h
11035                 - Move all connection management and association handling to
11036                         wpa_supplicant over dbus, rather than spawning a private copy
11037
11038 2006-12-19  Dan Williams  <dcbw@redhat.com>
11039
11040         * src/NetworkManagerPolicy.c
11041                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11042                         better locking of the device change check handler ID.  Incorrect
11043                         locking was causing lost device change requests
11044
11045 2006-12-18  Dan Williams  <dcbw@redhat.com>
11046
11047         * libnm-util/dbus-dict-helpers.c
11048                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11049                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11050                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11051
11052 2006-12-18  Dan Williams  <dcbw@redhat.com>
11053
11054         * gnome/libnm_glib/libnm_glib.c
11055                 - Change dbus_connection_close() -> dbus_connection_unref()
11056
11057 2006-12-11  Dan Williams  <dcbw@redhat.com>
11058
11059         * src/supplicant-manager/nm-supplicant-interface.c
11060                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11061                         wpa_supplicant interface state
11062                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11063                         state before transitioning to READY state
11064
11065 2006-12-04  Dan Williams  <dcbw@redhat.com>
11066
11067         * src/nm-device-802-11-wireless.c
11068                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11069                         odd length of ESSID returned from ieee80211 stack-based drivers
11070
11071 2006-12-04  Dan Williams  <dcbw@redhat.com>
11072
11073         * src/nm-device-802-11-wireless.c
11074                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11075                         IE handling blocks that cause mis-parsing of the IE
11076
11077 2006-12-04  Dan Williams  <dcbw@redhat.com>
11078
11079         * src/nm-device-802-11-wireless.c
11080                 - (init_supplicant_interface): new function; pull supplicant interface
11081                         setup code out into standalone function since it must be called from
11082                         two different places
11083                 - (real_init): sup_mgr is now in private object data; get and track
11084                         the supplicant manager object over the NMDevice subclass' lifetime
11085                         and register a signal handler for its state signals; only try to
11086                         initialize the supplicant interface if the supplicant manager is in
11087                         the IDLE state (and therefore is ready for requests)
11088                 - (request_wireless_scan): reschedule the scan request if (a) there is
11089                         no supplicant interface yet (meaning wpa_supplicant isn't running
11090                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11091                         for requests yet
11092                 - (supplicant_iface_connection_state_cb): new function; stub for
11093                         handling supplicant interface connection state signals
11094                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11095                         comes and goes
11096                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11097                         supplicant manager object that's being tracked starting with this
11098                         commit
11099
11100 2006-12-04  Dan Williams  <dcbw@redhat.com>
11101
11102         * src/supplicant-manager/nm-supplicant-interface.c
11103                 - (nm_supplicant_interface_set_property): track signal handler ID
11104                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11105
11106 2006-12-04  Dan Williams  <dcbw@redhat.com>
11107
11108         * src/supplicant-manager/nm-supplicant-interface.[ch]
11109                 - (nm_supplicant_interface_get_state): new function
11110
11111 2006-12-04  Dan Williams  <dcbw@redhat.com>
11112
11113         * src/supplicant-manager/nm-supplicant-interface.c
11114                 - (bssid_properties_cb): don't treat DBus errors as valid
11115                         scanned AP messages
11116
11117 2006-12-04  Dan Williams  <dcbw@redhat.com>
11118
11119         * src/supplicant-manager/nm-supplicant-interface.[ch]
11120                 - (nm_supplicant_interface_get_connection_state): new function
11121                 - define new supplicant connection states
11122                 - send a signal when the supplicant connection state changes
11123
11124 2006-12-03  Dan Williams  <dcbw@redhat.com>
11125
11126         * src/supplicant-manager/Makefile.am
11127           src/supplicant-manager/nm-supplicant-connection.h
11128           src/supplicant-manager/nm-supplicant-connection.c
11129           src/supplicant-manager/nm-supplicant-config.h
11130           src/supplicant-manager/nm-supplicant-config.c
11131           src/supplicant-manager/nm-supplicant-types.h
11132           src/supplicant-manager/nm-supplicant-interface.h
11133           src/supplicant-manager/nm-supplicant-interface.c
11134                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11135
11136 2006-12-03  Dan Williams  <dcbw@redhat.com>
11137
11138         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11139
11140         * po/POTFILES.in
11141           po/POTFILES.skip
11142                 - Move VPN-related translatables to .skip
11143
11144         * vpn-daemons/pptp/po/POTFILES.in
11145                 - Update with new translatables
11146
11147 2006-12-02  Dan Williams  <dcbw@redhat.com>
11148
11149         Patch from Christian Persch <chpe@gnome.org>
11150
11151         * gnome/applet/Makefile.am
11152           gnome/applet/applet-dbus-devices.c
11153           gnome/applet/applet-notifications.c
11154           gnome/applet/applet.c
11155           gnome/applet/applet.h
11156           gnome/applet/main.c
11157                 - Be a GtkStatusIcon on GTK+ >= 2.10
11158
11159 2006-12-02  Dan Williams  <dcbw@redhat.com>
11160
11161         * gnome/applet/applet.c
11162                 - (nma_update_info): fix two unecessary allocations
11163
11164 2006-12-02  Dan Williams  <dcbw@redhat.com>
11165
11166         Patch from Michael Biebl <biebl@teco.edu>
11167         * configure.in
11168           man/NetworkManager.1.in
11169           man/NetworkManagerDispatcher.1.in
11170           man/NetworkManager.8.in
11171           man/NetworkManagerDispatcher.8.in
11172                 - Add .SH NAME stanzas
11173                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11174
11175 2006-12-02  Dan Williams  <dcbw@redhat.com>
11176
11177         Patch from Christian Persch <chpe@gnome.org>
11178
11179         * configure.in
11180                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11181
11182 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11183
11184         Patch by Timo Hoenig <thoenig@suse.de>:
11185         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11186         DBUS-1.0.
11187
11188         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11189         we can't use the one from the main source directory.
11190
11191 2006-11-27  Dan Williams  <dcbw@redhat.com>
11192
11193         Patch from Christian Persch <chpe@gnome.org>
11194
11195         * gnome/applet/applet-dbus-devices.c
11196                 - (hal_info_product_cb): fix memleak; free duped string.
11197                         Gnome.org #379908
11198
11199 2006-11-27  Dan Williams  <dcbw@redhat.com>
11200
11201         Patch from Christian Persch <chpe@gnome.org>
11202
11203         * gnome/applet/menu-items.c
11204                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11205                         as gtk_progress_set_percentage is deprecated.  Should
11206                         work as far back as GTK+ 2.4.  Gnome.org #379780
11207
11208 2006-11-26  Dan Williams  <dcbw@redhat.com>
11209
11210         Scan using wpa_supplicant over DBus.
11211
11212         * src/nm-device-802-11-wireless.c
11213                 - remove wireless extensions netlink event handler bits
11214                         (wireless_event_helper, nm_device_802_11_wireless_event)
11215                 - remove wireless extensions scan event handler bits
11216                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11217                         hex2byte, hex2num, request_and_convert_scan_results,
11218                         free_process_scan_cb_data, scan_results_timeout,
11219                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11220                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11221                         and request scans from the supplicant interface rather than directly
11222                 - Move functionality of convert_scan_results() to cull_scan_list() and
11223                         supplicant_iface_scanned_ap_cb()
11224                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11225                         at the scan interval when the current scan has finished
11226                 - (supplicant_iface_state_cb): start scanning when the supplicant
11227                         interface enters the READY state, and stop scanning when it
11228                         enters the DOWN state
11229                 - (cull_scan_list): weed out old access points from the scan list
11230                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11231                         point into an NMAccessPoint and merge it into the device's scan list
11232
11233         * src/supplicant-manager/nm-supplicant-interface.c
11234           src/supplicant-manager/nm-supplicant-interface.h
11235                 - Add a new signal "scan-result" which is issued when the supplicant
11236                         notifies NM that a scan has completed
11237                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11238                         point found in the scan.  Called once for each access point that
11239                         the supplicant interface object receives from the supplicant as a
11240                         result of the "scanResults" method call
11241                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11242                         for the initial scan results
11243                 - (scan_request_cb): new function; send listeners the result
11244                         (success, error) of a wireless scan request
11245                 - (nm_supplicant_interface_request_scan): new function; ask the
11246                         supplicant to perform an immediate wireless scan
11247
11248 2006-11-25  Dan Williams  <dcbw@redhat.com>
11249
11250         * src/supplicant-manager/Makefile.am
11251                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11252                         add HAL cflags/includes and named-manager includes directory
11253
11254         * src/supplicant-manager/nm-supplicant-interface.h
11255                 - New state STARTING to handle transition from INIT to READY where
11256                         the addInterface pending call is still outstanding
11257
11258         * src/supplicant-manager/nm-supplicant-interface.c
11259                 - track pending calls differently since we may have more than one
11260                         going on at any given time
11261                 - request scan results from wpa_supplicant; but don't do it more often
11262                         than every 4 seconds.  Drivers that do background scanning
11263                         (like the 'ipw' drivers) send a continuous stream of scan completion
11264                         notifications, so we don't want to hammer the supplicant or dbus
11265                         with requests for all scan results every time we get a completion
11266                         notification.
11267
11268 2006-11-25  Dan Williams  <dcbw@redhat.com>
11269
11270         * src/supplicant-manager/nm-supplicant-types.h
11271                 - new file; move all supplicant manager object typedefs here for
11272                         #include sanity
11273
11274         * src/supplicant-manager/nm-supplicant-interface.c
11275           src/supplicant-manager/nm-supplicant-interface.h
11276                 - new file; an object that interfaces an NMDevice object to the
11277                         supplicant and handles signals from the supplicant.  This object
11278                         does all necessary DBus communication with wpa_supplicant.
11279
11280         * src/supplicant-manager/nm-supplicant-manager.c
11281           src/supplicant-manager/nm-supplicant-manager.h
11282                 - Actually do something.  Track the state of the wpa_supplicant service
11283                         and deal with its comings & goings.  Handle life events of
11284                         supplicant interfaces too.
11285                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11286
11287         * src/supplicant-manager/nm-supplicant-connection.h
11288                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11289
11290         * src/supplicant-manager/Makefile.am
11291                 - Add new files to build, and add libnm-util to includes
11292
11293         * src/nm-marshal.list
11294                 - New marshaler type: VOID:UINT,UINT
11295
11296         * src/nm-device-802-3-ethernet.c
11297                 - (real_init): grab a supplicant interface
11298                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11299                 - (supplicant_iface_state_cb): new function, stub for handling
11300                         supplicant interface state changes
11301
11302         * src/nm-device-802-11-wireless.c
11303                 - (real_init): grab a supplicant interface
11304                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11305                 - (supplicant_iface_state_cb): new function, stub for handling
11306                         supplicant interface state changes
11307
11308         * src/NetworkManager.c
11309                 - (main): create and keep the supplicant manager around for the lifetime
11310                         of NetworkManager
11311
11312         * src/Makefile.am
11313                 - Link to the supplicant manager sub-library and use the supplicant
11314                         manager includes
11315
11316 2006-11-25  Dan Williams  <dcbw@redhat.com>
11317
11318         Rework DBus manager signal handling to be more flexible.  Previously,
11319         only one signal handler could be registered for a particular interface.
11320         The DBus manager now reference counts DBus bus matches and allows multiple
11321         clients to register signal handlers for the same interface and sender.
11322
11323         * src/NetworkManager.c
11324                 - (main): track NMI signal handler ID and remove it when we quit
11325
11326         * src/NetworkManagerMain.h
11327                 - Keep track of NMI signal handler ID
11328
11329         * src/nm-dbus-manager.c
11330           src/nm-dbus-manager.h
11331                 - rework signal handling; each signal handler references one signal
11332                         match, but a signal match may be referenced by one or more
11333                         signal handlers.  Matches are refcounted and are destroyed when the
11334                         last signal handler that references the match is removed.  This is
11335                         necessary because two signal handlers may end up requiring the same
11336                         dbus bus match, so the match must live until the last signal handler
11337                         is destroyed (for example, with the wpa_supplicant network interface
11338                         dbus interface).
11339
11340         * src/dhcp-manager/nm-dhcp-manager.c
11341                 - (nm_dhcp_manager_new): track DHCP signal handler id
11342                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11343
11344         * src/vpn-manager/nm-vpn-service.c
11345                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11346                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11347
11348 2006-11-25  Dan Williams  <dcbw@redhat.com>
11349
11350         Suggested by Helmut Schaa <hschaa@suse.de>
11351
11352         * src/vpn-daemons/nm-vpn-service.c
11353                 - (supplicant_child_setup): new function
11354                 - (supplicant_exec): make child process use a new process group id
11355
11356         * src/nm-device-802-11-wireless.c
11357                 - (nm_vpn_service_child_setup): new function
11358                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11359                         process group id
11360
11361 2006-11-19  Dan Williams  <dcbw@redhat.com>
11362
11363         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11364         * gnome/vpn-properties/nm-vpn-properties.c
11365                 - clean up after renamed VPN connection
11366
11367 2006-11-19  Dan Williams  <dcbw@redhat.com>
11368
11369         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11370         * gnome/applet/applet-dbus-vpn.c
11371                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11372
11373         * gnome/vpn-properties/nm-vpn-properties.c
11374                 - (init_app): sort VPN connections
11375
11376 2006-11-09  Dan Williams  <dcbw@redhat.com>
11377
11378         * src/NetworkManagerAPList.c
11379                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11380                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11381                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11382                 broke hidden SSID matching.  Found by Bill Moss.
11383
11384 2006-10-25  Dan Williams  <dcbw@redhat.com>
11385
11386         * src/nm-dbus-nm.c
11387                 - (nm_dbus_nm_set_active_device): return an empty success message on
11388                         success, rather than falling through to the error case.
11389
11390 2006-10-25  Dan Williams  <dcbw@redhat.com>
11391
11392         * src/NetworkManagerUtils.c
11393                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11394                         "SCAN" command
11395
11396 2006-10-24  Dan Williams  <dcbw@redhat.com>
11397
11398         Reduce the number of times the Gnome applet wakes up, especially when
11399         it's doing absolutely nothing and is hidden.  Initial patch by
11400         Chris Aillon.
11401
11402         * gnome/applet/applet-dbus.c
11403                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11404                         kill the redraw timeout.  When NM starts up, start the redraw
11405                         timeout.  Also, if we get kicked off the bus for some reason,
11406                         start the reconnection timeout if one's not already running.
11407                 - (nma_dbus_init): better handling of error conditions, don't leak
11408                         a half-initialized dbus connection
11409                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11410                         the applet's data, just call nm_dbus_init_helper()
11411                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11412                         timeout that calls nma_dbus_connection_watcher()
11413                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11414                         reconnection timeout, and don't start the reconnection timeout
11415                         unconditionally anymore
11416
11417         * gnome/applet/applet-dbus.h
11418                 - Expose nma_start_dbus_connection_watch()
11419
11420         * gnome/applet/applet.c
11421                 - (nma_update_state): no longer static, called from applet-dbus.c for
11422                         immediate UI updates on certain events
11423                 - (nma_set_running): new function; take over setting applet->running,
11424                         when not running (ie, NM is not active), don't activate the redraw
11425                         timeout because we're not showing the applet anyway.  When we are
11426                         running (ie, NM is active), and only when we're running, start the
11427                         redraw timeout.
11428                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11429                         kill any reconnection timeout
11430                 - (nma_get_instance): move one-off dbus initialization code here since
11431                         nm_dbus_init_helper() gets called more than once, possibly by the
11432                         reconnection timeout function too.  And, when we start up, if we
11433                         can't get a connection to the bus, start the reconnection timeout.
11434                         But don't start the redraw timeout yet, only do that when we get
11435                         NM's state and find out if it's running or not.
11436
11437         * gnome/applet/applet.h
11438                 - Add the reconnection GSource ID
11439                 - Add prototypes for nma_set_running() and the no-longer-static
11440                         nma_update_state()
11441
11442 2006-10-24  Dan Williams  <dcbw@redhat.com>
11443
11444         * src/vpn-daemons/nm-dbus-vpnc.c
11445                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11446                         pending call tracker
11447                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11448                         pending call tracker; register one-vpn-connection update pending
11449                         call in pending call tracker
11450                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11451                         update pending call in pending call tracker
11452                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11453                         update pending call in pending call tracker; don't block waiting
11454                         for call to return
11455
11456 2006-10-19  Robert Love  <rml@novell.com>
11457
11458         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11459           refresh the cache.
11460
11461 2006-10-14  Dan Williams  <dcbw@redhat.com>
11462
11463         * src/dhcp-manager/nm-dhcp-manager.c
11464                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11465                 the dbus connection and the device object path rather than
11466                 constructing it inside both functions.  Saves a bit of memory
11467                 and clarifies a failure path.
11468                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11469                 and allocate device path here rather than each of the two
11470                 functions above.
11471
11472 2006-10-13  Dan Williams  <dcbw@redhat.com>
11473
11474         * src/NetworkManager.c
11475                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11476                 this somehow droppout in the refactor
11477
11478 2006-10-13  Dan Williams  <dcbw@redhat.com>
11479
11480         * Huge DBus refactor:
11481                 - Create a "DBus Manager" object which manages the connection and
11482                 sends signals on NameOwnerChanged and connection/disconnection events,
11483                 handles reconnection to the bus if NM gets kicked off, and abstracts
11484                 signal handling
11485                 - Remove DBusConnection members from places where they are no
11486                 longer needed due to the refactor, like the dbus-connection
11487                 property of the named manager, and from NMData
11488                 - Reformats a bunch of the code to gnome style
11489                 (8-space tabs, braces on same line as statement, 80-col width).
11490                 Consider it open season to reformat any bits to gnome style.
11491                 style that aren't already.
11492
11493 2006-10-13  Dan Williams  <dcbw@redhat.com>
11494
11495         * src/supplicant-manager/Makefile.am
11496                 - Add new files
11497
11498         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11499                 - Make it a minimal GObject
11500
11501         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11502                 - Verify settings destined for wpa_supplicant
11503
11504         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11505                 - Minimal GObject to track wpa_supplicant controlled device
11506                 connections
11507
11508 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11509
11510         * gnome/applet/applet.c: (nma_update_info),
11511         (nma_act_stage_to_pixbuf), (nma_update_state):
11512         Mark missing strings for translation. Fixes bug #343306.
11513
11514 2006-10-01  Dan Williams  <dcbw@redhat.com>
11515
11516         * src/vpn-manager/nm-vpn-manager.c
11517                 - (nm_vpn_manager_load_services): split and clean up
11518                 for readability and correctness.  Restrict VPN service
11519                 files to ending in ".name", as was meant from the
11520                 beginning (but not coded in).  Better error reporting.
11521
11522 2006-10-01  Dan Williams  <dcbw@redhat.com>
11523
11524         * utils/nm-utils.h
11525                 - Clean up formatting of debug/info/warning log messages
11526
11527 2006-09-27  Robert Love  <rml@novell.com>
11528
11529         Patch by Tambet Ingo <tambet@ximian.com>:
11530         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11531           actually work.
11532
11533 2006-09-07  Dan Williams <dcbw@redhat.com>
11534
11535         * test/Makefile.am
11536           test/libnm-util/Makefile.am
11537           test/nm-supplicant-test.c
11538                 - Add test program emulating the way NM drives wpa_supplicant
11539                 to help debug supplicant issues
11540
11541 2006-08-24  Dan Williams <dcbw@redhat.com>
11542
11543         * configure.in
11544           src/Makefile.am
11545           src/supplicant-manager/Makefile.am
11546           src/supplicant-manager/nm-supplicant-manager.c
11547           src/supplicant-manager/nm-supplicant-manager.h
11548                 - Add skeleton bits of the wpa_supplicant manager
11549
11550 2006-08-24  Dan Williams <dcbw@redhat.com>
11551
11552         Patch from Ed Catmur:
11553         * src/NetworkManagerUtils.c
11554                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11555                 if netmask is 0 (Gnome #352634)
11556
11557 2006-08-17  Robert Love  <rml@novell.com>
11558
11559         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11560           package is now DBUS-enabled and listens for the NM signals.
11561
11562 2006-08-14  Dan Williams  <dcbw@redhat.com>
11563
11564         * Patch from Christian Persch <chpe gnome org>
11565         * configure.in
11566           po/LINGUAS
11567           vpn-daemons/openvpn/po/LINGUAS
11568           vpn-daemons/openvpn/configure.in
11569           vpn-daemons/pptp/po/LINGUAS
11570           vpn-daemons/pptp/configure.in
11571           vpn-daemons/vpnc/po/LINGUAS
11572           vpn-daemons/vpnc/configure.in
11573                 - Convert to LINGUAS method so translators don't have to modify
11574                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11575                 0.35 or higher
11576
11577 2006-08-14  Dan Williams  <dcbw@redhat.com>
11578
11579         Patch from Alex Smith <alex.extreme2@gmail.com>
11580         * configure.in
11581           src/backends/Makefile.am
11582           src/backends/NetworkManagerFrugalware.c
11583                 - Add support for Frugalware
11584
11585 2006-08-13  Dan Williams  <dcbw@redhat.com>
11586
11587         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11588         * src/nm-device-802-11-wireless.c
11589                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11590                 Gnome #346875
11591
11592 2006-08-13  Dan Williams  <dcbw@redhat.com>
11593
11594         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11595         * src/nm-ap-security.c
11596           src/nm-ap-security.h
11597                 - Add authentication_required bits for subclasses to specify whether
11598                 or not real authentication is required for connections, i.e. whether
11599                 the AP rejects us when an encryption key is wrong or not.
11600
11601         * src/nm-ap-security-wep.c
11602           src/nm-ap-security-wpa-eap.c
11603           src/nm-ap-security-wpa-psk.c
11604           src/nm-ap-security-leap.c
11605                 - Implement authentication_required appropriately for each method
11606
11607         * src/nm-device-802-11-wireless.c
11608                 - Be smarter about when to request a key; for example, using a wrong key
11609                 in WEP shared key mode previously just timed out and did not request
11610                 a new key
11611
11612 2006-08-13  Dan Williams  <dcbw@redhat.com>
11613
11614         * gnome/libnm_glib/libnm_glib.c
11615                 - dbus_connection_disconnect() -> dbus_connection_close() for
11616                 dbus >= 0.90
11617
11618 2006-08-07  Dan Williams  <dcbw@redhat.com>
11619
11620         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11621         * src/NetworkManagerSystem.c
11622                 - Respect specified MTU.  Gnome #344967
11623
11624 2006-08-07  Dan Williams  <dcbw@redhat.com>
11625
11626         * src/vpn-manager/nm-vpn-service.c
11627                 - Simplify print_vpn_config() arguments
11628
11629         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11630         * src/vpn-manager/Makefile.am
11631           src/vpn-manager/nm-vpn-service.c
11632                 - Add new API for passing VPN config options as a dict. Gnome #344967
11633
11634 2006-08-06  Dan Williams  <dcbw@redhat.com>
11635
11636         * gnome/applet/applet-dbus-devices.c
11637           gnome/applet/applet-dbus-vpn.c
11638           gnome/applet/applet-dbus.c
11639           gnome/applet/applet-dbus.h
11640           src/nm-dbus-nmi.c
11641           utils/nm-utils.c
11642           utils/nm-utils.h
11643                 - Make pending call tracking code generic,
11644                 so we can use it in NM as well as the applet
11645
11646 2006-08-06  Dan Williams  <dcbw@redhat.com>
11647
11648         * src/nm-activation-request.c
11649                 - Refcount pending call objects
11650
11651 2006-08-06  Dan Williams  <dcbw@redhat.com>
11652
11653         Patch from Christan Chiesa <christanc@gmail.com>
11654         * configure.in
11655                 - Tell sha1.c to use bigendian mode on PPC
11656
11657 2006-08-04  Robert Love  <rml@novell.com>
11658
11659         Glib Memory Slices!
11660         * configure.in: Require glib 2.10 or later.
11661         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11662           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11663           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11664           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11665           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11666           Memory Slices are the greatest thing since bread slices.
11667         * src/NetworkManagerAP.c: Also, fix memory leak.
11668
11669 2006-08-01  Robert Love  <rml@novell.com>
11670
11671         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11672
11673 2006-07-31  Robert Love  <rml@novell.com>
11674
11675         * src/backends/interface_parser.c: Declarations must begin the block.
11676
11677 2006-07-24  Dan Williams  <dcbw@redhat.com>
11678
11679         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11680         * src/backends/Makefile.am
11681           src/backends/NetworkManagerArch.c
11682           src/backends/NetworkManagerDebian.c
11683           src/backends/NetworkManagerGeneric.c
11684           src/backends/NetworkManagerGeneric.h
11685           src/backends/NetworkManagerGentoo.c
11686           src/backends/NetworkManagerPaldo.c
11687           src/backends/NetworkManagerRedHat.c
11688           src/backends/NetworkManagerSlackware.c
11689           src/backends/NetworkManagerSuSE.c
11690                 - Genericize common backend functions
11691
11692 2006-07-18  Robert Love  <rml@novell.com>
11693
11694         * configure.in: Add "--with-notify" option to allow disabling of
11695           libnotify support.
11696
11697 2006-07-13  Dan Williams  <dcbw@redhat.com>
11698
11699         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11700         * gnome/applet/applet.glade
11701           gnome/applet/Makefile.am
11702           gnome/applet/nm-gconf-wso.c
11703           gnome/applet/nm-gconf-wso-leap.c
11704           gnome/applet/nm-gconf-wso-leap.h
11705           gnome/applet/wireless-security-manager.c
11706           gnome/applet/wso-leap.c
11707           gnome/applet/wso-leap.h
11708           include/NetworkManager.h
11709           libnm-util/dbus-helpers.c
11710           libnm-util/dbus-helpers.h
11711           src/Makefile.am
11712           src/NetworkManagerAP.c
11713           src/nm-ap-security.c
11714           src/nm-ap-security-leap.c
11715           src/nm-ap-security-leap.h
11716                 - Add LEAP authentication support
11717
11718 2006-07-13  Dan Williams  <dcbw@redhat.com>
11719
11720         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11721         * configure.in
11722           src/backends/NetworkManagerArch.c
11723           src/backends/NetworkManagerDebian.c
11724           src/backends/NetworkManagerGentoo.c
11725           src/backends/NetworkManagerPaldo.c
11726           src/backends/NetworkManagerRedHat.c
11727           src/backends/NetworkManagerSlackware.c
11728           src/backends/NetworkManagerSuSE.c
11729                 - Convert hardcoding of 'ip' path to configure-time
11730                         detected one
11731
11732 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11733
11734         * configure.in: added ru to ALL_LINGUAS
11735
11736 2006-07-10  Dan Williams  <dcbw@redhat.com>
11737
11738         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11739         * src/nm-device.c
11740                 - (real_act_stage3_ip_config_start): don't infinite loop when
11741                         dhcdbd isn't running (Gnome #346845)
11742
11743 2006-07-09  Dan Williams  <dcbw@redhat.com>
11744
11745         * gnome/applet/applet.c
11746                 - (nma_destroy): don't pass NULL to notify_notification_close
11747                         (RH #197917)
11748
11749 2006-07-09  Dan Williams  <dcbw@redhat.com>
11750
11751         * gnome/applet/applet.c
11752                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11753
11754 2006-07-04  Tor Krill  <tor@krill.nu>
11755
11756         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11757         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11758         (nm_system_restart_mdns_responder), (ArchReadConfig),
11759         (nm_system_device_get_system_config):
11760                 - Explicitly check for DHCP configuration
11761                 - Check if daemons are running before starting them
11762
11763 2006-06-25  Dan Williams  <dcbw@redhat.com>
11764
11765         * libnm-util/dbus-dict-helpers.[ch]
11766           test/libnm-util/test-dbus-dict-helpers.c
11767                 - Add string array support
11768
11769 2006-06-24  Dan Williams  <dcbw@redhat.com>
11770
11771         * src/dhcp-manager/nm-dhcp-manager.c
11772                 - (nm_dhcp_manager_process_signal): clean up spacing
11773
11774 2006-06-21  Dan Williams  <dcbw@redhat.com>
11775
11776         * src/nm-dbus-device.c
11777                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11778                         through dbus
11779
11780 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11781
11782         * configure.in: Added 'lv' to ALL_LINGUAS
11783
11784 2006-06-19  Dan Williams  <dcbw@redhat.com>
11785
11786         * src/NetworkManagerAP.c
11787                 - Clarify usage of user_created
11788
11789         * src/nm-ap-security-wep.c
11790           src/nm-ap-security-wpa-eap.c
11791           src/nm-ap-security-wpa-psk.c
11792           src/nm-ap-security.c
11793           src/nm-ap-security.h
11794                 - s/user_created/adhoc, because we really do mean adhoc
11795
11796         Patch from Bernard Blackham <bernard@blackham.com.au>
11797         * src/nm-device-802-11-wireless.c         
11798                 - (supplicant_send_network_config): instead of user_created,
11799                         use adhoc, and do AP_SCAN 2 for adhoc networks
11800
11801 2006-06-18  Robert Love  <rml@novell.com>
11802
11803         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11804           we have a value to set.  Gconf generates a warning if `val' is NULL.
11805         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11806           unless we actually received a valid private key file passphrase or
11807           password.  Otherwise, we don't know to later ask the applet to pull
11808           the key from the keyring.
11809
11810 2006-06-17  Dan Williams  <dcbw@redhat.com>
11811
11812         * libnm-util/dbus-dict-helpers.[ch]
11813           test/libnm-util/test-dbus-dict-helpers.c
11814                 - Fixes for zero-length byte arrays
11815                 - Replace return values of 0 with FALSE for clarity
11816                 - Test zero-length byte arrays
11817
11818 2006-06-17  Dan Williams  <dcbw@redhat.com>
11819
11820         * libnm-util/dbus-dict-helpers.[ch]
11821           test/libnm-util/test-dbus-dict-helpers.c
11822                 - Add helpers for byte arrays
11823                 - Rework bits of the testcase
11824
11825 2006-06-16  Dan Williams  <dcbw@redhat.com>
11826
11827         * libnm-util/Makefile.am
11828         * libnm-util/dbus-dict-helpers.[ch]
11829                 - Add some helpers to take the pain out of using dict types in
11830                         dbus.
11831
11832         * test/libnm-util/Makefile.am
11833         * test/libnm-util/test-dbus-dict-helpers.c
11834                 - Test cases for the dict helper functions
11835
11836 2006-06-15  Robert Love  <rml@novell.com>
11837
11838         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11839           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11840           if there is no key to pass.
11841         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11842           receiving a non-NULL key.
11843
11844 2006-06-14  Robert Love  <rml@novell.com>
11845
11846         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11847           copy the strings.
11848
11849
11850 2006-06-14  Dan Williams  <dcbw@redhat.com>
11851
11852         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11853         * src/nm-device-802-11-wireless.c
11854                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11855                         or ones where the driver is unknown
11856                 - (supplicant_exec): don't wait for supplicant startup here
11857                 - (supplicant_interface_init): finer grained polling for supplicant
11858                         startup
11859
11860 2006-06-13  Robert Love  <rml@novell.com>
11861
11862         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11863           if it is currently set to TRUE.  Otherwise, we will reset the value
11864           when we connect normally.
11865         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11866           the old BSSID is valid, too.  The recently added ESSID check may not be
11867           sufficient (we can remove it?).  What we really want to catch is the
11868           case of going from all-zeros to the BSSID of some other network, which
11869           happens on failure.
11870
11871 2006-06-09  Dan Williams  <dcbw@redhat.com>
11872
11873         * src/NetworkManagerSystem.[ch]
11874                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11875                         it was unused and pointless
11876                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11877                         fix for set_up_down_with_iface change
11878
11879         * src/vpn-manager/nm-vpn-connection.c
11880                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11881
11882         * src/backends/NetworkManagerPaldo.c
11883           src/backends/NetworkManagerRedHat.c
11884           src/backends/NetworkManagerSuSE.c
11885           src/backends/NetworkManagerArch.c
11886           src/backends/NetworkManagerDebian.c
11887           src/backends/NetworkManagerGentoo.c
11888                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11889                         appropriate
11890                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11891                         where appropriate
11892
11893 2006-06-09  Dan Williams  <dcbw@redhat.com>
11894
11895         Patch from Peter Jones:
11896         * src/nm-device-802-11-wireless.c
11897                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11898                         SSID hasn't changed from what we expect before automatically
11899                         updating the saved BSSID from a new AP
11900
11901 2006-06-08  Robert Love  <rml@novell.com>
11902
11903         Add 'fallback' support.  NetworkManager will attempt to brute-force
11904         connect to networks marked as fallback if there are no better wireless
11905         connections available.  This is useful as a method of last resort, to
11906         work around driver problems, and for use with hidden networks.
11907         * gnome/applet/applet-dbus-devices.c,
11908           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11909         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11910           pass it on via DBUS.
11911         * gnome/applet/applet.c: No fallback by default.
11912         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11913           Update other-network-dialog to add UI checkbox toggling fallback.
11914         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11915           propery from AP object.  Add "fallback" property to AP object.
11916         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11917         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11918         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11919           separate function.  Add get_best_fallback_ap() for returning an AP
11920           on which to attempt fallback.
11921         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11922         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11923
11924 2006-06-07  Robert Love  <rml@novell.com>
11925
11926         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11927           checked that the return type was GCONF_VALUE_STRING, not the correct
11928           GCONF_VALUE_BOOL, and thus it never worked.
11929         * src/NetworkManagerAPList.c: Before concluding that two networks are
11930           identical based on their BSSID, make sure that the BSSID in question
11931           is actually valid.  Specifically, an empty or all zero BSSID does not
11932           cut it.
11933         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11934           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11935           similar invariant clean up.
11936
11937 2006-06-02  Robert Love  <rml@novell.com>
11938
11939         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11940
11941 2006-05-28  Dan Williams  <dcbw@redhat.com>
11942
11943         * gnome/applet/applet.glade
11944           gnome/vpn-properties/nm-vpn-properties.glade
11945                 - Set window icons on dialogs  (Gnome.org #333420)
11946
11947 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11948
11949         * gnome/vpn-properties/nm-vpn-properties.glade:
11950         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11951         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11952         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11953                 - Make the VPN properties pages prettier and more HIG
11954                   compliant. Gnome Bug #336913.
11955
11956 2006-05-28  Dan Williams  <dcbw@redhat.com>
11957
11958         Patch from Christian Persch <chpe@gnome.org>
11959         * gnome/vpn-properties/nm-vpn-properties.c
11960         * gnome/vpn-properties/nm-vpn-properties.glade
11961                 - HIG-ification love  (Gnome.org #336846)
11962
11963 2006-05-28  Dan Williams  <dcbw@redhat.com>
11964
11965         Patch from Christian Persch <chpe@gnome.org>
11966         * configure.in
11967           gnome/vpn-properties/nm-vpn-properties.c
11968                 - (main): Fix option parsing.  Gnome.org #336847
11969
11970 2006-05-28  Dan Williams  <dcbw@redhat.com>
11971
11972         * gnome/vpn-properties/nm-vpn-properties.c
11973                 - (find_vpn_ui_by_service_name): protect against NULL service names
11974                 - (update_edit_del_sensitivity): protect against NULL service names
11975                         Gnome.org #341306
11976
11977 2006-05-28  Dan Williams  <dcbw@redhat.com>
11978
11979         Patch from Chris Fuller <crf@grandecom.net>:
11980         * src/nm-device-802-11-wireless.c
11981                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11982                         don't dispose of wireless-specific stuff unless it is actually
11983                         initialized.  Gnome.org #341263
11984
11985 2006-05-28  Dan Williams  <dcbw@redhat.com>
11986
11987         * src/NetworkManagerPolicy.c
11988                 - (nm_policy_device_change_check): don't switch devices if the "best"
11989                         AP is essentially the same as the current activation request, but
11990                         the current activation request isn't done activating yet.  Fixes
11991                         multiple requests for keyring password on startup for Gnome applet.
11992                         Gnome.org #341297
11993
11994 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11995
11996         * src/NetworkManager.c: use GOptions instead of getopt
11997         * configure.in: bump glib required version to >= 2.6 for GOption
11998           support
11999
12000 2006-05-25  Robert Love  <rml@novell.com>
12001
12002         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12003           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12004           instead of dumping ifdef's throughout the code.
12005         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12006           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12007           use nm_ioctl_info() in lieu.
12008
12009 2006-05-25  Robert Love  <rml@novell.com>
12010
12011         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12012         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12013           not using gcrypt.  Otherwise, we get a linker error.
12014
12015 2006-05-25  Robert Love  <rml@novell.com>
12016
12017         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12018         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12019           configure flag to disable building of the GNOME-based applet.
12020
12021 2006-05-25  Robert Love  <rml@novell.com>
12022
12023         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12024           parameter from link, because it shadows a global variable with some
12025           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12026           should never have exported to the entire system a common four letter
12027           word.  But we here at NetworkManager are team players.  Fixes
12028           GNOME bug #336532.
12029
12030 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12031
12032         * configure.in: Added mk.po, Macedonian translation.
12033
12034 2006-05-24  Robert Love  <rml@novell.com>
12035
12036         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12037           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12038           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12039
12040 2006-05-24  Robert Love  <rml@novell.com>
12041
12042         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12043           libnm-util/Makefile.am, src/Makefile.am,
12044           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12045           vpn-daemons/openvpn/properties/Makefile.am,
12046           vpn-daemons/pptp/auth-dialog/Makefile.am,
12047           vpn-daemons/pptp/properties/Makefile.am,
12048           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12049           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12050           user passed for --datadir, if anything, when setting the GNOME locale
12051           directory.  It should be a function of the specified datadir and not
12052           the prefix.
12053
12054 2006-05-24  Robert Love  <rml@novell.com>
12055
12056         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12057           src/NetworkManager.c: Take care to call bindtextdomain with the
12058           location of msgid files.
12059         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12060           files.
12061
12062 2006-05-22  Robert Love  <rml@novell.com>
12063
12064         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12065           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12066           99% of the time there is a real problem with wireless, and a
12067           seemingly successful connection via Zeroconf just confuses the user.
12068           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12069
12070 2006-05-22  Robert Love  <rml@novell.com>
12071
12072         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12073           autofs on interface up if NIS is configured.  On interface down, do
12074           nothing.
12075
12076 2006-05-22  Robert Love  <rml@novell.com>
12077
12078         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12079           to avoid calling g_object_unref() on stale pointers on error in
12080           nma_icons_free().  This happens because we short-circuit loaded the
12081           icons on the first failure but then free all icons.  Normally we have
12082           no issue because the icons were zero'ed out malloc, but we have stale
12083           pointer data after nma_icon_theme_changed().
12084         * gnome/applet/main.c: Return error code if nma_new() failed.
12085
12086 2060-05-21  Dan Williams  <dcbw@redhat.com>
12087
12088         * initscript/NetworkManager.in
12089                 - Ensure both dhcdbd and named are started before NM
12090
12091 2006-05-21  Dan Williams  <dcbw@redhat.com>
12092
12093         * configure.in
12094                 - Bump version to 0.7 to signify we are in 0.7 development
12095
12096 2006-05-21  Dan Williams  <dcbw@redhat.com>
12097
12098         Patch from Adam Schreiber <sadam@clemson.edu>
12099         * gnome/vpn-properties/nm-vpn-properties.c
12100                 - (main): correct Gnome program name  (gnome.org #342498)
12101
12102 2006-05-21  Dan Williams  <dcbw@redhat.com>
12103
12104         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12105
12106         * src/NetworkManagerDbus.[ch]
12107                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12108                         clarify that function's argument should be an escaped dbus object
12109                         path, and look for path segment end before returning a match
12110         * src/nm-dbus-nm.c:
12111                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12112
12113 2006-05-17  Robert Love  <rml@novell.com>
12114
12115         Functionality to differentiate Ad-Hoc networks from infrastructure
12116         networks in the applet, by displaying a special icon:
12117         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12118         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12119         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12120           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12121           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12122           networks, encrypted or not.
12123         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12124           accessor functions to get and set the mode of a given network,
12125           wireless_network_get_mode() and wireless_network_set_mode().
12126
12127 2006-05-17  Robert Love  <rml@novell.com>
12128
12129         Functionality to automatically add BSSIDs to the allowed-MAC list as
12130         one roams from access point to access point on a given network:
12131         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12132           helper function to compare two ether_addr structures and return TRUE
12133           if they contain the same MAC address.
12134         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12135           prototype.
12136         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12137           stored with the current AP.  If the BSSID has indeed changed, we
12138           send it out to the applet, allowing the allowed-MAC list to grow
12139           automatically in response to roaming.
12140
12141 2006-05-16  Robert Love  <rml@novell.com>
12142
12143         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12144           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12145
12146 2006-05-13  Dan Williams  <dcbw@redhat.com>
12147
12148         * src/nm-device-802-3-ethernet.c
12149                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12150                         carrier detect (Debian bug #366373)
12151
12152 2006-05-11  Dan Williams  <dcbw@redhat.com>
12153
12154         Patch from Michael Biebl <biebl@teco.edu>
12155         * src/backends/NetworkManagerDebian.c
12156                 - Debian backend fixups
12157
12158 2006-05-10  Robert Love  <rml@novell.com>
12159
12160         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12161
12162 2006-05-09  Robert Love  <rml@novell.com>
12163
12164         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12165           private certificate passphrase, if any, in the GNOME Keyring.
12166         * libnm-utils/dbus-helpers.c: Update.
12167
12168 2006-05-05  Dan Williams  <dcbw@redhat.com>
12169
12170         * src/nm-device-802-11-wireless.c
12171                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12172                         nm_device_802_11_wireless_disable_encryption() since that's all
12173                         we use it for anymore; we don't ever set WEP keys ourselves.
12174                 - (real_deactivate_quickly): reset SSID and encryption keys
12175                 - (real_deactivate): move SSID and encryption key reset to
12176                         real_deactivate_quickly(), which gets run before us anyway
12177
12178 2006-05-05  Robert Love  <rml@novell.com>
12179
12180         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12181           root has a wacky default of its own (or, more common, a user has a
12182           bad umask and uses su/sudo to restart NetworkManager).  Anything
12183           other than 0022 does not do what we want with, for example,
12184           resolv.conf.  This problem is amplified by our judicious use of
12185           fopen(), which uses mode 0666 -- implying that the only way to get
12186           the permissions we want is with a umask of 0022.
12187
12188 2006-05-05  Dan Williams  <dcbw@redhat.com>
12189
12190         * gnome/libnm_glib/libnm_glib.c
12191                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12192                         to reconnect; instead wait a bit more with each reconnect attempt
12193                         up to a max of one minute.
12194
12195 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12196
12197         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12198           the WirelessNetwork structure using the proper function instead of
12199           just casting it directly to (const char *) (gnome.org #336991)
12200
12201 2006-05-03  Robert Love  <rml@novell.com>
12202
12203         * src/backends/NetworkManagerSuSE.c: Respect the variable
12204           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12205           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12206           to dynamically update /etc/resolv.conf.
12207
12208 2006-05-02  Peter Jones  <pjones@redhat.com>
12209
12210         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12211
12212 2006-05-02  Robert Love  <rml@novell.com>
12213
12214         Patch by Timo Hoenig;
12215         * tests/nm-online.c: Print pretty status indicator as timeout winds
12216           down.  Also fix possible race between DBUS startup and failure
12217           return.
12218
12219 2006-05-01  Robert Love  <rml@novell.com>
12220
12221         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12222           empty, too.
12223
12224 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12225
12226         * src/nm-device.c (discover_device_type): Actually use the hal
12227         device type instead of ioctl poking
12228
12229 2006-04-26  Robert Love  <rml@novell.com>
12230
12231         * tests/nm-online.c: New file.  Simple utility that returns exit status
12232           noting whether the connection is offline or online.  If offline on
12233           start, it waits 30 seconds (or a command-line given value) for an
12234           online signal.  If it times out, it again returns offline.  This is
12235           useful for scripts that want to wait for network connections.
12236
12237 2006-04-25  Robert Love  <rml@novell.com>
12238
12239         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12240           key mode (the authentication algorithm), e.g. open or shared, when we
12241           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12242           only shared was broken.  If the user specified a shared key, set it
12243           explicitly, otherwise let wpa_supplicant go with the default.
12244
12245 2006-04-24  Dan Williams  <dcbw@redhat.com>
12246
12247         * src/nm-device-802-11-wireless.c
12248                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12249
12250 2006-04-24  Dan Williams  <dcbw@redhat.com>
12251
12252         Commit the async scanning patch
12253
12254         * src/nm-device-802-11-wireless.c
12255                 - get rid of scan_mutex
12256                 - (wireless_event_helper): act on wireless scan events
12257                 - (real_start): schedule a pending scan
12258                 - (link_to_specific_ap): fake the link to the AP during a scan
12259                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12260                         strength during scans
12261                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12262                         nm_device_set_bitrate): unused with new scanning code, disable
12263                 - (nm_device_wireless_schedule_scan): removed
12264                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12265                 - (request_and_convert_scan_results): new function; retrieve scan
12266                         results from the driver and schedule the processing function
12267                 - (scan_results_timeout): timeout triggered when card doesn't send
12268                         a scan results wireless event during a certain interval
12269                 - (schedule_scan_results_timeout): new function; schedule the scan
12270                         results timeout
12271                 - (cancel_scan_results_timeout): new function; cancel the scan
12272                         results timeout
12273                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12274                         to do the scanning.  Otherwise, just request a scan but don't
12275                         grab results here; instead schedule a timeout for scan results and
12276                         let netlink notify us of scan completion events
12277                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12278                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12279                 - (supplicant_status_cb): ignore disconnect events while scanning
12280                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12281                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12282                         timeouts
12283                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12284
12285 2006-04-24  Dan Williams  <dcbw@redhat.com>
12286
12287         * gnome/applet/applet-dbus.c
12288                 - Disable the pending call debug stuff, seems under control now
12289
12290 2006-04-20  Robert Love  <rml@novell.com>
12291
12292         Fix bug where hidden ESSID's would not show up in the applet, even
12293         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12294         because nm_policy_device_list_update_from_allowed_list() would merge
12295         the data, putting a name to the hidden networks, but never notify NMI
12296         of the changes.  Simple fix is to invoke the function
12297         nm_dbus_signal_wireless_network_change() if we make a mapping.
12298         * src/NetworkManagerAPList.c: Call the function
12299           nm_dbus_signal_wireless_network_change() if we made a successful
12300           BSSID to ESSID mapping, notifying the applet of the "new" network.
12301         * src/NetworkManagerAPList.h: Update the prototypes for both
12302           nm_ap_list_copy_essids_by_address() and
12303           nm_ap_list_copy_one_essid_by_address().
12304
12305 2006-04-20  Robert Love  <rml@novell.com>
12306
12307         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12308           not set.  Just return zero.
12309
12310 2006-04-20  Robert Love  <rml@novell.com>
12311
12312         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12313           only one copy of nm-vpn-properties is running at a time via the 'ol
12314           X selection trick.  This prevents the user from opening two "VPN
12315           Connections" windows from within the applet, which leads to mass
12316           hysteria.
12317         * clipboard.c: New file, implementing simple X selection logic.
12318         * clipboard.h: New file.
12319         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12320
12321 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12322
12323         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12324         * configure.in
12325           initscript/Gentoo/Makefile.am
12326           initscript/Gentoo/NetworkManagerDispatcher.in
12327                 - New script
12328         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12329           Gentopia
12330
12331 2006-04-16  Dan Williams  <dcbw@redhat.com>
12332
12333         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12334         * configure.in
12335           initscript/Slackware/Makefile.am
12336           initscript/Slackware/rc.networkmanager-dispatcher.in
12337           initscript/Slackware/rc.networkmanager.in
12338                 - Update slackware initscripts
12339
12340 2006-04-10  Robert Love  <rml@novell.com>
12341
12342         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12343           the "delete_event" signal on the druid's parent window and handle it
12344           our way, lest using the WM to close the druid results in a series of
12345           bloody and ultimately lethal errors.
12346
12347 2006-04-10  Robert Love  <rml@novell.com>
12348
12349         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12350           'Back' too or else the 'Forward' option is initially disabled despite
12351           valid input.
12352
12353 2006-04-06  Robert Love  <rml@novell.com>
12354
12355         Fix bad but simple bug where an active modem connection did not update
12356         NM's connection state, breaking any app that did online/offline:
12357         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12358           represented whether a dial up connection is active, or not.
12359         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12360           to modem activation and deactivation.
12361         * src/NetworkManagerDbus.c: When asked our state, do not return
12362           disconnected if the modem is active.
12363
12364 2006-04-04  Robert Love  <rml@novell.com>
12365
12366         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12367           applet.  It just confuses the crap out of people and does not make a
12368           lot of sense, as the daemon still runs.
12369
12370 2006-04-02  Tor Krill  <tor@krill.nu>
12371
12372         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12373           in start of service.
12374         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12375           get Archlinux backend up to date.
12376
12377 2006-03-29  Robert Love  <rml@novell.com>
12378
12379         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12380         to add support for per-route MSS and improve support for per-interface
12381         MTU:
12382         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12383           optionally take an MSS parameter and set it for the given route.
12384           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12385           NMIP4Config's stored MSS, if any.
12386         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12387           the interface's MTU and the route's MSS, respectively.  Add functions
12388           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12389           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12390           MSS.
12391         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12392           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12393           nm_ip4_config_set_mss.
12394         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12395           VPN daemon.
12396         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12397           Change the retval of nm_system_get_mtu to guint32.
12398         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12399           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12400           servers can specify MTU's, we should set it here if the MTU was not
12401           provided.
12402
12403 2006-03-27  Jürg Billeter  <j@bitron.ch>
12404
12405         * configure.in:
12406         * initscript/Makefile.am:
12407         * initscript/paldo/Makefile.am:
12408         * initscript/paldo/NetworkManager.in:
12409         * initscript/paldo/NetworkManagerDispatcher.in:
12410         * src/backends/Makefile.am:
12411         * src/backends/NetworkManagerPaldo.c:
12412                 - Add paldo support
12413
12414 2006-03-27  Dan Williams  <dcbw@redhat.com>
12415
12416         Patch from Christian Persch <chpe@gnome.org>
12417         * gnome/applet/applet.glade
12418                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12419
12420 2006-03-27  Dan Williams  <dcbw@redhat.com>
12421
12422         Patch from Diffe <diffie@blazebox.homeip.net>
12423         * src/backends/NetworkManagerSlackware.c
12424                 - Don't restart howl, since it's been replaced by Avahi
12425                         in most distributions
12426
12427 2006-03-27  Dan Williams  <dcbw@redhat.com>
12428
12429         Patch from Tor Krill <bugzilla@krill.nu>
12430         * configure.in
12431           initscript/Makefile.am
12432           src/backends/Makefile.am
12433           src/backends/NetworkManagerArch.c
12434           initscript/Arch/Makefile.am
12435           initscript/Arch/networkmanager-dispatcher.in
12436           initscript/Arch/networkmanager.in
12437                 - Add Arch Linux support, fixes gnome.org #335147
12438
12439 2006-03-27  Dan Williams  <dcbw@redhat.com>
12440
12441         Patch from Diffe <diffie@blazebox.homeip.net>
12442      * initscript/Slackware/rc.networkmanager
12443         - update, fixed gnome.org #333368
12444
12445 2006-03-27  Robert Love  <rml@novell.com>
12446
12447         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12448           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12449
12450 2006-03-27  Robert Love  <rml@novell.com>
12451
12452         Patch by Jürg Billeter <j@bitron.ch>:
12453         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12454           systems.
12455         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12456           as we prefer glibc over kernel headers, if possible.
12457
12458 2006-03-27  Robert Love  <rml@novell.com>
12459
12460         Patch by Jon Escombe <list@dresco.co.uk>:
12461         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12462         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12463           fail, don't bail out.  We don't expect all of the various WPA-EAP
12464           values to be present.
12465         * src/nm-ap-security.c: We need to match all capabilities for each
12466           encryption type, not any one of them.
12467
12468 2006-03-27  Robert Love  <rml@novell.com>
12469
12470         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12471           restart, not reload, ypbind.  Unfortunately there is no superior
12472           solution.
12473
12474 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12475
12476         * gnome/applet/applet-notifications.c:
12477         When displaying a notification, make sure to get rid of the
12478         previous notification so as to not have competing bubbles,
12479         and stop leaking the old one.
12480
12481         * gnome/applet/applet.c:
12482         * gnome/applet/applet.h:
12483         Add a new 'notification' member to the applet, and zero it out
12484         and free it appropriately.
12485
12486 2006-03-23  Robert Love  <rml@novell.com>
12487
12488         Patch by j <j@bootlab.org>:
12489         * gnome/applet/applet.glade: Don't set the invisible_char property,
12490           which simply overrides the GTK default.  By and by, this behavior
12491           ought to be fixed in Glade.
12492
12493 2006-03-22  Robert Love  <rml@novell.com>
12494
12495         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12496
12497 2006-03-22  Robert Love  <rml@novell.com>
12498
12499         Bug fix by Timo Hoenig <thoenig@suse.de>:
12500         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12501           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12502           and the applet going AWOL.
12503
12504 2006-03-22  Robert Love  <rml@novell.com>
12505
12506         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12507           preprocessor define and use it instead of open-coded the DHCP
12508           timeout, which is currently 25 seconds, everywhere.
12509
12510 2006-03-22  Robert Love  <rml@novell.com>
12511
12512         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12513         key exchange via WPA, ostensibly providing good security without
12514         requiring hardware that supports full WPA.  Also, add UI elements to
12515         allow the user to select the pairwise & group cipher for WPA Enterprise
12516         networks, too:
12517         * gnome/applet/applet.glade: Update glade file.
12518         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12519           key type, too, to and from gconf.
12520         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12521           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12522           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12523           the capabilities match.
12524         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12525           prototype.
12526         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12527           serialize from UI to DBUS.
12528         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12529           one element.
12530         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12531           nmu_security_serialize_wpa_eap_with_cipher(), and
12532           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12533           serialize/deserialize the key type via DBUS as the new third DBUS
12534           parameter.
12535         * libnm-util/dbus-helpers.h: Update prototypes.
12536         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12537           too.  If the key type is WEP104, do Dynamic WEP, which means
12538           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12539           pairwise and group ciphers (fixes a FIXME).
12540
12541 2006-03-21  Robert Love  <rml@novell.com>
12542
12543         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12544           nm_system_get_mtu(), which returns a user-provided or system-mandated
12545           MTU value for a given device, if any, or zero if no such value
12546           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12547           if we have a provided value.
12548         * src/nm-device.c: Set the MTU of devices.
12549         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12550         * src/backends/NetworkManagerDebian.c,
12551           src/backends/NetworkManagerGentoo.c,
12552           src/backends/NetworkManagerRedHat.c,
12553           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12554
12555 2006-03-21  Robert Love  <rml@novell.com>
12556
12557         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12558           configuration file.
12559
12560 2006-03-17  Robert Love  <rml@novell.com>
12561
12562         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12563           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12564           it, in case it is not running in the first place.  We just want its
12565           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12566
12567 2006-03-15  Robert Love  <rml@novell.com>
12568
12569         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12570           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12571           label "WEP 40/128-bit" is inconsistent because the physical key size
12572           is 40 or 104-bits, to which a 24-bit initialisation vector is
12573           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12574           to read "40/104" or "64/128".  I do not care much which, but most
12575           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12576           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12577           WEP passphrase support only handles 128-bit keys, and any future
12578           64-bit passphrase support will require a new option (no way to auto-
12579           detect the target key size), explicitly label our passphrase support
12580           "WEP 128-bit Passphrase".
12581
12582 2006-03-15  Robert Love  <rml@novell.com>
12583
12584         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12585           the system init scripts (or some other mechanism) starting it (or a
12586           compatible DBUS service) before NetworkManager runs.  This means that
12587           distributions might need to update their init scripts.  This fixes
12588           possible races and is quite a bit cleaner.
12589         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12590           starting the NetworkManager daemon.
12591
12592
12593 2006-03-14  Robert Love  <rml@novell.com>
12594
12595         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12596           before adding anything.
12597
12598 2006-03-13  Robert Love  <rml@novell.com>
12599
12600         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12601           widgets, too, if they exist, in case the user hit the back button.
12602           Fixes a bug where the details page contains the widgets of multiple
12603           VPN modules (Novell bug #157048).
12604
12605 2006-03-13  Robert Love  <rml@novell.com>
12606
12607         Patch by Timo Hoenig <thoenig@suse.de>:
12608         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12609           daemon survive DBUS restarts, too.
12610
12611 2006-03-10  Robert Love  <rml@novell.com>
12612
12613         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12614           passphrase or key.
12615         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12616           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12617           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12618           in response to "toggled" signal on new toggle.
12619
12620 2006-03-10  Robert Love  <rml@novell.com>
12621
12622         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12623           serialization if strings are NULL, lest DBUS get angry.
12624
12625 2006-03-10  Robert Love  <rml@novell.com>
12626
12627         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12628
12629 2006-03-09  Robert Love  <rml@novell.com>
12630
12631         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12632           configurations.
12633
12634 2006-03-09  Dan Williams  <dcbw@redhat.com>
12635
12636         Track pending call requests in the applet, and report how many are
12637         outstanding, and how long each completed one takes.
12638         
12639         * gnome/applet/applet-dbus-devices.c
12640           gnome/applet/applet-dbus-vpn.c
12641                 - Track pending calls
12642
12643         * gnome/applet/applet-dbus.[ch]
12644                 - Remove some unused enums
12645                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12646                         new functions to track dbus pending calls and spit out some
12647                         statistics about them
12648
12649 2006-03-09  Robert Love  <rml@novell.com>
12650
12651         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12652           nm_ap_set_timestamp() take the second and micro-second parameters as
12653           direct arguments, which avoids both a dynamic memory allocation and a
12654           structure-to-structure copy!  Add a new interface, the aptly named
12655           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12656           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12657           the return from nm_ap_get_timestamp().  New users should use the new
12658           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12659           the extreme benefit to performance.
12660         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12661           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12662
12663 2006-03-08  Robert Love  <rml@novell.com>
12664
12665         * gnome/applet/applet.glade: Hide the password entry text with
12666           asterisks.
12667
12668 2006-03-08  Robert Love  <rml@novell.com>
12669
12670         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12671           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12672           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12673           a second argument, NMData.
12674         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12675         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12676           config files as trusted.
12677
12678 2006-03-06  Robert Love  <rml@novell.com>
12679
12680         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12681         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12682           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12683           Rivera, detect if the applet was auto-started.  If so, ask the user
12684           if he or she would like to stop automatically running the applet on
12685           login.  If so, disable autostart.
12686
12687 2006-03-06  Robert Love  <rml@novell.com>
12688
12689         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12690           directory in CFLAGS so developers can actually use NetworkManager.h.
12691
12692 2006-03-06  Robert Love  <rml@novell.com>
12693
12694         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12695           open-coded integer constants.  Add state_to_string() to map a given
12696           state to a textual description, and provide that when notifying of
12697           state change.
12698         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12699           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12700           this header directly, but it is currently not installed on most
12701           systems.
12702
12703 2006-03-05  Dan Williams  <dcbw@redhat.com>
12704
12705         Process netlink messages in device subclasses rather than in
12706         NetworkManager.c.  Also add support for recognizing Wireless Events.
12707         
12708         * configure.in
12709                 - Find GLIB_GENMARSHAL
12710
12711         * src/Makefile.am
12712                 - Since we're marshalling custom types for wireless event signals,
12713                         we get to create our own marshallers using GLIB_GENMARSHAL
12714
12715         * src/NetworkManager.c
12716                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12717                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12718                         cut down somewhat.  We no longer process signals here.
12719                 - (nm_data_new): create the netlink monitor here, and remove a
12720                         useless call to nm_policy_schedule_device_change_check()
12721                 - (nm_data_free): get rid of the netlink monitor here
12722                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12723                 - (main): don't create the netlink monitor here, let nm_data_new
12724                         do that.  Call nm_policy_schedule_device_change_check() right
12725                         before we jump to the mainloop to figure out which device
12726                         to use first
12727
12728         * src/NetworkManagerSystem.[ch]
12729                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12730                         convert back and forth from interface names to interface
12731                         indexes
12732
12733         * src/nm-device-802-11-wireless.c
12734                 - (real_init): connect to wireless-event signals from the netlink
12735                         monitor object
12736                 - (nm_device_802_11_wireless_event): new function, schedule handler
12737                         for wireless event signals from the netlink monitor object.  We
12738                         want the handler to run in the device's context
12739                 - (wireless_event_helper): handle wireless-event signals from netlink
12740                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12741                         signal handler
12742
12743         * src/nm-device-802-11-wireless.h
12744                 - remove unused prototype for nm_device_802_11_wireless_new
12745
12746         * src/nm-device-802-3-ethernet.c
12747                 - (real_init): new function; set up signal handlers for link events
12748                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12749                         handler for netlink link activated events on device's main loop
12750                 - (link_activated_helper): when we get a link activated event, set
12751                         the device's link to be active
12752                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12753                         handler for netlink link deactivated events on device's main loop
12754                 - (link_deactivated_helper): when we get a link deactivated event, set
12755                         the device's link to be inactive
12756                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12757                         dispose
12758
12759         * src/nm-device-802-3-ethernet.h
12760                 - remove unused prototype for nm_device_802_3_ethernet_new
12761
12762         * src/nm-device.[ch]
12763                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12764                         but locks the device list
12765                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12766
12767         * src/nm-netlink-monitor.[ch]
12768                 - (nm_netlink_monitor_class_install_signals): New signal
12769                         "wireless-event"
12770                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12771                         at the device list
12772                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12773
12774         * src/nm-marshal-main.c
12775                 - Include generated nm-marshal.c and nm-marshal.h
12776
12777         * src/nm-marshal.list
12778                 - List of custom marshal functions
12779
12780 2006-03-05  Dan Williams  <dcbw@redhat.com>
12781
12782         * gnome/applet/applet-notifications.h
12783                 - Protect prototype of nma_send_event_notification() because it
12784                         includes libnotify-specific types
12785                 - Include libnotify/libnotify.h too, since we technically need it
12786
12787         * gnome/applet/applet.c
12788                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12789                 - (nma_show_vpn_login_banner_dialog): add some error checking
12790
12791 2006-03-04  Dan Williams  <dcbw@redhat.com>
12792
12793         Clean up activation cancellation.  Should be a lot faster now.  Observed
12794         an issue with wireless devices between stage 2 and 3 of activation, where
12795         activation would be cancelled, but the device thread wouldn't notice until
12796         the supplicant association timed out.  Reorganize activation such that
12797         a cancellation handler gets immediately scheduled in the device's thread,
12798         and devices have a chance to perform any custom cleanup too.
12799
12800         * src/nm-device.[ch]
12801                 - (activation_cancel_handler): new device-type-specific function
12802                         for cleaning up device-type-specific stuff on cancellation
12803                 - (cancel_activation): removed
12804                 - (nm_device_activation_cancel): subsume functionality of
12805                         real_cancel_activation, but instead of doing anything, punt
12806                         operation to a handler that's run in device-thread context
12807                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12808                         a warning message
12809                 - (activation_handle_cancel_helper): cancellation handler run in
12810                         device-thread context, calls device-type-specific cancelation,
12811                         then tears down the activation request
12812                 - (real_activation_cancel_handler): generic cancellation handler,
12813                         deals with cancelling any in-process DHCP request
12814                 - (nm_device_activate_stage1_device_prepare,
12815                    nm_device_activate_stage2_device_config,
12816                    nm_device_activate_stage3_ip_config_start,
12817                    nm_device_activate_stage4_ip_config_get,
12818                    nm_device_activate_stage4_ip_config_timeout,
12819                    nm_device_activate_stage5_ip_commit): don't call
12820                         nm_device_schedule_activation_handle_cancel() any more, since
12821                         cancellation will have been already scheduled for us by
12822                         nm_device_activation_cancel().  Just exit the function and
12823                         assume that the cancel handler will be called next.
12824
12825         * src/nm-device-802-3-ethernet.c
12826                 - (real_act_stage2_config): remove; didn't do anything anyway
12827
12828         * src/nm-device-802-11-wireless.c
12829                 - (supplicant_status_cb): ensure we don't do anything if the activation
12830                         got cancelled
12831                 - (real_activation_cancel_handler): implement; cancel user key request
12832                         on activation cancellation
12833
12834 2006-03-04  Dan Williams  <dcbw@redhat.com>
12835
12836         * src/nm-device-802-11-wireless.c
12837                 - (supplicant_send_network_config): assume that drivers that don't
12838                         support WPA pretty much suck, and can't handle NM scanning
12839                         along with wpa_supplicant.
12840
12841 2006-03-03  Robert Love  <rml@novell.com>
12842
12843         * configure.in: Bump version to 0.6.0.
12844         * NEWS: Update.
12845
12846 2006-03-03  Robert Love  <rml@novell.com>
12847
12848         * configure.in: Require DBUS 0.60 or later.
12849
12850 2006-03-03  Dan Williams  <dcbw@redhat.com>
12851
12852         Fix a crash if an "Other wireless network" was chosen, failed, then
12853         chosen again from the applet's menu.  If the other network wasn't
12854         noticed in a scan, it wouldn't have any capabilities, but would still
12855         be listed because the user forced the network.  To fix this, we set
12856         sensible capabilities on the forced network, which will get overwritten
12857         with the correct ones if the network shows up later in a scan.
12858         
12859         * src/nm-ap-security.h
12860                 - Add a new "get_default_capabilities_func" member to the
12861                         NMAPSecurity class
12862
12863         * src/nm-ap-security.c
12864                 - (nm_ap_security_get_default_capabilities): new function
12865
12866         * src/nm-ap-security.c
12867           src/nm-ap-security-wep.c
12868           src/nm-ap-security-wpa-psk.c
12869           src/nm-ap-security-wpa-eap.c
12870                 - Implement get_default_capabilities_func() for all, which
12871                         uses the information contained in a specific NMAPSecurity
12872                         object to determine default AP capabilites necessary
12873                         to support that object
12874
12875         As a secondary measure, we now prune artificial access points that fail
12876         to be activated right away.  The thing failed, and we have no scan data for
12877         it, so it's pretty much useless since security information is only saved
12878         in the applets when a connection is successful.
12879
12880         * src/NetworkManagerAPList.c
12881                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12882                         not artificial.  If we see it, it's no longer a figment of the
12883                         user's imagination :)
12884
12885         * src/NetworkManagerPolicy.c
12886                 - (nm_policy_activation_failed): send along the failed AP if we
12887                         have it
12888
12889         * src/nm-device-802-11-wireless.c
12890                 - (real_activation_failure_handler): remove artificial APs from
12891                         the device list, because activation failed
12892
12893 2006-03-02  Robert Love  <rml@novell.com>
12894
12895         Add support for retrieving both the per-device speed and the
12896         per-network maximum supported rate.  Then change the getProperties
12897         DBUS API for both networks and devices to report this informaiton.
12898         Finally, display the information via both nm-applet and nm-tool:
12899         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12900           and set it.
12901         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12902           Information' dialog.
12903         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12904         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12905           network_device_get_speed() and network_device_set_speed() for
12906           retrieving and setting, respectively, a network device's current
12907           speed.
12908         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12909         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12910           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12911           not matter (yet) what the units are, because we only feed it its own
12912           output.  Implement SIOCGIRATE and set the per-network maximum
12913           supported rate during scanning.
12914         * src/nm-device-802-11-wireless.h: Export the function
12915           nm_device_802_11_wireless_get_bitrate().
12916         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12917           function nm_device_802_3_ethernet_get_speed() for returning an
12918           802.3's current speed, in Mb/s.
12919         * test/nm-tool.c: Display the per-device current speed, if available,
12920           and the per-network maximum rate.
12921
12922 2006-03-02  Dan Williams  <dcbw@redhat.com>
12923
12924         * src/nm-device-802-11-wireless.c
12925                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12926                         card when it gets initialized.  Since devices don't get added to
12927                         the scan list until they are initialized, this function wasn't
12928                         setting the intitial scan interval correctly, and was leaving
12929                         it at 0.  This caused cards to get many scan requests in a short
12930                         amount of time when they were initialized
12931
12932 2006-03-02  Robert Love  <rml@novell.com>
12933
12934         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12935           active device.  But do not do what we used to do and override the
12936           state, which caused the dreaded icon race of '05.
12937
12938 2006-03-02  Robert Love  <rml@novell.com>
12939
12940         Commit Dan's update of my previous commit:
12941         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12942           set_mode() function itself does the check.  But do only set the
12943           frequency if in Ad-Hoc mode.
12944
12945 2006-03-02  Robert Love  <rml@novell.com>
12946
12947         Patch by Brian Magnuson <magnuson@rcn.com>:
12948         * src/nm-device-802-11-wireless.c: During scanning, only set the
12949           wireless mode to infrastructure if it is not currently in
12950           infrastructure mode.  For some driver, setting the mode is a costly
12951           operation, apparently.
12952
12953 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12954
12955         * Makefile.am: use the correct dir for autostart mechanism.
12956
12957 2006-02-28  Dan Williams  <dcbw@redhat.com>
12958
12959         Patch from Brian Magnuson <magnuson@rcn.com>
12960         * gnome/applet/applet.c
12961                 - (nma_show_vpn_failure_dialog): fix errors left over from
12962                         libnotify support changes
12963
12964 2006-02-28  Dan Williams  <dcbw@redhat.com>
12965
12966         * src/vpn-manager/nm-vpn-act-request.[ch]
12967                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12968                         just one value
12969                 - (nm_vpn_act_request_is_failed): new function; return whether or
12970                         not the vpn activation request has failed
12971
12972         * src/vpn-manager/nm-vpn-manager.c 
12973                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12974                         daemon to kill the connection when the activation request fails.
12975                         Fixes issue where NM would get confused if the VPN activation
12976                         request timed out, and would not allow further VPN connections
12977                         on that service.
12978
12979 2006-02-28  Dan Williams  <dcbw@redhat.com>
12980
12981         * gnome/applet/applet.c
12982                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12983                         overlapping connection requests, disable all VPN menu items
12984                         but the active VPN connection
12985
12986 2006-02-28  Dan Williams  <dcbw@redhat.com>
12987
12988         * src/vpn-manager/nm-vpn-connection.c
12989                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12990                         called g_object_unref() on the connection's parent device
12991                         when it should have been ref-ed instead.  Fixes crash with
12992                         repeated vpn connect requests
12993
12994 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12995
12996         * gnome/applet/applet.glade:
12997         Mark a few strings non-translatable, since they shouldn't be.
12998
12999 2006-02-28  Dan Williams  <dcbw@redhat.com>
13000
13001         * src/vpn-manager/nm-vpn-service.c
13002                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13003                         already running, don't blindly ask it to connect, but wait until
13004                         it's in the STOPPED state first.  Fixes an assertion when user
13005                         starts a second vpn connection without stopping the first.
13006                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13007                         dbus service exists before continuing with the connection
13008                         process, and reduce latency while waiting for it to become
13009                         available
13010                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13011                         waiting for the vpn service daemon to become available
13012                 - General log message cleanups; show progress via "Stage x of 4"
13013                         rather than not telling anyone how many stages there are
13014
13015 2006-02-28  Robert Love  <rml@novell.com>
13016
13017         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13018         * src/backends/NetworkManagerSuSE.c: Implement the interface
13019           nm_system_should_modify_resolv_conf() for SUSE.
13020         * src/backends/NetworkManagerDebian.c,
13021           src/backends/NetworkManagerGentoo.c,
13022           src/backends/NetworkManagerRedHat.c,
13023           src/backends/NetworkManagerSlackware.c: Add stub.
13024         * src/named-manager/Makefile.am: Grab includes from src.
13025         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13026           automatic updating of resolv.conf.  This is useful for testing,
13027           broken static configurations, and administrator lock-down.
13028
13029 2006-02-28  Dan Williams  <dcbw@redhat.com>
13030
13031         * src/nm-device-802-11-wireless.c
13032                 - Move all the wpa_supplicant-related management stuff into its
13033                         own struct, just for oranization's sake
13034                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13035                         to a GIOChannel/GSource
13036                 - (supplicant_log_stdout): new function; grab output from the
13037                         wpa_supplicant stdout pipe and write it to our logs.
13038
13039 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13040
13041         * src/nm-device-802-11-wireless.c:
13042         Err, fix thinko in my previous commit.
13043
13044 2006-02-28  Robert Love  <rml@novell.com>
13045
13046         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13047
13048 2006-02-28  Robert Love  <rml@novell.com>
13049
13050         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13051           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13052           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13053           deserializers are responsible for freeing the returned DBUS strings.
13054
13055 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13056
13057         * src/nm-device-802-11-wireless.c:
13058         The scan list is being pruned prematurely.  We should prune after
13059         the device has gone MIA for three scans, not one.  Split out the
13060         interval to realtime seconds function to better serve this.
13061
13062 2006-02-27  Robert Love  <rml@novell.com>
13063
13064         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13065           Open the pid file O_TRUNC, so if it already exists we truncate it to
13066           zero length.  Also, be more verbose about warnings generated during
13067           writing out the pid file.  Finally, always write out the pid file if
13068           in daemon mode.  Use "--pid-file" to override the default.
13069
13070 2006-02-27  Robert Love  <rml@novell.com>
13071
13072         Patch by R. Vinay <rvinay@novell.com>:
13073         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13074           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13075           Novell bug #153628).
13076           
13077 2006-02-27  Robert Love  <rml@novell.com>
13078
13079         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13080           entry so user can hit <ENTER> after entering passphrase (Novell bug
13081           #153738).
13082
13083 2006-02-27  Dan Williams  <dcbw@redhat.com>
13084
13085         * gnome/applet/*
13086                 - Mass search/replace of:
13087                         nmwa -> nma
13088                         NMWirelessApplet -> NMApplet
13089                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13090                    (it ain't just for wireless anymore, ma!)
13091                 - Fix duplicate function name printing when using nm_warning
13092                 - wireless-applet.glade -> applet.glade
13093
13094 2006-02-27  Dan Williams  <dcbw@redhat.com>
13095
13096         * dispatcher-daemon/NetworkManagerDispatcher.c
13097                 - Accept --pid-file with a path to a pidfile, write it out on
13098                         startup, and delete it on shutdown
13099
13100         * src/NetworkManager.c
13101                 - Accept --pid-file with a path to a pidfile, write it out on
13102                         startup, and delete it on shutdown
13103                 - Move nm_print_usage() lower
13104
13105         * initscripts/RedHat/NetworkManager.in
13106                 - Use new --pid-file option
13107                 - Fix service stopping to wait a bit for NM to quit
13108
13109         * initscripts/RedHat/NetworkManagerDispatcher.in
13110                 - Use new --pid-file option
13111
13112 2006-02-26  Dan Williams  <dcbw@redhat.com>
13113
13114         * src/Makefile.am
13115                 - make and install nm-crash-logger
13116
13117         * src/nm-logging.[ch]
13118                 - New files; consolidate logging and crash handling
13119
13120         * src/nm-crash-logger.c
13121           src/gdb-cmd
13122                 - Standalong crashlogger for NM, grab a backtrace
13123                         using GDB
13124
13125         * src/NetworkManager.[ch]
13126                 - Remove signal handling and put it into nm-logging.c
13127
13128 2006-02-26  Dan Williams  <dcbw@redhat.com>
13129
13130         * configure.in
13131           gnome/applet/Makefile.am
13132                 - Conditionalize all the notify stuff
13133
13134         Merge most of Chris Aillon's notification patch:
13135         
13136         * gnome/applet/applet-notifications.[ch]
13137                 - New files; show a notification
13138         
13139         * gnome/applet/applet-dbus-devices.[ch]
13140                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13141                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13142                         new functions, do the right thing when a device change occurs
13143
13144         * gnome/applet/applet-dbus.c
13145                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13146                         signals, so we can handle them specially
13147
13148         * gnome/applet/applet.[ch]
13149                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13150                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13151                 - (nmwa_notify_state): remove
13152                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13153                         notification work is now done when the appropriate dbus signals
13154                         are received.
13155                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13156                         defer execution of the notification/dialog stuff.  That was an
13157                         artifact of the previous multi-threaded nature of the applet
13158                         and is now pointless.
13159                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13160                         no longer needed.  Function folded into applet-notifications.c
13161
13162         * src/NetworkManagerPolicy.c
13163                 - (nm_policy_activation_finish): send the AP along with the device
13164                         status change signal, if the connection is wireless.  Should
13165                         fix the race where applet would show a connection to "unknown"
13166
13167 2006-02-25  Robert Love  <rml@novell.com>
13168
13169         Add WPA Enterprise support:
13170         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13171           nm-gconf-wso-wpa-eap.h.
13172         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13173           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13174           serialization and deserialization.
13175         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13176           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13177           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13178         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13179           settings related to WPA Enterprise.
13180         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13181           instantiate WPA Enterprise wireless-security-option.
13182         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13183           Implement WPA Enterprise wireless-security-option object.
13184         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13185           defines.  Cleanup.
13186         * libnm-util/cipher-wpa-psk-hex.c,
13187           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13188         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13189           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13190           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13191           including the cipher to DBUS method, and
13192           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13193           to output.
13194         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13195           nm-ap-security-wpa-eap.h
13196         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13197           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13198         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13199           files.  Implement NMAPSecurityWPA_EAP object.
13200         * src/nm-ap-security-wpa-psk.c: Cleanup.
13201         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13202           an NMAPSecurityWPA_EAP object via the method
13203           nm_ap_security_wpa_eap_new_deserialize().
13204         * src/nm-dbus-nm.c: Cleanup.
13205         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13206           WPA Enterprise support.
13207
13208 2006-02-24  Robert Love  <rml@novell.com>
13209
13210         Patch from Timo Hoenig <thoenig@suse.de>:
13211         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13212
13213 2006-02-24  Robert Love  <rml@novell.com>
13214
13215         Patch from Dan Winship <danw@novell.com>:
13216         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13217           area to transparent.
13218
13219 2006-02-21  Dan Williams  <dcbw@redhat.com>
13220
13221         * gnome/applet/applet.[ch]
13222           gnome/applet/applet-dbus.c
13223                 - Implement notification support for VPN messages too
13224
13225 2006-02-21  Dan Williams  <dcbw@redhat.com>
13226
13227         * gnome/applet/applet-dbus-info.c
13228                 - Clean up warning messages to not double-print the function
13229
13230 2006-02-21  Dan Williams  <dcbw@redhat.com>
13231
13232         * gnome/applet/applet-compat.c
13233                 - (convert_one_entry): accept entries without a key_type and
13234                         convert them to unencrypted networks
13235
13236 2006-02-21  Dan Williams  <dcbw@redhat.com>
13237
13238         * gnome/libnm_glib/libnm_glib.c
13239                 - Use __func__ everywhere we can
13240                 - Code cleanups
13241                 - Use dbus pending calls rather than blocking
13242                 - Reduce busywaits for our thread to start and stop
13243                         (gnome.org #330562)
13244                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13245                         stomp on others using the default shared dbus connection.
13246                         Fixes #rh177546# and gnome.org #326572
13247
13248 2006-02-21  Dan Williams  <dcbw@redhat.com>
13249
13250         Patch from Rodney Dawes <dobey@novell.com>
13251         * configure.in
13252           gnome/applet/Makefile.am
13253           gnome/applet/applet.c
13254                 - Add libnotify support if '--enable-notify=yes' is passed
13255                   at configure time
13256
13257 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13258
13259         * configure.in (ALL_LINGUAS): ko added. (Korean)
13260
13261 2006-02-15  Robert Love  <rml@novell.com>
13262
13263         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13264           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13265           and WPA_SUPPLICANT_CONTROL_SOCKET.
13266         
13267 2006-02-15  Robert Love  <rml@novell.com>
13268
13269         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13270           information about what connection stage we are at, provide the total
13271           number of stages, e.g. "Stage 2 of 5", so users know how far along
13272           they are if they experience problems.
13273
13274 2006-02-15  Robert Love  <rml@novell.com>
13275
13276         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13277           define to $sysconfdir.
13278         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13279           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13280           type of VPN and then editing another results in a mangled dialog
13281           box containing the widgets from both VPNs (fixes Novell #150854).
13282           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13283
13284 2006-02-14  Robert Love  <rml@novell.com>
13285
13286         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13287           syslog's file descriptor.
13288
13289 2006-02-14  Robert Love  <rml@novell.com>
13290
13291         Fix bug around since the change to "deal with APs changing settings on
13292         us," checked in on the fifth of February in the year of the dog, 
13293         wherein connecting to non-broadcast encrypted networks always fails
13294         because nm_ap_get_encrypted() always returns FALSE, even when the user
13295         provided a key, because the newly-created fake AP does not have any
13296         capabilities set, which is a sypmtom of security settings not matching
13297         capabilities (Novell bug #150784):
13298         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13299           nm_ap_add_capabilities_from_security(), which sets the given AP's
13300           capabilities off the given security settings.  Also improve our
13301           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13302           NM_AUTH_CIPHER_AUTO.
13303         * src/nm-device-802-11-wireless.c: Call the function
13304           nm_ap_add_capabilities_from_security() to ensure that capabilities
13305           match newly updated security settings.
13306
13307 2006-02-14  Robert Love  <rml@novell.com>
13308
13309         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13310           error as a string, not an integer, if possible; do not print the
13311           function name twice; always give the interface, if possible; misc.
13312           cleanup.
13313
13314 2006-02-12  Dan Williams  <dcbw@redhat.com>
13315
13316         Patch from Tom Parker <palfrey@tevp.net>
13317         * src/NetworkManagerSystem.h
13318                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13319                         no longer used
13320
13321         * src/backends/NetworkManagerDebian.c
13322                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13323                         unused variables
13324
13325 2006-02-12  Dan Williams  <dcbw@redhat.com>
13326
13327         * vpn-daemons/openvpn/intltool-extract.in
13328           vpn-daemons/openvpn/intltool-merge.in
13329           vpn-daemons/openvpn/intltool-update.in
13330           vpn-daemons/pptp/intltool-extract.in
13331           vpn-daemons/pptp/intltool-merge.in
13332           vpn-daemons/pptp/intltool-update.in
13333                 - Remove from CVS, they should get created by intltoolize,
13334                         shouldn't they?
13335
13336 2006-02-12  Dan Williams  <dcbw@redhat.com>
13337
13338         * vpn-daemons/pptp/src/pppd/patchlevel.h
13339         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13340                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13341                         Makefile-defined VERSION
13342
13343 2006-02-09  Dan Williams  <dcbw@redhat.com>
13344
13345         Patch from: Vinay A R <rvinay@novell.com>
13346         * src/vpn-manager/nm-vpn-act-request.[ch]
13347                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13348                         IPSec VPNs require them for std gateway.
13349                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13350                         and 'user_routes_count'
13351                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13352                         defined routes  from NMVPNActRequest object, returns the string
13353                         array of routes.
13354
13355         * src/vpn-manager/nm-vpn-manager.[ch]
13356                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13357                         for 'user_routes' and 'user_routes_count'
13358         
13359         * src/vpn-manager/nm-dbus-vpn.c
13360                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13361                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13362         
13363         * src/vpn-manager/nm-vpn-service.c
13364                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13365                         the vpn daemon
13366
13367         Modifications by Dan:
13368         * src/vpn-manager/nm-vpn-service.c
13369                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13370                         arrays into dbus
13371
13372         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13373         * vpn-daemons/pptp/src/nm-pptp-service.c
13374         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13375                 - Grab user routes from dbus message
13376                 - Free all string arrays we got from dbus
13377
13378 2006-02-07  Robert Love  <rml@novell.com>
13379
13380         Patch by Stefan Seyfried <seife@suse.de>:
13381         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13382
13383 2006-02-06  Robert Love  <rml@novell.com>
13384
13385         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13386
13387 2006-02-06  Robert Love  <rml@novell.com>
13388
13389         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13390           test ">=" is never false.  If no newline is found, we loop forever.
13391           We can just check for ">" because the following if() will see the
13392           zero-th argument if the while() gets that far.
13393
13394 2006-02-05  Dan Williams  <dcbw@redhat.com>
13395
13396         Refine handling of non-broadcast networks.
13397
13398         * src/NetworkManagerAPList.c
13399                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13400                         property from scanned AP to the AP from the device list
13401
13402         * src/nm-device-802-11-wireless.c
13403                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13404                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13405                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13406                         networks since those don't have APs.
13407                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13408                         AP as non-SSID-broadcasting
13409                 - (process_scan_results): don't handle non-SSID-broadcasting here
13410
13411 2006-02-05  Dan Williams  <dcbw@redhat.com>
13412
13413         * src/nm-device-802-11-wireless.c
13414                 - (get_supplicant_timeout): new function; return
13415                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13416                         14 channels.  These are likely a/b/g cards, like Atheros, and
13417                         slow as hell to scan.
13418                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13419                         get_supplicant_timeout()
13420
13421 2006-02-05  Dan Williams  <dcbw@redhat.com>
13422
13423         * src/dhcp-manager/nm-dhcp-manager.c
13424                 - Loose a commit race with Robert; make sure size check
13425                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13426
13427 2006-02-05  Robert Love  <rml@novell.com>
13428
13429         Patch by Christoph Brill <chrisbrill@gmx.net>:
13430         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13431           with DHCP_SERVICE_NAME.
13432
13433 2006-02-05  Dan Williams  <dcbw@redhat.com>
13434
13435         Remove anything having to do with device_setup_func from the
13436         AP security objects, since it's no longer used.
13437
13438         * src/nm-ap-security.h
13439                 - Kill device_setup_func and nm_ap_security_device_setup()
13440
13441         * src/nm-ap-security-wep.c
13442           src/nm-ap-security-wpa-psk.c
13443                 - (real_device_setup): remove
13444
13445         * src/nm-ap-security.c
13446                 - (real_device_setup): remove
13447                 - (nm_ap_security_device_setup): remove
13448
13449         * src/nm-device-802-11-wireless.[ch]
13450                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13451                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13452                         and done by wpa_supplicant now anyway
13453
13454 2006-02-05  Dan Williams  <dcbw@redhat.com>
13455
13456         * src/nm-device-802-11-wireless.c
13457                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13458                         settings on us.  Previously NM would loop asking for the
13459                         key but getting the same one back.  Now, if the NMI-supplied
13460                         cipher doesn't overlap with the scanned AP capabilities,
13461                         we request a completely new key from the user.
13462
13463 2006-02-05  Dan Williams  <dcbw@redhat.com>
13464
13465         * src/NetworkManagerUtils.c
13466                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13467                         Handle newline killing better
13468
13469 2006-02-05  Dan Williams  <dcbw@redhat.com>
13470
13471         * gnome/applet/nm-gconf-wso.c
13472                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13473                         of unencrypted access point security info.
13474
13475 2006-02-03  Robert Love  <rml@novell.com>
13476
13477         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13478           user's encryption key, so we print the err_msg_cmd not the command,
13479           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13480           sense.
13481
13482 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13483
13484         * initscript/RedHat/NetworkManagerDispatcher.in:
13485         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13486         Patch from Dan Walsh <dwalsh@redhat.com>
13487
13488 2006-02-03  Robert Love  <rml@novell.com>
13489
13490         * dispatcher-daemon/NetworkManagerDispatcher.c,
13491           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13492           but use the sysconfdir.
13493
13494 2006-02-03  Robert Love  <rml@novell.com>
13495
13496         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13497           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13498           'char *'.
13499         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13500           nm_ip4_config_get_hostname() and
13501           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13502         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13503           leak g_strdup() result.
13504
13505 2006-02-03  Robert Love  <rml@novell.com>
13506
13507         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13508           broadcast == TRUE.  Also, copy broadcast and artificial properties
13509           from source network to destination in nm_ap_copy().
13510         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13511           since we now default new networks to non-hidden.
13512
13513 2006-02-03  Dan Williams  <dcbw@redhat.com>
13514
13515         * gnome/applet/main.c
13516                 - (main): change the NEVER->ALWAYS so we start at the
13517                         beginning of the session, if being session-managed
13518
13519 2006-02-03  Dan Williams  <dcbw@redhat.com>
13520
13521         * gnome/applet/main.c
13522                 - (main): in a variation on Robert's patch, change
13523                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13524                         he wants.
13525
13526 2006-02-02  Robert Love  <rml@novell.com>
13527
13528         * src/Makefile.am: If we aren't going to create the run directory at,
13529           uh, run-time, create it during install.  Then users just doing
13530           'make install' are cool, too.  While we are here, create the
13531           dispatcher.d directory, too.
13532         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13533           the exact run directory.
13534         * Makefile.am: Install nm-applet.desktop.
13535
13536 2006-02-02  Robert Love  <rml@novell.com>
13537
13538         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13539           structure, which denotes whether or not the AP is hidden.  This is a
13540           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13541           can show up in the scan list.  Add nm_ap_get_broadcast() and
13542           nm_ap_set_broadcast() accessor interfaces.
13543         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13544           nm_ap_set_broadcast().
13545         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13546           "getProperties" method, which denotes whether or not the given
13547           network is hidden.
13548         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13549           an artificial network.  Set broadcast to TRUE when scanning returns
13550           an ESSID and FALSE when not.
13551         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13552           from "getProperties" method on a network.  Possible TODO is to
13553           somehow display this.
13554         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13555
13556 2006-02-02  Dan Williams  <dcbw@redhat.com>
13557
13558         * src/nm-device-802-11-wireless.c
13559                 - (supplicant_interface_init): don't try to create
13560                         /var/run/NetworkManager, since that should be done by
13561                         the distro package.  Causes problems for stuff like SELinux
13562
13563 2006-02-02  Robert Love  <rml@novell.com>
13564
13565         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13566         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13567           Check for and handle empty string for iface.
13568
13569 2006-02-01  Robert Love  <rml@novell.com>
13570
13571         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13572           manpage.
13573
13574 2006-01-31  Dan Williams  <dcbw@redhat.com>
13575
13576         * nm-applet.desktop
13577                 - Add --sm-disable to Exec arguments, presuming that when
13578                         using autostart, we don't want session management
13579
13580 2006-01-31  Robert Love  <rml@novell.com>
13581
13582         * src/NetworkManagerAP.c: Add two new manufacturer default network
13583           names: linksys-a and linksys-g.  These are found (at least) on the
13584           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13585           own ESSID.
13586
13587 2006-01-31  Robert Love  <rml@novell.com>
13588
13589         * src/NetworkManagerAP.c: Optimize the function
13590           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13591           machine code.  This is the first in a series of code tweaks aiming to
13592           generate better machine code and make NetworkManager all the better.
13593           Just kidding.  Who has time to go through the assembly generated for
13594           every function?  I certainly don't.  I have a wife, a kid, a job,
13595           a mortgage, a mistress.  But this function was so bad, I was called
13596           to arms.  Like the book.
13597
13598 2006-01-31  Robert Love  <rml@novell.com>
13599
13600         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13601           AP is not broadcasting, to scan with probe request frames.  Required
13602           for non-broadcast networks.
13603
13604 2006-01-31  Robert Love  <rml@novell.com>
13605
13606         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13607           preprocessor define (still 20s).  Fix message text in nm_info()
13608           s/too too/took too/.
13609
13610 2006-01-30  Dan Williams  <dcbw@redhat.com>
13611
13612         * src/nm-device-802-11-wireless.c
13613                 - (supplicant_monitor_start): increase connect/auth timeout to
13614                         20 seconds from 10 seconds
13615
13616 2006-01-30  Dan Williams  <dcbw@redhat.com>
13617
13618         * src/Makefile.am
13619                 - Define LOCALSTATEDIR
13620
13621         * src/nm-device-802-11-wireless.c
13622                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13623                         socket where we want it to
13624
13625         * src/wpa_ctrl.[ch]
13626                 - (wpa_ctrl_open): accept location to put local control socket
13627
13628 2006-01-30  Robert Love  <rml@novell.com>
13629
13630         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13631           get_ip4_string() for "domain_name".
13632
13633 2006-01-30  Robert Love  <rml@novell.com>
13634
13635         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13636           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13637           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13638           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13639           support for "Automatic" pairwise and group cipher configuration by
13640           letting wpa_supplicant handle the details.  Add UI elements, new
13641           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13642           charm.  Note this does more than add a nice feature, it fixes a bug.
13643           Apparently, some people have AP's where the pairwise cipher does not
13644           match the group cipher.  Insane, but true.
13645
13646 2006-01-30  Dan Williams  <dcbw@redhat.com>
13647
13648         * gnome/applet/applet-dbus-devices.c
13649                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13650                         functions, grab device driver name from NetworkManager
13651                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13652
13653         * gnome/applet/applet.c
13654                 - (nmwa_update_info): show driver name in Connection Information
13655                         dialog
13656
13657         * gnome/applet/nm-device.[ch]
13658                 - (network_device_get_driver, network_device_set_driver): add
13659                         accessors for driver name
13660
13661         * gnome/applet/wireless-applet.glade
13662                 - Add line for driver name to Connection Information dialog
13663
13664         * src/nm-dbus-device.c
13665                 - (nm_dbus_device_get_driver): new function to return driver name
13666                 - (nm_dbus_device_methods): hook up driver name function to dbus
13667
13668         * test/nm-tool.c
13669                 - (get_driver_name): new function
13670                 - (detail_device): grab and show driver name
13671
13672 2006-01-30  Robert Love  <rml@novell.com>
13673
13674         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13675           does not parse the markup if it is not part of the format.
13676
13677 2006-01-30  Robert Love  <rml@novell.com>
13678
13679         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13680           FALSE, we have no security options for this dialog, so we throw up
13681           an error dialog instead of a broken passphrase dialog.  Fixes
13682           Novell #138404.
13683         * gnome/applet/wireless-security-manager.c,
13684           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13685           does not add any security options, not even NONE, print a warning
13686           and return FALSE.  This let's functions constructing a dialog bail
13687           out if the device's capabilities and the network's requirements have
13688           zero overlap.
13689
13690 2006-01-27  Robert Love  <rml@novell.com>
13691
13692         * configure.in: Require wpa_supplicant.  Detect location of binary and
13693           use it.  Override with "--with-wpa_supplicant=foo".
13694         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13695           path to wpa_supplicant but use the auto-detected or user-provided
13696           value from configure.
13697
13698 2006-01-27  Robert Love  <rml@novell.com>
13699
13700         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13701           but the DHCP server did not return a hostname, try to look up our
13702           name via DNS and set the system hostname to that.
13703
13704 2006-01-27  Dan Williams  <dcbw@redhat.com>
13705
13706         * src/backends/NetworkManagerRedHat.c
13707                 - Add NM_CONTROLLED system network script support for RH/Fedora
13708
13709 2006-01-27  Dan Williams  <dcbw@redhat.com>
13710
13711         * src/backends/NetworkManagerGentoo.c
13712                 - (nm_system_device_get_disabled): add missing function.
13713                         Gnome BZ #328780
13714
13715 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13716
13717         * configure.in: Added vi in ALL_LINGUAS line.
13718         
13719 2006-01-26  Robert Love  <rml@novell.com>
13720
13721         * src/Makefile.am, src/kernel-types.h: Now that two different source
13722           files are feeling the crack-addled leakage of kernel types such as
13723           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13724           types in user-space -- define a header and include it as needed.
13725         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13726         * src/nm-device-802-3-ethernet.h: Remove defines.
13727         * src/wpa.c: Remove defines and include kernel-types.h.
13728
13729 2006-01-26  Robert Love  <rml@novell.com>
13730
13731         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13732           work.
13733
13734 2006-01-26  Robert Love  <rml@novell.com>
13735
13736         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13737         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13738           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13739           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13740           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13741           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13742           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13743           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13744           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13745           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13746           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13747           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13748           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13749           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13750           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13751           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13752           Kill unused variables, labels, and static functions.  Don't pass
13753           string literals as the format string for printf-like functions.
13754
13755 2006-01-25  Dan Williams  <dcbw@redhat.com>
13756
13757         * gnome/applet/wireless-applet.glade
13758                 - Remove WPA2 Checkbox
13759
13760         * gnome/applet/wireless-security-manager.c
13761                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13762                         This means the Wireless Security menu now has two WPA options,
13763                         one for "WPA Personal" and one for "WPA2 Personal"
13764
13765         * gnome/applet/wso-wpa-psk.[ch]
13766                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13767                         'wpa2' argument to determine WPA version to use
13768                 - (append_dbus_params_func): pass stored WPA version to cipher
13769                         rather than using the (removed) checkbox
13770
13771 2006-01-24  Robert Love  <rml@novell.com>
13772
13773         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13774           before we g_strdup(), not the ultimate string.
13775
13776 2006-01-23  Dan Williams  <dcbw@redhat.com>
13777
13778         * src/NetworkManagerAP.[ch]
13779                 - (nm_ap_new_from_ap): copy original essid too
13780                 - (nm_ap_unref): free original essid
13781                 - (nm_ap_get_orig_essid): new function
13782                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13783                         but keep original essid around too
13784
13785         * src/nm-device-802-11-wireless.c
13786                 - (supplicant_send_network_config): send wpa_supplicant the
13787                         _original_ essid, and not as a string, but in hex.  Should
13788                         allow us to connect to more APs that use wierd character
13789                         encodings for their essids
13790
13791         * utils/nm-utils.[ch]
13792                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13793                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13794                         use the current locale as a hint for what encoding the essid
13795                         might be in.  Obviously not 100% accurate, but the idea here is
13796                         that if a user's locale is ex. ja_JP, they are more likely than
13797                         not to be in Japan, where access points will likely be in some
13798                         Japanese encoding.
13799
13800 2006-01-23  Dan Williams  <dcbw@redhat.com>
13801
13802         * libnm-util/cipher-private.h
13803           libnm-util/cipher.c
13804           libnm-util/cipher.h
13805                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13806
13807 2006-01-23  Robert Love  <rml@novell.com>
13808
13809         Patch by Timo Hoenig <thoenig@suse.de>:
13810         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13811           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13812           by DHCP and pass it to the backends, allowing distribution-specific
13813           behavior with respect to the DHCP-supplied hostname (if nothing else,
13814           some distributions might not want to set the hostname).
13815         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13816           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13817           Also update our NIS behavior.
13818         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13819           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13820           Add stub functions.
13821
13822 2006-01-23  Robert Love  <rml@novell.com>
13823
13824         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13825           gnome-session does autostart.  TODO: We need to install this to
13826           $prefix/share/autostart/.
13827
13828 2006-01-22  Dan Williams  <dcbw@redhat.com>
13829
13830         * src/NetworkManagerAP.[ch]
13831           src/nm-dbus-nmi.c
13832           src/nm-device-802-11-wireless.c         
13833                 - Make nm_ap_get_essid return "const char *"
13834
13835 2006-01-22  Dan Williams  <dcbw@redhat.com>
13836
13837         * src/NetworkManagerAP.[ch]
13838                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13839
13840         * src/NetworkManagerAPList.[ch]
13841                 - (nm_ap_list_diff): removed
13842                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13843                         deal with access points changing essids on us
13844
13845         * src/nm-device-802-11-wireless.c
13846                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13847                         src/NetworkManagerAPList.c
13848                 - (real_can_interrupt_activation): new function; allow interruption
13849                         of device activation if we are waiting for a network key
13850
13851         * src/NetworkManagerPolicy.c
13852                 - (nm_policy_device_change_check): allow interruption of currently
13853                         activating devices if the device allows it.  Previous behavior
13854                         would refuse to activate a just-plugged wired device if a
13855                         wireless device was waiting for a key.
13856
13857         * src/nm-device.[ch]
13858                 - (nm_device_can_interrupt_activation): new function; ask devices
13859                         whether their activation can be interrupted
13860
13861 2006-01-20  Robert Love  <rml@novell.com>
13862
13863         * Makefile.am, configure.in: Add new man subdirectory.
13864         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13865           man/Makefile.am: Add man pages for NetworkManager and its
13866           crime-solving bumbling buddy, NetworkManagerDispatcher.
13867         * man/.cvsignore: Add.
13868         * initscript/Debian/NetworkManager,
13869           initscript/Gentoo/NetworkManager.in,
13870           initscript/RedHat/NetworkManager.in,
13871           initscript/RedHat/NetworkManagerDispatcher.in,
13872           initscript/SUSE/networkmanager-dispatcher.in,
13873           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13874
13875 2006-01-20  Robert Love  <rml@novell.com>
13876
13877         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13878           instead of queuing.  This prevents the running of multiple NM
13879           daemons concurrently, which does not work whatsoever and results in
13880           neither daemon working correctly.  Also, we don't handle queuing and
13881           name-owner-changes, anyhow.
13882
13883 2006-01-20  Robert Love  <rml@novell.com>
13884
13885         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13886         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13887           to sbin, not bin.
13888
13889 2006-01-19  Robert Love  <rml@novell.com>
13890
13891         * configure.in: Require hal 0.5.0 or later.
13892
13893 2006-01-18  Robert Love  <rml@novell.com>
13894
13895         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13896           Allow backends to flag a device (in whatever distro-dependent way
13897           they so desire) as disabled.  NM will ignore any such device.
13898         * src/backends/NetworkManagerDebian.c,
13899           src/backends/NetworkManagerRedHat.c,
13900           src/backends/NetworkManagerSlackware.c: Add stub function
13901           nm_system_device_get_disabled() that always returns FALSE (enabled).
13902         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13903           SUSE-specific configuration structure.  Fill it in from the
13904           NM_CONTROLLED variable in the system networking scripts.  If this var
13905           exists and is "no", we ignore the device.
13906
13907 2006-01-17  Robert Love  <rml@novell.com>
13908
13909         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13910           identical for NM.  For a full discussion, see the thread at
13911           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13912
13913 2006-01-17  Dan Williams  <dcbw@redhat.com>
13914
13915         * src/nm-device.c
13916                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13917                         function.  Fixes crash when wired DHCP fails.
13918
13919 2006-01-16  Robert Love  <rml@novell.com>
13920
13921         * src/Makefile.am: Don't install NMLoadModules
13922         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13923           from src/ to test/ as no one uses it anymore.  Note that I would be
13924           fine with removing it altogether.
13925
13926 2006-01-16  Robert Love  <rml@novell.com>
13927
13928         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13929           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13930           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13931           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13932           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13933           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13934           declarations, ever.
13935         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13936           NM_STATE_DISCONNECTED is zero).
13937
13938 2006-01-16  Robert Love  <rml@novell.com>
13939
13940         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13941           uninitialized parameter and buffer overflow.  Novell #143496.
13942
13943 2006-01-16  Dan Williams  <dcbw@redhat.com>
13944
13945         Apply the PtP Address bits of a patch from Tim Niemueller
13946
13947         * src/nm-ip4-config.[ch]
13948                 - Add ip4_ptp_address member to object
13949                 - (nm_ip4_config_copy): copy ptp address too
13950                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13951                         new functions
13952                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13953                         rather than local tunnel ip address
13954
13955         * src/vpn-manager/nm-vpn-service.c
13956                 - (print_vpn_config): update for PtP address
13957                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13958                         DBusMessageIters in preparation for getting routes from the VPN
13959                         service daemons too
13960
13961         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13962                 - (send_config_info): update for PtP address, clean up code
13963                 - (main): update for PtP address, clean up code, fix typo
13964
13965         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13966                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13967
13968         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13969                 - (pptp_ip_up): update for PtP address
13970
13971         * vpn-daemons/pptp/src/nm-pptp-service.c
13972                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13973
13974         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13975                 - (print_vpn_config): update for PtP address
13976                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13977
13978 2006-01-16  Dan Williams  <dcbw@redhat.com>
13979
13980         * gnome/applet/applet.c
13981                 - (nmwa_add_networks_helper): don't indicate an active network
13982                         if NM is disconnected or asleep
13983
13984 2006-01-16  Dan Williams  <dcbw@redhat.com>
13985
13986         * src/NetworkManagerPolicy.c
13987                 - (nm_policy_device_change_check): switch devices if we lose the link
13988                         on an ethernet device. 
13989
13990 2006-01-16  Dan Williams  <dcbw@redhat.com>
13991
13992         * gnome/applet/wso-wpa-psk-hex.[ch]
13993                 - Renamed -> wso-wpa-psk.[ch]
13994
13995         * gnome/applet/wso-wpa-psk.[ch]
13996                 - New files
13997
13998         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13999                 - Removed, rolled into wso-wpa-psk.[ch]
14000
14001         * gnome/applet/Makefile.am
14002                 - Updated for above changes
14003
14004         * gnome/applet/wireless-applet.glade
14005                 - Consolidate WPA-PSK options into one notebook
14006                         widget, and make dialogs invisible by default
14007                         to fix screen oddities
14008
14009         * gnome/applet/wireless-security-manager.c
14010                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14011                         than both the old hex & passphrase ones
14012
14013 2006-01-16  Dan Williams  <dcbw@redhat.com>
14014
14015         * gnome/applet/other-network-dialog.c
14016                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14017
14018 2006-01-16  Dan Williams  <dcbw@redhat.com>
14019
14020         * gnome/applet/applet.c
14021                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14022                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14023                         prevention to realize window before trying to get server
14024                         time
14025
14026         * gnome/applet/other-network-dialog.c
14027                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14028                         prevention to realize window before trying to get server
14029                         time
14030
14031         * gnome/applet/passphrase-dialog.c
14032                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14033                         prevention to realize window before trying to get server
14034                         time
14035
14036 2006-01-16  Robert Love  <rml@novell.com>
14037
14038         Patch from Timo Hoenig  <thoenig@suse.de:
14039         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14040           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14041           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14042           libnm-util/dbus-helpers.h: add checks whether headers are used
14043           within a C++ build.
14044
14045 2006-01-16  Dan Williams  <dcbw@redhat.com>
14046
14047         * gnome/applet/wireless-security-option.c
14048                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14049
14050 2006-01-16  Dan Williams  <dcbw@redhat.com>
14051
14052         * libnm-util/cipher-wpa-psk-passphrase.c
14053                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14054                         be 8 - 63 characters inclusive
14055
14056 2006-01-16  Dan Williams  <dcbw@redhat.com>
14057
14058         * src/nm-dbus-nm.c
14059                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14060
14061 2006-01-13  Robert Love  <rml@novell.com>
14062
14063         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14064         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14065           modules that do not use an interface.
14066
14067 2006-01-13  Dan Williams  <dcbw@redhat.com>
14068
14069         * src/nm-device.c
14070           src/nm-device.h
14071                 - Allow subclasses to implement deactivate_quickly()
14072                 - (nm_device_deactivate_quickly): call subclass
14073                         deactivate_quickly() methods
14074                 - (nm_device_set_active_link): small cleanups, and don't
14075                         deactivate the device right away because we risk a deadlock
14076                         when called from device thread, waiting for the device
14077                         thread to cancel activation
14078
14079         * src/nm-device-802-11-wireless.c
14080                 - (real_deactivate_quickly): new function
14081                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14082                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14083                         so that we kill the supplicant when we sleep too
14084                 - (supplicant_interface_init): work around naive naming attempts of
14085                         wpa_ctrl when naming sockets
14086
14087 2006-01-13  Dan Williams  <dcbw@redhat.com>
14088
14089         * src/nm-device-802-11-wireless.c
14090                 - (supplicant_cleanup): delete old device control sockets too
14091                 - (supplicant_get_device_socket_path): new function to consolidate
14092                         locations that need a path to a device's control socket
14093
14094 2006-01-12  Robert Love  <rml@novell.com>
14095
14096         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14097           description so that the description is unique for each
14098           pair (device,provider).  Fixes Novell #142773.
14099
14100 2006-01-12  Dan Williams  <dcbw@redhat.com>
14101
14102         * src/nm-device-802-11-wireless.c
14103                 - (supplicant_exec): ensure GError is correctly initialized
14104                         Reported by Diego González (gnome.org #326708)
14105
14106 2006-01-11  Robert Love  <rml@novell.com>
14107
14108         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14109           define if_mii(), open code the same results, and do so without any
14110           type punning.
14111
14112 2006-01-11  Robert Love  <rml@novell.com>
14113
14114         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14115           that wso_foo_new() returned non-NULL.  Instead, only append the new
14116           wso to wsm->options if the wso is non-NULL.  The crux is that we
14117           assume that the relevant key types are implied by WEP and WPA as
14118           appropriate.  To be sure, they should be, but we should not expect
14119           drivers to not be oozing piles of wolf fecal matter.
14120
14121 2006-01-11  Robert Love  <rml@novell.com>
14122
14123         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14124         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14125           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14126           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14127           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14128           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14129           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14130         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14131           comparing values within DBL_EPSILON.  Also fix shadowed variable
14132           usage.
14133
14134 2006-01-11  Dan Williams  <dcbw@redhat.com>
14135
14136         Add options for WPA2 and WPA1+CCMP (AES).
14137
14138         * gnome/applet/wireless-applet.glade
14139                 - Add UI bits for WPA+CCMP
14140
14141         * gnome/applet/other-network-dialog.c
14142                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14143                         and don't allow creation of WPA2 Ad-Hoc networks since
14144                         wpa_supplicant doesn't support them
14145
14146         * gnome/applet/wireless-security-manager.c
14147                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14148                         on to the specific wireless security option being created
14149
14150         * gnome/applet/wireless-security-option.[ch]
14151                 - (wso_wpa_create_key_type_model): new utility function to create
14152                         the model required for WPA Key Type combo box
14153
14154         * gnome/applet/wso-private.h
14155           gnome/applet/wireless-security-option.h
14156                 - Move private function prototypes into wso-private.h
14157
14158         * gnome/applet/wso-wpa-psk-hex.[ch]
14159           gnome/applet/wso-wpa-psk-passphrase.[ch]
14160                 - (append_dbus_params_func): get WPA version from checkbox and pass
14161                         it to the dbus serialization helper
14162                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14163                         key type combo changes
14164                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14165                         model and options
14166
14167         * libnm-util/cipher-wpa-psk-hex.c
14168           libnm-util/cipher-wpa-psk-passphrase.c
14169                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14170                         new function; allow the cipher to be changed after object creation
14171
14172         * src/nm-ap-security-wpa-psk.c
14173                 - (set_description): Do WPA2 descriptions too
14174
14175         * src/nm-ap-security.c
14176                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14177
14178 2006-01-11  Robert Love  <rml@novell.com>
14179
14180         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14181           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14182           from the ifreq structure in lieu of an open coded solution.  Removes
14183           a life-threatening type-punning.
14184         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14185           types, ever, whatsoever, baby.
14186
14187 2006-01-11  Robert Love  <rml@novell.com>
14188
14189         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14190           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14191           assignments to applet->nm_state into a new nmwa_set_state() function
14192           for both cleanliness and to help debugging.
14193
14194 2006-01-10  Robert Love  <rml@novell.com>
14195
14196         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14197           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14198           seconds, exclusive.  That is, we want to sleep x seconds such that
14199           1 < x < 2.
14200
14201 2006-01-10  Robert Love  <rml@novell.com>
14202
14203         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14204           the attr fields according to the example in the email available at
14205           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14206           Conversely, we do have to free 'name', so we do so, fixing a leak.
14207
14208 2006-01-10  Robert Love  <rml@novell.com>
14209
14210         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14211           sure that we close the socket!
14212
14213 2006-01-10  Robert Love  <rml@novell.com>
14214
14215         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14216           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14217           src/nm-device.c: Fix a FIXME!  Reimplement the function
14218           nm_device_update_hw_address() in device subclass variants,
14219           nm_device_802_3_ethernet_set_address() and
14220           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14221           This fixes the existing bug where MAC addresses are all zeros.
14222
14223 2006-01-10  Robert Love  <rml@novell.com>
14224
14225         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14226           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14227           option to give users ability to globally disconnect and put NM to
14228           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14229           clean disconnect.
14230
14231 2006-01-09  Robert Love  <rml@novell.com>
14232
14233         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14234           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14235           User-space does not supply these types, so we have to define them
14236           ourselves.  The relevant kernel maintainer refused to accept a patch
14237           switching these headers to the proper C99 types.
14238
14239 2006-01-09  Dan Williams  <dcbw@redhat.com>
14240
14241         Apply Robert's 'tray icon redo' patch with fixes
14242         * gnome/applet/applet.c
14243           gnome/applet/applet.h
14244                 - Instead of using a menu bar + menu item, simulate menu
14245                         behavior using a popup menu.  Highlight the area around
14246                         the icon more like a menu too, by playing with the
14247                         applet's size requisition
14248
14249 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14250         * libnm-util/dbus-helpers.c
14251           libnm-util/dbus-helpers.h
14252                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14253                         to 'exception_namespace' (:namespace is a keyword in
14254                         C++)
14255
14256 2006-01-09  Dan Williams  <dcbw@redhat.com>
14257
14258         * src/NetworkManagerPolicy.c
14259                 - (nm_policy_device_change_check): don't autoswitch away from
14260                         Ad-Hoc networks, since there's really no concept of
14261                         "link"
14262
14263         * src/nm-dbus-nm.c
14264                 - (nm_dbus_nm_create_wireless_network): mark created networks
14265                         as Ad-Hoc networks
14266
14267         * src/nm-device-802-11-wireless.c
14268                 - (real_activation_success_handler): add user-created Ad-Hoc
14269                         networks to the device's scan list
14270
14271 2006-01-08  Dan Williams  <dcbw@redhat.com>
14272
14273         We now require a patch for wpa_supplicant to support Ad-Hoc
14274         networks:
14275           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14276
14277         * src/nm-device-802-11-wireless.c
14278                 - (supplicant_send_network_config): turn off wpa_supplicant's
14279                         scanning.  Fixes Ad-Hoc networks.
14280
14281 2006-01-08  Dan Williams  <dcbw@redhat.com>
14282
14283         * src/nm-ap-security.c
14284           src/nm-ap-security.h
14285                 - Add a user_created argument to the write_supplicant_config
14286                         functions
14287
14288         * src/nm-ap-security-wep.c
14289           src/nm-ap-security-wpa-psk.c
14290           src/nm-device-802-11-wireless.c
14291                 - Make Ad-Hoc mode somewhat work, at least write the
14292                         correct options to wpa_supplicant
14293
14294 2006-01-08  Dan Williams  <dcbw@redhat.com>
14295
14296         * src/nm-device-802-11-wireless.c
14297                 - Remove unused code from the old device activation path
14298
14299 2006-01-08  Dan Williams  <dcbw@redhat.com>
14300
14301         * libnm-util/dbus-helpers.c
14302                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14303                         dbus when key == NULL
14304
14305 2006-01-08  Dan Williams  <dcbw@redhat.com>
14306
14307         * gnome/applet/nm-gconf-wso-wpa-psk.c
14308                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14309                         correct arguments to nmu_security_deserialize_wpa_psk()
14310
14311         * src/nm-ap-security-wpa-psk.c
14312                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14313                         arguments to nmu_security_deserialize_wpa_psk()
14314
14315 2006-01-08  Dan Williams  <dcbw@redhat.com>
14316
14317         * gnome/applet/wso-wpa-psk-hex.c
14318           gnome/applet/wso-wpa-psk-passphrase.c
14319                 - Hook up the append_dbus_params_func() function
14320
14321 2006-01-08  Dan Williams  <dcbw@redhat.com>
14322
14323         * src/nm-device-802-11-wireless.c
14324                 - (get_wireless_capabilities): correctly detect driver WPA
14325                         capabilities
14326
14327 2006-01-08  Dan Williams  <dcbw@redhat.com>
14328
14329         * gnome/applet/Makefile.am
14330           gnome/applet/wso-wpa-psk-hex.c
14331           gnome/applet/wso-wpa-psk-hex.h
14332                 - New files, implement WPA-PSK Hex key input
14333
14334         * gnome/applet/wireless-applet.glade
14335                 - Change existing wpa-psk stuff to wpa-psk-hex
14336                 - Add new widgets for wpa-psk-passphrase
14337
14338         * gnome/applet/wireless-security-manager.c
14339                 - (wsm_set_capabilities): enable WPA options
14340
14341         * gnome/applet/wso-wpa-psk-passphrase.c
14342                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14343                         for WPA-PSK passphrase
14344
14345 2006-01-08  Dan Williams  <dcbw@redhat.com>
14346
14347         * include/NetworkManager.h
14348                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14349                         applet/info-daemons
14350
14351         * gnome/applet/passphrase-dialog.c
14352                 - Use the constant.  Fixes a bug where the arguments to
14353                         dbus_message_new_error() were incorrect
14354
14355         * src/nm-dbus-nmi.c
14356                 - Use the constant
14357
14358 2006-01-07  Dan Williams  <dcbw@redhat.com>
14359
14360         * src/nm-device-802-11-wireless.c
14361                 - Add a link timeout so we allow the supplicant time to
14362                         reassociate if it can, before we deactivate the card
14363                 - Fix up link status and link updating so things work better
14364
14365 2006-01-07  Dan Williams  <dcbw@redhat.com>
14366
14367         * src/nm-device-802-11-wireless.c
14368                 - Switch over to using wpa_supplicant
14369                 - Add a timeout of 10s for association of the supplicant
14370                 - Start the monitor callback of the supplicant
14371
14372 2006-01-07  Dan Williams  <dcbw@redhat.com>
14373
14374         * src/NetworkManagerUtils.c
14375                 - (nm_utils_supplicant_request,
14376                   nm_utils_supplicant_request_with_check):
14377                         pass correct buffer length to wpa_ctrl_request()
14378
14379 2006-01-07  Dan Williams  <dcbw@redhat.com>
14380
14381         * src/nm-device-private.h
14382           src/nm-device.c
14383                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14384                         this function available to subclasses
14385
14386 2006-01-06  Robert Love  <rml@novell.com>
14387
14388         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14389           user plugging in a network cable signals their preference for to
14390           switch, unless the user explicitly selected a wireless network and
14391           therefore signaled their preference for said wireless network over
14392           wired.  In other words, do exactly what makes sense.
14393
14394 2006-01-06  Robert Love  <rml@novell.com>
14395
14396         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14397           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14398           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14399           showing up in my greps.
14400
14401 2006-01-06  Robert Love  <rml@novell.com>
14402
14403         * gnome/applet/applet-dbus-devices.c,
14404           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14405           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14406           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14407           New Network' both failed in the non-encrypted case because we were
14408           not appending the security options to the DBUS message.  And
14409           'Connect to Other' was also failing in the encrypted case because
14410           we were not incrementing to the next DBUS parameter.  All fixed.
14411           Thanks to dcdw for some debugging help.
14412
14413 2006-01-06  Robert Love  <rml@novell.com>
14414
14415         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14416           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14417           hangup code and add per-device hangup.  Tie last commit into the
14418           GNOME applet.  TODO:  Save, understand, and respond to the state of
14419           each dialup device.
14420
14421 2006-01-06  Robert Love  <rml@novell.com>
14422
14423         Patch by Timo Hoenig <thoenig@suse.de>:
14424         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14425           hangup specific dialup devices.
14426         * src/backends/NetworkManagerDebian.c,
14427           src/backends/NetworkManagerGentoo.c,
14428           src/backends/NetworkManagerRedHat.c,
14429           src/backends/NetworkManagerSlackware.c: Add stub backend.
14430         * src/backends/NetworkManagerRedHat.c,
14431           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14432           hangup specific dialup devices.
14433
14434 2006-01-04  Robert Love  <rml@novell.com>
14435
14436         * gnome/applet/applet-dbus-devices.c,
14437           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14438           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14439           connections.
14440
14441 2006-01-04  Dan Williams  <dcbw@redhat.com>
14442
14443         First dump of wpa_supplicant-related code.  It's not hooked up to
14444         anything yet though.  Thanks to Kay Sievers for
14445         wpa_supplicant_wrapper.c, which formed the basis for this work,
14446         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14447
14448         * src/Makefile.am
14449           src/wpa_ctrl.[ch]
14450                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14451
14452         * src/NetworkManagerUtils.[ch]
14453                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14454                         Add convenience functions for talking to wpa_supplicant
14455
14456         * src/nm-ap-security.[ch]
14457           src/nm-ap-security-wep.c
14458           src/nm-ap-security-wpa-psk.[ch]
14459                 - Update and implement real_write_supplicant_config functions
14460                         in all security types
14461                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14462                         nm-ap-security-wpa-psk.c
14463
14464         * src/nm-device-802-11-wireless.c
14465                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14466                    wpa_supplicant_start, wpa_supplicant_interface_init,
14467                    wpa_supplicant_send_network_config): add functions to talk to
14468                         wpa_supplicant and write network config to it
14469
14470 2006-01-04  Robert Love  <rml@novell.com>
14471
14472         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14473           values so that distribution-backends can differentiate between the
14474           various types (modem, ISDN, et cetera) of dialup device that they
14475           support.
14476         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14477           needed.
14478
14479 2006-01-03  Dan Williams  <dcbw@redhat.com>
14480
14481         * src/NetworkManagerPolicy.c
14482           src/nm-device.[ch]
14483           src/nm-device-802-11-wireless.c
14484                 - Move wireless-specific activation failure and success code
14485                         into wireless device class
14486
14487 2006-01-03  Robert Love  <rml@novell.com>
14488
14489         Patch by Preggna S:
14490         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14491           IPsec does not require that a VPN client be bound to an interface,
14492           due to the use of the in-kernel IPSec bits.  So make the tunnel
14493           device optional.
14494
14495 2006-01-03  Dan Williams  <dcbw@redhat.com>
14496
14497         * src/NetworkManagerAP.c
14498                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14499                         the WPA IE specifies that WEP is supported
14500
14501         * src/nm-device-802-11-wireless.c
14502                 - (process_scan_results): don't mark an AP as supporting WEP
14503                         if there's already other encryption capability info
14504
14505 2006-01-03  Dan Williams  <dcbw@redhat.com>
14506
14507         * src/dhcp-manager/nm-dhcp-manager.c
14508                 - Recognize activation cancellation when waiting for DHCP
14509                         configuration from dhcdbd
14510                 - Ignore non-dhcdbd messages
14511
14512         * src/nm-device.c
14513                 - (real_act_stage3_ip_config_start): return to correct behavior
14514                         of letting the dhcp-manager notify us of failure or
14515                         success rather than incorrectly doing that ourselves
14516                 - (nm_device_activate_stage4_ip_config_get): deal with
14517                         activation cancellation a bit earlier
14518
14519 2006-01-03  Dan Williams  <dcbw@redhat.com>
14520
14521         * src/nm-device-802-11-wireless.c
14522           src/nm-device.[ch]
14523                 - Add hooks to subclasses for stage3_ip_config_start and
14524                         stage4_ip_config_timeout
14525
14526         * src/nm-device-802-3-ethernet.c
14527                 - (real_get_generic_capabilities): make devices NM-supported
14528                         by default
14529
14530 2006-01-03  Robert Love  <rml@novell.com>
14531
14532         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14533           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14534           latter cannot differentiate between error and the address -1; misc.
14535           clean up.
14536
14537 2006-01-03  Dan Williams  <dcbw@redhat.com>
14538
14539         * src/NetworkManager.c
14540                 - Move link-checking/probing into the device subclasses
14541                         themselves
14542
14543         * src/nm-device.[ch]
14544           src/nm-device-802-11-wireless.c
14545           src/nm-device-802-3-ethernet.c
14546                 - Do periodic link checking in device subclasses rather
14547                         than being triggered from NetworkManager.c
14548                 - discover_wireless_capabilities -> get_wireless_capabilities
14549                 - discover_generic_capabilities -> get_generic_capabilities
14550                 - Device subclass activation routines now return a value of type
14551                         NMActStageReturn to indicate what step to perform next
14552                 - Devices now override stage4_get_ip4_config if they choose
14553
14554 2006-01-01  Dan Williams  <dcbw@redhat.com>
14555
14556         * src/nm-device-802-11-wireless.c
14557                 - (real_init): don't chain up to parent init because we don't
14558                         need to do that anymore
14559
14560         * src/nm-device.c
14561                 - (discover_device_type): fix arguments to ioctl() to correctly
14562                         pass interface name
14563                 - (nm_device_new): consolidate generic device initialization into
14564                         nm_device_new()
14565                 - (real_init): remove, consolidated to nm_device_new()
14566                 - (nm_device_deactivate, real_deactivate): consolidate
14567
14568 2006-01-01  Dan Williams  <dcbw@redhat.com>
14569
14570         * src/nm-activation-request.c
14571                 - Change dhcp_state member of the NMActRequest structure
14572                         from guint8 to guint32
14573
14574         * src/dhcp-manager/nm-dhcp-manager.[ch]
14575                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14576                         than guint8 to match the dbus argument.  Turns out we were
14577                         overwriting memory since we were passing in only a guint8
14578
14579 2005-12-31  Dan Williams  <dcbw@redhat.com>
14580
14581         * refactor NMDevice into a GObject-based framework with separate
14582                 objects for wired and wireless.  The following files are no
14583                 longer used but should stick around for a bit so we don't
14584                 loose code through the cracks:
14585                         NetworkManagerDevice.c
14586                         NetworkManagerDevice.h
14587                         NetworkManagerWireless.c
14588                         NetworkManagerWireless.h
14589
14590         The intent here is to allow each device type to manage its own
14591         connection & activation life-cycle, ie to allow wireless devices
14592         to interface with wpa_supplicant, etc.  There's a fair bit of
14593         encapsulation breakage right now that should gradually get pulled
14594         back into each device, along with things like periodic property
14595         updates and link probing.
14596
14597 2005-12-29  Dan Williams  <dcbw@redhat.com>
14598
14599         * include/NetworkManager.h
14600                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14601                         between networks that don't have any encryption at all
14602
14603 2005-12-29  Dan Williams  <dcbw@redhat.com>
14604
14605         * test/test-common.c
14606           test/test-common.h
14607           test/Makefile.am
14608                 - Move to a test-common subdirectory
14609
14610         * test/libnm-util/test-ciphers.c
14611                 - Move test data to test-inputs.h
14612                 - Test WPA ciphers too
14613
14614         * test/libnm-util/test-dbus-helpers.c
14615                 - Test serialization/deserialization of ciphers
14616
14617 2005-12-29  Dan Williams  <dcbw@redhat.com>
14618
14619         * gnome/applet/applet-dbus-devices.c
14620                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14621                         in dbus calls to NM
14622                 - Set capabilities on WirelessNetwork objects
14623                 - Receive and save type-specific device capabilities too
14624
14625         * gnome/applet/applet-dbus-info.c
14626           gnome/applet/applet-dbus.c
14627                 - Passphrase dialog no longer a singleton; new instance gets created
14628                         on each request.  Updates to deal with that.
14629
14630         * gnome/applet/applet.c
14631                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14632                         than single 'encrypted' flag
14633                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14634                         menu items
14635                 - Passphrase dialog updates per above
14636
14637         * gnome/applet/menu-items.c
14638                 - (network_menu_item_update): use AP capabilities to determine
14639                         encryption
14640
14641         * gnome/applet/nm-device.[ch]
14642                 - Add accessors for type-specific device capabilities
14643
14644         * gnome/applet/other-network-dialog.c
14645                 - Rework to respect device capabilities.  i.e., if the device doesn't
14646                         support WPA, remove that option from the security dropdown
14647
14648         * gnome/applet/passphrase-dialog.c
14649                 - Massive rework so that a new instance is created each time
14650                         it's used, to support wireless network capabilities
14651
14652         * gnome/applet/wireless-network.[ch]
14653                 - Add accessors and members for wireless network capabilities
14654
14655         * gnome/applet/wireless-security-manager.[ch]
14656                 - (wsm_set_capabilities): called after creation to set which
14657                         security options get shown to the user
14658
14659 2005-12-29  Dan Williams  <dcbw@redhat.com>
14660
14661         * libnm-util/cipher-wpa-psk-passphrase.c
14662                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14663                         like other ciphers
14664
14665 2005-12-23  Dan Williams  <dcbw@redhat.com>
14666
14667         * gnome/applet/applet-dbus-info.c
14668                 - (nmi_dbus_get_key_for_network): if there's no entry in
14669                         GConf for a network, assume we want a new key
14670                 - (nmi_save_network_info): serialize wireless security info
14671                         into GConf so its saved
14672
14673         * src/nm-dbus-nm.c
14674                 - Fix warning as we may not be passed security info when
14675                         connecting to a wireless network
14676
14677 2005-12-23  Dan Williams  <dcbw@redhat.com>
14678
14679         * gnome/applet/applet-compat.c
14680                 - Fix bugs in GConf entry conversion
14681
14682         * gnome/applet/applet-dbus-info.c
14683                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14684                         list being zero-length
14685
14686         * libnm-util/cipher-*
14687           libnm-util/dbus-helpers.c
14688                 - All ciphers must now return hashed keys as UTF-8 valid
14689                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14690                         through dbus as strings too.
14691                 - Consolidate various functions that do bin->hex and hex->bin
14692                         conversion into cipher.c
14693
14694         * src/nm-ap-security-wep.c
14695           src/nm-ap-security-wpa-psk.c
14696                 - Handle NULL keys since we may not know keys right away
14697
14698         * src/nm-dbus-nmi.c
14699                 - (nm_dbus_get_network_data_cb): actually advance to the start
14700                         of the wireless security info before we try to deserialize it
14701
14702         * libnm-util/test-ciphers.c
14703                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14704
14705 2005-12-22  Dan Williams  <dcbw@redhat.com>
14706
14707         * gnome/applet/applet-compat.[ch]
14708                 - Convert old-format GConf and keyring entries
14709                         when the applet starts up.
14710
14711         * gnome/applet/applet.c
14712                 - (nmwa_get_instance): Call the conversion function
14713                         on startup before dbus is initialized
14714
14715 2005-12-22  Dan Williams  <dcbw@redhat.com>
14716
14717         * gnome/applet/applet-dbus-info.c
14718                 - Remove nmi_dbus_create_error_message() in favor of
14719                         nmu_create_dbus_error_message()
14720                 - (nmi_dbus_get_network_properties): Error message cleanups
14721                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14722                         gconf key rather than 'addresses', since they really are BSSIDs
14723                 - (nmi_dbus_get_network_properties): Dispose of the security
14724                         object when we're done with it
14725
14726 2005-12-21  Dan Williams  <dcbw@redhat.com>
14727
14728         * Consolidate the info-daemon's "updateNetworkInfo" and
14729                 "addNetworkAddress" calls into just "updateNetworkInfo"
14730
14731 2005-12-21  Dan Williams  <dcbw@redhat.com>
14732
14733         * Make connection after key retrieval work again
14734
14735 2005-12-21  Dan Williams  <dcbw@redhat.com>
14736
14737         * gnome/applet/nm-gconf-wso*
14738                 - Make the serialize functions return gboolean
14739                         rather than int
14740
14741         * gnome/applet/nm-gconf-wso.c
14742                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14743                         parent class handling so we don't segfault
14744
14745         * src/NetworkManagerAP.[ch]
14746                 - (nm_ap_get_capabilities): new function, return capabilities
14747                         now that something can use them
14748                 - (nm_ap_set_encrypted): assume that an access point supports
14749                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14750                         we even tell whether it just supports WEP40?
14751
14752         * src/NetworkManagerDevice.c
14753                 - (ap_need_key): resurrect and update for the New World Order
14754                 - (nm_device_wireless_get_activation_ap): if we're not given
14755                         security info to use, create some based on access point
14756                         capabilities
14757
14758         * src/nm-ap-security-wep.c
14759                 - (nm_ap_security_wep_new_from_ap): create a new object
14760                         based on a certain access point's capabilities
14761
14762         * src/nm-ap-security.c
14763                 - (nm_ap_security_new_from_ap): delegate creation of a new
14764                         object based on access point capabilities to a subclass
14765                 - (nm_ap_security_copy_properties): don't segfault if we
14766                         don't have a key yet
14767
14768         * src/nm-dbus-nm.c
14769                 - (nm_dbus_nm_set_active_device): provide more informative
14770                         output when errors occur.  Also construct security info
14771                         for a given access point if we weren't given any
14772
14773 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14774
14775         * configure.in: Added Lithuanian to ALL_LINGUAS.
14776
14777 2005-12-21  Dan Williams  <dcbw@redhat.com>
14778
14779         * test/libnm-util
14780                 - Add some testcases for WEP ciphers
14781
14782 2005-12-17  Dan Williams  <dcbw@redhat.com>
14783
14784         * Fix bugs
14785
14786 2005-12-17  Dan Williams  <dcbw@redhat.com>
14787
14788         * include/NetworkManager.h
14789                 - Finally kill NMEncKeyType
14790
14791         * gnome/applet/applet-dbus-info.c
14792                 - (nmi_save_network_info): convert to NMGConfWSO
14793
14794         * gnome/applet/nm-gconf-wso-*.c
14795                 - Implement gconf serialization functions
14796
14797         * src/NetworkManagerPolicy.c
14798                 - (nm_policy_activation_finish): fix up meaning of
14799                         automatic/user_requested
14800
14801 2005-12-17  Dan Williams  <dcbw@redhat.com>
14802
14803         * gnome/applet/*
14804                 - More applet cleanups
14805                 - Use the dbus-method-dispatcher
14806
14807         * libnm-util/dbus-method-dispatcher.[ch]
14808                 - Generalize the implementation from NM in
14809                         NetworkManagerUtils.c
14810
14811 2005-12-16  Dan Williams  <dcbw@redhat.com>
14812
14813         * gnome/applet/*
14814                 - Fix up the passphrase dialog to use all the
14815                         WirelessSecurityOption stuff (untested)
14816
14817 2005-12-16  Dan Williams  <dcbw@redhat.com>
14818
14819         * Move nm_gconf_get_*_helper() functions to separate files,
14820                 gconf-helpers.c & gconf-helpers.h
14821
14822         * New NMGConfWSO objects for managing the gconf side of things.
14823                 Eventually these should be merged with the
14824                 WirelessSecurityOption objects and a common base (that can
14825                 serialize/deserialize from dbus & gconf) should be
14826                 refactored out, but for now they are separate.
14827
14828 2005-12-16  Robert Love  <rml@novell.com>
14829
14830         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14831           binaries unless they exist (nm_spawn_process() emits a warning if
14832           asked to spawn a non-existant process).
14833
14834 2005-12-16  Dan Williams  <dcbw@redhat.com>
14835
14836         * gnome/applet/applet-dbus-info.c
14837                 - Clean up lots of gconf-related code
14838
14839 2005-12-16  Robert Love  <rml@novell.com>
14840
14841         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14842
14843 2005-12-16  Dan Williams  <dcbw@redhat.com>
14844
14845         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14846
14847         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14848                 bits still to be done)
14849
14850 2005-12-16  Dan Williams  <dcbw@redhat.com>
14851
14852         * Finally move info-daemon related stuff out of
14853                 NetworkManagerDbus.c to nm-dbus-nmi.c
14854
14855 2005-12-16  Dan Williams  <dcbw@redhat.com>
14856
14857         * Kill auth_method for access points, since that's now done
14858                 by NMAPSecurity objects
14859
14860         * Add a copy-constructor of sorts to NMAPSecurity
14861                 (how do you do this properly in glib???)
14862
14863 2005-12-15  Dan Williams  <dcbw@redhat.com>
14864
14865         * Exorcise encryption key hashing on APs
14866         * Use libnm-util's serialization/deserialization in both the
14867                 applet and NM
14868         * Random other stuff
14869
14870 2005-12-15  Robert Love  <rml@novell.com>
14871
14872         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14873           is being added to the icon naming spec, so let's use that (Tango CVS
14874           has the icon).  Because it is new, however, we fall back to the
14875           current "gnome-lockscreen" if the new icon is not around, thus
14876           behavior is the same.
14877         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14878           factory junk.
14879
14880 2005-12-15  Robert Love  <rml@novell.com>
14881
14882         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14883           well, help to give.  Couple other misc. bits.
14884
14885 2005-12-15  Dan Williams  <dcbw@redhat.com>
14886
14887         * libnm-util/dbus-helpers.[ch]
14888                 - Make this the one-stop-shop for serializing/deserializing
14889                         AP & connection security settings over dbus.  Both NM
14890                         and applets should use this to ensure consistent dbus
14891                         API going forwared.
14892
14893 2005-12-15  Robert Love  <rml@novell.com>
14894
14895         Patch by Timo Hoenig  <thoenig@suse.de>:
14896         * src/NetworkManagerDbus.c
14897                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14898                         if HAL jumps off the system bus.  Otherwise libdbus
14899                         (dbus_connection_dispatch) will try to run the filter
14900                         function of our libhal context which is already freed.
14901
14902 2005-12-15  Alexander Shopov  <ash@contact.bg>
14903
14904         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14905
14906 2005-12-14  Dan Williams  <dcbw@redhat.com>
14907
14908         * include/NetworkManager.h
14909           src/NetworkManagerWireless.c
14910                 - Rearrange 802.11 wireless-specific capabilities again
14911
14912         * src/Makefile.am
14913                 - Forgot to add wpa.c/wpa.h to the makefiles
14914
14915         * src/NetworkManagerAP.[ch]
14916                 - Implement access point capabilities and parse the
14917                         WPA/RSN IEs into the capability bitfield
14918                 - Switch the "encrypted" attribute to utilize the bitfield
14919                         and capabilities rather than being independent
14920
14921         * src/NetworkManagerDevice.c
14922                 - (nm_device_wireless_get_activation_ap): break it horribly
14923                         until we can push NMAPSecurity objects into access point
14924                         objects and through the activation chain
14925                 - Stuff WPA & RSN IEs into AP capabilities
14926
14927         * src/nm-dbus-nm.c
14928                 - Take a shot at actually making setActiveDevice work
14929
14930         * src/wpa.[ch]
14931                 - Make the API a bit saner
14932
14933 2005-12-14  Dan Williams  <dcbw@redhat.com>
14934
14935         * include/NetworkManager.h
14936                 - Add 802.11-specific capability for 802.1x key
14937                         management
14938
14939         * src/wpa.[ch]
14940                 - Pull in WPA IE and RSN IE parsing code from
14941                         wpa_supplicant so we can determine access point
14942                         capabilities
14943                 - Move WPA-related constants here from NetworkManagerAP.h
14944                         and NetworkManagerDevice.c
14945
14946         * src/NetworkManagerDevice.c
14947           src/NetworkManagerAP.[ch]
14948                 - Use WPA-related constants from wpa.h
14949
14950 2005-12-14  Dan Williams  <dcbw@redhat.com>
14951
14952         * include/NetworkManager.h
14953                 - Update and split 802.11 wireless-specific capabilities from
14954                         generic device capabilities
14955
14956         * src/NetworkManagerDevice.c
14957           src/NetworkManagerDevicePrivate.h
14958                 - (nm_device_wireless_discover_capabilities): Move 802.11
14959                         wireless-specific capability checks to
14960                         NetworkManagerWireless.c
14961                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14962                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14963
14964         * src/NetworkManagerWireless.[ch]
14965                 - (nm_802_11_wireless_discover_capabilities): Check extended
14966                         802.11 wireless-specific capabilities of the driver
14967
14968 2005-12-14  Robert Love  <rml@novell.com>
14969
14970         Patch from Stefan Scheler <sscheler@suse.de>:
14971         * src/NetworkManagerDevice.c: call backend code to activate and
14972           deactivate NIS.
14973         * src/NetworkManagerSystem.h: add new NIS interfaces.
14974         * src/backends/NetworkManagerDebian.c,
14975           src/backends/NetworkManagerGentoo.c,
14976           src/backends/NetworkManagerRedHat.c,
14977           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14978           support.
14979         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14980
14981 2005-12-14  Dan Williams  <dcbw@redhat.com>
14982
14983         * src/nm-ap-security*.[ch]
14984                 - Add AP security abstractions to NetworkManager
14985
14986         * src/nm-dbus-device.c
14987                 - Begin to parse new format dbus messages from the applet
14988                         and construct an AP security object from the message
14989
14990         * libnm-util/dbus-helpers.c
14991                 - Use message iters so we can append the key as a fixed
14992                         array of bytes, which actually works rather than
14993                         using dbus_message_append_args() as we were before
14994
14995 2005-12-14  Dan Williams  <dcbw@redhat.com>
14996
14997         * src/NetworkManagerDbus.c
14998           gnome/applet/applet-dbus.c
14999                 - Fix up dbus service replacement options.  The applet
15000                         should allow replacement, NM itself should not.
15001
15002 2005-12-13  Robert Love  <rml@novell.com>
15003
15004         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15005           Instead, fail silently if config is NULL by not asserting and not
15006           returning FALSE.  Also, make sure we always fclose() the file.
15007
15008 2005-12-13  Robert Love  <rml@novell.com>
15009
15010         Patch by Stefan Scheler <sscheler@suse.de>:
15011         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15012            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15013            via DHCP.  Still need the backends to commit the NIS domain name and
15014            and servers to yp.conf as needed.
15015
15016 2005-12-13  Robert Love  <rml@novell.com>
15017
15018         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15019           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15020
15021 2005-12-13  Robert Love  <rml@novell.com>
15022
15023         * src/named-manager/nm-named-manager.c: Don't unref the config until
15024           after we call rewrite_resolv_conf(), because get_last_default_domain()
15025           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15026           `config != NULL' failed" assertion failures and "Could not commit DNS
15027           changes" warnings.
15028
15029 2005-12-12  Dan Williams  <dcbw@redhat.com>
15030
15031         * libnm-util/dbus-helpers.[ch]
15032           libnm-util/Makefile.am
15033                 - new helper calls to consolidate locations where
15034                         NM's setDevice method is called
15035
15036         * gnome/applet/applet-dbus-devices.c
15037           gnome/applet/wireless-security-option.c
15038           gnome/applet/wso-*
15039                 - Implement dbus message param append function for
15040                         all wireless security options
15041
15042 2005-12-12  Robert Love  <rml@novell.com>
15043
15044         * libnm-util/cipher-wep-passphrase.c,
15045           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15046           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15047           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15048           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15049           When handling keys, we don't care what the sign is.  The compiler
15050           guarantees us that we get our 8-bits, which is all we care about.
15051         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15052
15053 2005-12-12  Dan Williams  <dcbw@redhat.com>
15054
15055         * gnome/applet/applet-dbus-devices.[ch]
15056           gnome/applet/applet.c
15057           gnome/applet/other-network-dialog.c
15058           gnome/applet/wireless-security-manager.[ch]
15059           gnome/applet/wireless-security-option.[ch]
15060           gnome/applet/wso-*
15061                 - Push the wireless security options further into the applet
15062
15063 2005-12-12  Robert Love  <rml@novell.com>
15064
15065         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15066           return any name servers.  That is perfectly valid.  (Novell #134369).
15067
15068 2005-12-11  Dan Williams  <dcbw@redhat.com>
15069
15070         * gnome/applet/wso-*
15071           gnome/applet/wireless-security-option.*
15072           gnome/applet/Makefile.am
15073                 - split each security option out so we can eventually
15074                         have each one build up their own dbus message
15075                         arguments to send to NM
15076
15077 2005-12-11  Dan Williams  <dcbw@redhat.com>
15078
15079         * Make validation of the key work correctly
15080
15081 2005-12-11  Dan Williams  <dcbw@redhat.com>
15082
15083         * Hook more bits of the Other Network Dialog up to the
15084                 wireless security manager stuff, and restructure
15085                 bits of the dialog so there's less code.
15086
15087 2005-12-10  Dan Williams  <dcbw@redhat.com>
15088
15089         * gnome/applet/Makefile.am
15090                 - Add libnm-util to includes
15091                 - Add libnm-util to link list
15092                 - Add wireless-security-common.* to compile list
15093
15094         * gnome/applet/other-network-dialog.c
15095                 - Convert to using the WirelessSecurityManager code and
15096                         widgets
15097
15098         * gnome/applet/passphrase-dialog.c
15099                 - Comment out references to stuff in the glade file that
15100                         cause runtime errors until it can be fixed up
15101                         to use the WirelessSecurityManager code
15102
15103         * gnome/applet/wireless-applet.glade
15104                 - Rename some widgets
15105                 - Add widgets for the WirelessSecurityManager code
15106                 - Remove passphrase-related stuff since that's now
15107                         handled by the WirelessSecurityManager code
15108
15109 2005-12-10  Dan Williams  <dcbw@redhat.com>
15110
15111         * gnome/applet/applet-dbus-devices.c
15112                 - Print out error message details for dbus pending call callbacks
15113                 - Move nmwa_dbus_update_devices() up
15114
15115         * gnome/applet/applet-dbus-vpn.c
15116                 - Print out error message details for dbus pending call callbacks
15117
15118 2005-12-10  Dan Williams  <dcbw@redhat.com>
15119
15120         * libnm-util/*
15121                 - More fixups
15122                 - Remove cipher-manager.* because we don't need it
15123                 - Forgot to add gnome-keyring-md5 files to compile list
15124
15125 2005-12-09  Dan Williams  <dcbw@redhat.com>
15126
15127         * libnm-util/*
15128           configure.in
15129           Makefile.am
15130                 - Add a utility library for clients of NetworkManager.  It's
15131                         only targetted at applets for the moment, and contains
15132                         a generalized 802.11 cipher framework for different
15133                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15134
15135 2005-12-09  Robert Love  <rml@novell.com>
15136
15137         * src/NetworkManagerDevice.c: handle error better in
15138           nm_device_set_mode().
15139
15140 2005-12-08  Robert Love  <rml@novell.com>
15141
15142         * include/NetworkManager.h: add WPA capabilities constants
15143         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15144           or WPA2 and add the capabilities bits as appropriate.
15145
15146 2005-12-08  Robert Love  <rml@novell.com>
15147
15148         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15149           NetworkManagerDispatcher.
15150         * configure.in, initscript/SUSE/.cvsignore,
15151           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15152           initscript.
15153
15154 2005-12-08  Robert Love  <rml@novell.com>
15155
15156         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15157
15158 2005-12-08  Robert Love  <rml@novell.com>
15159
15160         * src/NetworkManagerDevice.c: We want to fall back on and default to
15161           IW_MODE_AUTO, not -1, which is more in line with our previous
15162           behavior.  Otherwise, we try to set the wireless mode to -1 in
15163           nm_device_set_mode().
15164
15165 2005-12-07  Robert Love  <rml@novell.com>
15166
15167         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15168           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15169           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15170           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15171           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15172           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15173           zero.
15174
15175 2005-12-07  Robert Love  <rml@novell.com>
15176
15177         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15178           supplied IP is invalid, fall back to DHCP.
15179
15180 2005-12-07  Dan Williams  <dcbw@redhat.com>
15181
15182         * Convert NETWORK_MODE_* constants to IW_MODE_*
15183         * Make all the get_mode/set_mode functions take and return 'int'
15184         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15185
15186 2005-12-07  Robert Love  <rml@novell.com>
15187
15188         * src/NetworkManagerDevice.c: strncpy() buffer check.
15189         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15190
15191 2005-12-06  Dan Williams  <dcbw@redhat.com>
15192
15193         * gnome/applet/applet-dbus.c
15194                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15195
15196         * gnome/applet/applet-dbus-vpn.c
15197                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15198                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15199                         to TRUE here if stage was ACTIVATED
15200
15201 2005-12-06  Dan Williams  <dcbw@redhat.com>
15202
15203         * Change nm_device_is_* functions to better names:
15204                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15205                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15206
15207 2005-12-06  Dan Williams  <dcbw@redhat.com>
15208
15209         * Change naming of NMDeviceType to something more sensible:
15210                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15211                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15212                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15213
15214 2005-12-06  Dan Williams  <dcbw@redhat.com>
15215
15216         * Move NetworkManager.h -> include/NetworkManager.h
15217         * Split out VPN stuff into include/NetworkManagerVPN.h
15218         * Fix up makefiles to include new location
15219         * Fix up sources to include NetworkManagerVPN.h
15220
15221 2005-12-06  Dan Williams  <dcbw@redhat.com>
15222
15223         Various changes in the applet to move VPN connection "state" -> "stage",
15224         which it actually is.  I'd like to change the signal as well when we
15225         break compat in the near future.
15226
15227 2005-12-06  Dan Williams  <dcbw@redhat.com>
15228
15229         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15230         * initscript/Slackware/rc.networkmanager
15231                 - Cosmetic fix
15232
15233         * src/backends/NetworkManagerSlackware.c
15234                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15235                         interfaces
15236
15237 2005-12-05  Robert Love  <rml@novell.com>
15238
15239         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15240           to free, particularly here as it just barfs.
15241
15242 2005-12-05  Dan Williams  <dcbw@redhat.com>
15243
15244         * gnome/applet/applet-dbus.c
15245                 - Work with dbus 0.6 too
15246
15247 2005-12-03  Dan Williams  <dcbw@redhat.com>
15248
15249         * src/NetworkManagerUtils.[ch]
15250           src/nm-ip4-config.c
15251                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15252                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15253
15254 2005-12-01  Robert Love  <rml@novell.com>
15255
15256         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15257           need a NULL for the '...' parameter, too, to fill the so-called
15258           sentinel.
15259
15260 2005-12-01  Robert Love  <rml@novell.com>
15261
15262         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15263           interface is already gone, so don't call rtnl_link_change() to down
15264           it (which will segfault, anyhow).
15265
15266 2005-11-22  Robert Love  <rml@novell.com>
15267
15268         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15269           gateway is not set, just print a little note.  Configurations without
15270           gateways are valid.
15271
15272 2005-11-22  Robert Love  <rml@novell.com>
15273
15274         * README: update
15275
15276 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15277
15278         * configure.in: Added Finnish translation to ALL_LINGUAS
15279
15280 2005-11-14  Robert Love  <rml@novell.com>
15281
15282         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15283           Niemueller <tim@niemueller.de>.
15284
15285 2005-11-08  Dan Williams  <dcbw@redhat.com>
15286
15287         Patch from Bill Moss <bmoss@clemson.edu>
15288         * src/NetworkManagerDevice.c
15289                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15290                         of nm_policy_schedule_activation_finish() to prevent a
15291                         race condition that causes the link to be dropped
15292
15293 2005-11-08  Dan Williams  <dcbw@redhat.com>
15294
15295         Patch from Bill Moss <bmoss@clemson.edu>
15296         * src/NetworkManagerAPList.c
15297           src/NetworkManagerDevice.c
15298           src/NetworkManagerDbus.c
15299                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15300                         we get more readable ether/mac addresses
15301
15302 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15303
15304         * gnome/applet/main.c: Don't set the restart command.  This fixes
15305         the issue where the restart command was getting copies of all its
15306         arguments for each time the applet was restarted.
15307
15308 2005-11-02  Robert Love  <rml@novell.com>
15309
15310         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15311           if the widget state differs from our saved state.  This ensures we
15312           do not enter an endless loop of death and destruction.  Also, this
15313           guarantees us that we enforce the widget state.
15314
15315 2005-11-02  Robert Love  <rml@novell.com>
15316
15317         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15318         * gnome/applet/applet-dbus-devices.c: invoke the new function
15319           nmwa_enable_wireless_set_active() to ensure that the state of the
15320           'Enable Wireless' checkbox matches the daemon's state.  This is a
15321           concern because the daemon remembers the state.
15322
15323 2005-11-02  Robert Love  <rml@novell.com>
15324
15325         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15326           Enabled", as checkboxes should be actions/commands not positive
15327           statements, otherwise they are confusing in the unselected case.  See
15328           examples in GNOME HIG, Chapter 6.
15329
15330 2005-11-02  Robert Love  <rml@novell.com>
15331
15332         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15333           show a list of wireless networks or the wireless devices or the
15334           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15335           a bad bug: If wireless is disabled and the user picks a wireless
15336           network, NM will switch to the network, only to immediately switch
15337           back, as wireless is disabled.  This also reassures people that NM
15338           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15339
15340 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15341
15342         * gnome/applet/applet.c:
15343         * gnome/applet/applet.h:
15344         Partial backout of Dan's timeout animation patch.
15345         Timeout IDs cannot legally be 0, so revert the code in place to handle
15346         a timeout ID of 0 to denote the timeout isn't running.
15347
15348 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15349
15350         * src/NetworkManagerPolicy.c:
15351         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15352
15353 2005-10-28  Robert Love  <rml@novell.com>
15354
15355         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15356           "Import Saved Configuration..." to make it clear that importing is
15357           not the next step, but an option.  As an aside, a nice TODO would be
15358           to move Importing out of the vpn-specific dialog and into the main
15359           property editor, as Importing goes with Adding, but that will require
15360           some rearchitecting of the VPN stuff I suspect.
15361
15362 2005-10-27  Dan Williams  <dcbw@redhat.com>
15363
15364         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15365         we should replace most of the distro-specific backend code
15366         with libnl stuff.
15367
15368         Get it here:  http://people.suug.ch/~tgr/libnl/
15369
15370         * configure.in
15371           src/Makefile.am
15372                 - Add checks for libnl pkgconfig file
15373                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15374
15375         * src/NetworkManagerSystem.c
15376           src/nm-ip4-config.[ch]
15377                 - Use libnl rather than ioctl() for most things
15378                 - Remove unused functions
15379
15380 2005-10-27  Robert Love  <rml@novell.com>
15381
15382         * src/backends/NetworkManagerSuSE.c: fix warning message text
15383
15384 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15385
15386         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15387
15388 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15389
15390         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15391         project page <http://www.gnome.org/projects/NetworkManager/>
15392
15393 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15394
15395         * gnome/applet.c: Also use translator credits if we don't have
15396         the new GtkAboutDialog (older versions of GTK+)
15397
15398 2005-10-26  Robert Love  <rml@novell.com>
15399
15400         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15401           failure; correct usage text for "--no-daemon"
15402
15403 2005-10-25  Dan Williams  <dcbw@redhat.com>
15404
15405         * src/NetworkManagerDevice.c
15406                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15407                         no scan results
15408                 - (free_process_scan_cb_data): unref the device when freeing results
15409                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15410                         so we don't unref the device underneath ourselves
15411
15412 2005-10-25  Dan Williams  <dcbw@redhat.com>
15413
15414         * Back out 2005-10-24 commit from Tor Krill.  Patch
15415                 causes nameservers never to be removed from named.
15416
15417 2005-10-24  Dan Williams  <dcbw@redhat.com>
15418
15419         Clean up wireless scanning and wireless link probing.
15420
15421         * src/NetworkManagerDevice.c
15422                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15423                         just see if there's an activation request on the device, and check the
15424                         current link against the activation request access point's ESSID.
15425                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15426                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15427                         don't call process_scan_results() on zero-length data
15428                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15429                         15 seconds (from 10)
15430
15431 2005-10-24  Dan Williams  <dcbw@redhat.com>
15432
15433         Cleanup some applet stuff:
15434
15435         - Animation timeouts.  If NM died while the applet was animating,
15436                 the applet would not hide itself.  This is now fixed.
15437
15438         - Remove some dead code
15439
15440         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15441                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15442
15443         - Track animation timeout using a gboolean rather than the timeout's
15444                 ID, since timeout IDs can legally be 0.
15445
15446 2005-10-24  Dan Williams  <dcbw@redhat.com>
15447
15448         * src/backends/interface_parser.c
15449                 - Add void to function declarations that need it
15450                         to match patch from Engin AYDOGAN
15451
15452         * src/backends/interface_parser.h
15453                 - Remove unused prototype for ifparser_interfaces()
15454
15455         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15456         * src/backends/interface_parser.h:
15457                 - Compile fixes for gcc 4.0.2 (add void)
15458
15459 2005-10-24  Dan Williams  <dcbw@redhat.com>
15460
15461         Patch from Tor Krill <tor@krill.nu>
15462         * src/named-manager/nm-named-manager.c
15463                 - Write more than just the first nameserver to /etc/resolv.conf
15464                 - Write out valid /etc/resolv.conf on exit
15465
15466 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15467
15468         * gnome/applet/applet-dbus-vpn.c:
15469         Get rid of spurious newlines in debug console output
15470
15471 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15472
15473         * src/backends/NetworkManagerGentoo.c:
15474         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15475
15476 2005-10-20  Robert Love  <rml@novell.com>
15477
15478         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15479           direct comparison of floating point values, which is never correct.
15480           Also some misc. cleanup.
15481
15482 2005-10-19  Robert Love  <rml@novell.com>
15483
15484         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15485
15486 2005-10-19  Robert Love  <rml@novell.com>
15487
15488         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15489           sensitivity of the buttons.  Specificaly, do the right thing if
15490           there are no entries.
15491
15492 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15493
15494         * configure.in: Update check for adequate wireless-tools
15495         with an AC_TRY_COMPILE for the new symbols we use.
15496
15497 2005-10-19  Dan Williams  <dcbw@redhat.com>
15498
15499         * src/NetworkManagerDevice.c
15500                 - (process_scan_results): don't drop the last (or only)
15501                         access point we see
15502
15503 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15504
15505         * src/backends/NetworkManagerSlackware.c:
15506         Patch from Nico <lordllucifer@gmail.com>
15507                 - Update the Slackware backend.
15508
15509 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15510
15511         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15512         if we've got GLib 2.8.0
15513
15514 2005-10-18  Robert Love  <rml@novell.com>
15515
15516         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15517           function nm_schedule_state_change_signal_broadcast() when we
15518           deactivate a device, too.
15519
15520 2005-10-18  Robert Love  <rml@novell.com>
15521
15522         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15523           be used uninitialized.
15524
15525 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15526
15527         * test/libnm_glib_test.c: Test unregistering, too.
15528
15529 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15530
15531         * configure.in: Bump to 0.5.0
15532
15533 2005-10-17  Dan Williams  <dcbw@redhat.com>
15534
15535         * NetworkManager.h
15536                 - Remove WPA-related constants so they aren't part of the
15537                         upcoming release.
15538
15539 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15540
15541         * gnome/applet/applet.c:
15542         * gnome/applet/applet.h:
15543         Desensitize the 'Connection Information' menu item when there is
15544         no active connection.
15545
15546 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15547
15548         * gnome/libnm_glib/libnm_glib.c:
15549         Make libnm_glib_unregister_callback () actually unregister the callback
15550
15551 2005-10-17  Robert Love  <rml@novell.com>
15552
15553         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15554           two seconds -- tries is updated every 1/10 of a second, not every
15555           second..
15556
15557 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15558
15559         * gnome/applet/applet-dbus-info.c:
15560         Let D-BUS know that we haven't handled a message when we haven't.
15561
15562 2005-10-17  Robert Love  <rml@novell.com>
15563
15564         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15565           in order to remain 64-bit clean.
15566
15567 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15568
15569         * gnome/applet/applet-dbus-info.c:
15570         Find network encryption keys asynchronously
15571
15572 2005-10-17  Robert Love  <rml@novell.com>
15573
15574         * src/backends/NetworkManagerDebian.c,
15575           src/backends/NetworkManagerRedHat,
15576           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15577           comment delimiter.
15578
15579 2005-10-17  Robert Love  <rml@novell.com>
15580
15581         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15582           "/etc"
15583
15584 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15585
15586         * src/NetworkManagerDevice.c: (process_scan_results)
15587         Fix logic that checks to see whether we have an ESSID.
15588
15589 2005-10-15  Dan Williams  <dcbw@redhat.com>
15590
15591         Move scanning code into NetworkManager rather than use iwlib's
15592         iw_scan() function, so that we can figure out AP capabilities.
15593
15594         * NetworkManager.h
15595                 - Add AP capability bits
15596
15597         * src/NetworkManagerAP.[ch]
15598                 - Add capability field to NMAccessPoint structure
15599                 - Add WPA & RSN Information Element fields and accessor
15600                         functions to NMAccessPoint
15601
15602         * src/NetworkManagerDevice.c
15603                 - Remove usage of iw_scan
15604                 - Add scanning code to NetworkManager rather than use
15605                         iw_scan() from iwlib
15606
15607         * src/NetworkManagerUtils.[ch]
15608                 - (nm_dispose_scan_results): remove, unused
15609
15610 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15611
15612         * gnome/libnm_glib/libnm_glib.c:
15613         * gnome/libnm_glib/libnm_glib.h:
15614         Use guint instead of gint for callback IDs.
15615
15616 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15617
15618         * gnome/applet/applet.c:
15619         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15620         every 1000ms.  It will unconditionally call nmwa_update_state which
15621         kills the existing animation timeout and registers a new one with a
15622         callback to draw a new frame every 100ms.  There are 11 connecting
15623         icon frames, so the last 2 frames kept getting dropped.  Only reset
15624         the animation timeout if we aren't animating.
15625
15626 2005-10-11  Dan Williams  <dcbw@redhat.com>
15627
15628         * gnome/applet/applet-dbus-devices.c
15629                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15630                         We want to grab the product & vendor from net.physical_dev
15631                         rather than info.parent.
15632
15633 2005-10-11  Dan Williams  <dcbw@redhat.com>
15634
15635         * src/NetworkManagerDevice.c
15636                 - Use the driver's WE version for scanning rather than
15637                         the WE version NM was compiled with.  Fixes random
15638                         crashes in iw_scan () in iwlib.
15639
15640 2005-10-10  Dan Williams  <dcbw@redhat.com>
15641
15642         * Remove nm_system_load_device_modules() from backend files
15643                 and from NetworkManager.c
15644
15645 2005-10-10  Dan Williams  <dcbw@redhat.com>
15646
15647         * src/NetworkManagerPolicy.c
15648                 - Fix some bugs introduced by the capabilities patch
15649
15650 2005-10-10  Dan Williams  <dcbw@redhat.com>
15651
15652         * gnome/applet/applet-dbus-info.c
15653                 - (nmi_dbus_get_network_key): hide the menu when putting up
15654                         the keyring dialog.  (not sure if the code is right...)
15655
15656 2005-10-09  Dan Williams  <dcbw@redhat.com>
15657
15658         Patch from Bill Moss <bmoss@clemson.edu>
15659         * src/NetworkManagerDevice.c
15660                 - (nm_device_set_user_key_for_network): don't try to set auth
15661                         mode on the AP from the allowed list if it's NULL
15662
15663 2005-10-09  Dan Williams  <dcbw@redhat.com>
15664
15665         * Replace the "driver support level" stuff with capabilities.  The
15666                 capability field is a bitfield that is more flexible than the
15667                 old driver support level thing.  It's mostly so we can easily
15668                 figure out what supports WPA and what doesn't, but should be
15669                 quite useful later.
15670
15671 2005-10-09  Dan Williams  <dcbw@redhat.com>
15672
15673         * test/nmtest.c
15674                 - Removed
15675
15676         * test/nm-tool.c
15677           test/Makefile.am
15678                 - Added new "nm-tool" tool that gives quite a bit more
15679                         information
15680
15681 2005-10-07  Robert Love  <rml@novell.com>
15682
15683         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15684           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15685           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15686           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15687           appropriate
15688
15689 2005-10-07  Robert Love  <rml@novell.com>
15690
15691         * configure.in: Change our compile flags for the betterment of mankind.
15692           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15693           prototype is very bad on 64-bit platforms as types default to int but
15694           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15695           "-Wmissing-declarations" to warn if we define an exported function
15696           but fail to put it in a header.
15697
15698 2005-10-07  Robert Love  <rml@novell.com>
15699
15700         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15701           by the name nm_update_device_wireless_timeouts() and once tried,
15702           without success, to steal my pet turtle.
15703
15704 2005-10-07  Robert Love  <rml@novell.com>
15705
15706         * Cleanup prototypes: put some functions in header files and mark
15707           others as 'static' -- feel free to invert
15708         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15709           nm_vpn_manager_vpn_connection_list_copy()
15710         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15711           nm_vpn_service_get_dbus_connection()
15712         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15713           nm_vpn_manager_vpn_connection_list_copy()
15714         * src/vpn-manager/nm-vpn-service.c: make
15715           nm_vpn_service_act_request_failed() and
15716           nm_vpn_service_stage2_daemon_wait() static
15717         * src/vpn-manager/nm-vpn-service.h: add prototype for
15718           nm_vpn_service_get_dbus_connection()
15719
15720 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15721
15722         * gnome/applet/applet.c:
15723         * gnome/applet/applet.h:
15724         * gnome/applet/icons/Makefile.am:
15725         Convey information about the current connection stage in the
15726         icons themselves instead of creating a separate progress bar.
15727
15728 2005-10-04  Robert Love  <rml@novell.com>
15729
15730         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15731           convert an ether_addr structure's MAC into a string, because the
15732           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15733           versus 07:3B:04, while the former will not.
15734
15735 2005-10-04  Robert Love  <rml@novell.com>
15736
15737         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15738           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15739           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15740           default route in the 'Connection Information' dialog, send primary
15741           and secondary name servers in in "getProperties" DBUS method, add
15742           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15743           secondary domain name servers are crucial pieces of information
15744           that a user might need in debugging a network problem.
15745
15746 2005-10-04  Robert Love  <rml@novell.com>
15747
15748         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15749           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15750           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15751           default route in the 'Connection Information' dialog, send default
15752           route in "getProperties" DBUS method, add network_device_set_route(),
15753           and network_device_get_route().  The Gateway is a crucial piece of
15754           connection-related information that a user might need in debugging a
15755           network problem.
15756
15757 2005-10-03  Robert Love  <rml@novell.com>
15758
15759         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15760           NULL.
15761
15762 2005-10-02  Dan Williams  <dcbw@redhat.com>
15763
15764         * Shorten time taken to sleep by fastpathing bits of device deactivation
15765                 necessary for sleep.
15766
15767         * Fix issue where deactivating a device might deactivate the active
15768                 VPN connection, even if the VPN was not using the device.
15769
15770 2005-10-02  Dan Williams  <dcbw@redhat.com>
15771
15772         * gnome/applet/applet.c
15773                 - Adjust signal strength -> icon mapping values slightly
15774                         (so that 51% signal doesn't show a 75% icon) by adding
15775                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15776                         shows 50% icon, etc.
15777
15778 2005-09-29  Robert Love  <rml@novell.com>
15779
15780         * src/NetworkManager.c: removed unused variable.
15781
15782 2005-09-28  Dan Williams  <dcbw@redhat.com>
15783
15784         Support for named + DBus, using Red Hat DBus patches for named.  You
15785         can find those patches here, with "dbus" in the patch's filename:
15786
15787                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15788
15789         Don't forget the named dbus service file either.
15790
15791         Instead of writing a config file and spawing a named process, NM will
15792         use an already-running dbus-enabled named if it finds one.  NM will
15793         update named's forwarder configuration on the fly using dbus.
15794
15795         If there is no dbus-enabled named running, NM will automatically fall
15796         back to writing the most-recent DNS server information to /etc/resolv.conf
15797         and calling nm_system_update_dns() to kick the system's resolver.
15798
15799         Accordingly, all named-related configure-time options have been removed.
15800
15801 2005-09-26  Robert Love  <rml@novell.com>
15802
15803         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15804           ISDN support!
15805         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15806           bug in error path if "ASKPASSWORD" is "no".
15807
15808 2005-09-26  Robert Love  <rml@novell.com>
15809
15810         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15811           comment in /etc/resolv.conf -- ';' is not.
15812
15813 2005-09-19  Dan Williams  <dcbw@redhat.com>
15814
15815         * src/backends/NetworkManagerRedHat.c:
15816         * src/backends/NetworkManagerDebian.c:
15817         * src/backends/NetworkManagerSlackware.c:
15818         * src/backends/NetworkManagerGentoo.c:
15819         * src/backends/NetworkManagerSUSE.c:
15820         Fix invocations of "/sbin/ip address" to use short form instead
15821
15822 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15823
15824         * src/nm-dbus-device.c: Don't assert when getting
15825         addresses of a not yet connected interface.
15826
15827         * gnome/applet/applet.c: Free icons if loading fails.
15828         Use translator-credits so translators can make themselves known.
15829
15830 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15831
15832         * src/NetworkManagerAP.c:
15833         * src/NetworkManagerAP.h:
15834         * src/NetworkManagerDevice.c:
15835         Set a blacklist for certain common manufacturer default ESSIDs:
15836         APs with these ESSIDs are extremely likely to be completely
15837         different networks: connecting to one should not make NM
15838         auto-connect to every other AP with the same default ESSID.
15839
15840 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15841
15842         * gnome/applet/wireless-applet.glade:
15843         The passphrase entry should also activate the default
15844
15845         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15846
15847         * gnome/applet/applet-dbus-devices.c:
15848         * gnome/applet/applet.c:
15849         * gnome/applet/nm-device.c:
15850         * gnome/applet/nm-device.h:
15851         * src/NetworkManagerUtils.c:
15852         * src/NetworkManagerUtils.h:
15853         * src/nm-dbus-device.c:
15854         I've got a fever, and the only cure for it is less ioctl.
15855         Make NM push IP data rather than make the applet open a socket
15856         to the device.
15857
15858 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15859
15860         * gnome/applet/applet.c:
15861         * gnome/applet/applet-dbus-devices.c:
15862         * gnome/applet/applet-dbus-info.c:
15863         * gnome/applet/passphrase-dialog.c:
15864         * gnome/libnm_glib/libnm_glib.c:
15865         * gnome/vpn-properties/nm-vpn-properties.c:
15866         * src/autoip.c:
15867         * src/backends/NetworkManagerRedHat.c:
15868         * src/named-manager/nm-named-manager.c:
15869         * src/NetworkManagerAPList.c:
15870         * src/NetworkManager.c:
15871         * src/NetworkManagerDbus.c:
15872         * src/NetworkManagerDevice.c:
15873         * src/NetworkManagerPolicy.c:
15874         * src/NetworkManagerSystem.c:
15875         * src/nm-dbus-device.c:
15876         * src/nm-dbus-nm.c:
15877         * src/vpn-manager/nm-vpn-manager.c:
15878         * src/vpn-manager/nm-vpn-service.c:
15879         * test/libnm_glib_test.c:
15880         * test/nminfotest.c:
15881         * test/nmtestdevices.c:
15882         Fix a bunch of 'unused variable' compiler warnings
15883
15884         * NetworkManager.h:
15885         * gnome/applet/applet-dbus-info.c:
15886         * gnome/applet/applet-dbus-info.h:
15887         * gnome/applet/applet.c:
15888         * gnome/applet/applet.h:
15889         * src/NetworkManager.c:
15890         * src/NetworkManagerDbus.c:
15891         * src/NetworkManagerDbus.h:
15892         * src/NetworkManagerDevice.c:
15893         * src/NetworkManagerDevice.h:
15894         * src/NetworkManagerMain.h:
15895         * src/NetworkManagerWireless.c:
15896         * src/NetworkManagerWireless.h:
15897         * src/nm-dbus-nm.c:
15898         Make NetworkManager be smart about how frequently to scan
15899         based on its current state.  Remove the UI for choosing when
15900         to scan.  Scanning still may disabled completely by the user
15901         via the "Wireless Enabled" menu item.
15902
15903 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15904
15905         * gnome/applet/applet.c:
15906         Also overlay the vpn connecting icons onto the wired icon,
15907         when appropriate.
15908
15909         * gnome/vpn-properties/nm-vpn-properties.glade:
15910         Clean up a few strings to use better grammar and proper casing.
15911
15912 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15913
15914         * gnome/applet/vpn-connection.c:
15915         * gnome/applet/vpn-connection.h:
15916         Add nmwa_vpn_connection_is_activating ()
15917
15918         * gnome/applet/applet.c:
15919         * gnome/applet/applet.h:
15920         * gnome/applet/icons/nm-vpn-connecting*.png:
15921         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15922         the user know something's happening between clicking the VPN item and it
15923         actually being connected.
15924
15925 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15926
15927         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15928         failure case as well.
15929
15930 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15931
15932         * gnome/panel/eggtrayicon.[ch]:
15933         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15934
15935 2005-09-07  Dan Williams  <dcbw@redhat.com>
15936
15937         Patch from Bill Moss <bmoss@clemson.edu>
15938         * src/applet-dbus.c
15939                 - (nmwa_dbus_filter): strip whitespace from beginning
15940                         and end of VPN login banner
15941
15942 2005-09-07  Dan Williams  <dcbw@redhat.com>
15943
15944         * The great VPN Manager rewrite of 2005
15945
15946 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15947
15948         * gnome/applet/menu-items.c:
15949         * gnome/applet/nm-device.c:
15950         * gnome/applet/wireless-network.c:
15951         * gnome/libnm_glib/libnm_glib.c:
15952         * src/NetworkManagerDbusUtils.c:
15953         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15954         g_malloc0 doesn't return NULL
15955
15956 2005-09-06  Dan Williams  <dcbw@redhat.com>
15957
15958         Patch from Tomislav Vujec <tvujec@redhat.com>
15959         * src/NetworkManagerDevice.c
15960                 - (nm_get_device_by_udi): don't return a device when we
15961                         actually didn't find what we were looking for
15962
15963 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15964
15965         * gnome/applet/applet-dbus-devices.c:
15966         * gnome/applet/applet-dbus-devices.h:
15967         * gnome/applet/applet-dbus.c:
15968         * src/NetworkManagerDbus.c:
15969         * src/NetworkManagerDbus.h:
15970         * src/NetworkManagerDevice.c:
15971         * src/nm-dbus-device.c:
15972         Make NM push updates about active device strength when it changes,
15973         rather than having the applet poll every 2s.
15974
15975 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15976
15977         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15978         network_device_set_strength
15979
15980 2005-09-04  Dan Williams  <dcbw@redhat.com>
15981
15982         Patch from Bill Nottingham <notting@redhat.com>
15983         * src/NetworkManagerDevice.c
15984                 - (nm_device_activation_cancel): reset the quit_activation flag
15985
15986 2005-09-04  Dan Williams  <dcbw@redhat.com>
15987
15988         * src/nm-activation-request.c
15989                 - (nm_act_request_unref): actually free the structure,
15990                         which we didn't seem to be doing before
15991
15992 2005-09-04  Dan Williams  <dcbw@redhat.com>
15993
15994         Patch from John Palmieri <johnp@redhat.com>
15995         * gnome/applet/applet-dbus-devices.c
15996                 - Fix up unreffing of DBusMessage objects
15997
15998 2005-09-04  Dan Williams  <dcbw@redhat.com>
15999
16000         Patch from John Palmieri <johnp@redhat.com>
16001         * gnome/applet/nm-device.c
16002                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16003
16004 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16005
16006         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16007
16008 2005-09-02  Bill Nottingham  <notting@redhat.com>
16009
16010         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16011
16012 2005-09-01  Dan Williams  <dcbw@redhat.com>
16013
16014         * src/NetworkManager.c
16015                 - (nm_remove_device_from_list): rename to nm_remove_device
16016                 - (nm_hal_device_removed): call nm_remove_device()
16017
16018         * src/NetworkManagerDevice.c
16019                 - Change the NMWirelessScanCB member 'reschedule' which
16020                         wasn't used to 'force' to indicate that we need to
16021                         force a scan when adding a device
16022
16023         * src/nm-dbus-nm.c
16024                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16025                         from the device list
16026                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16027
16028 2005-09-01  Robert Love  <rml@novell.com>
16029
16030         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16031           and the check "!iface" in the error case is probably never true.
16032
16033 2005-09-01  Dan Williams  <dcbw@redhat.com>
16034
16035         Patch from Bill Nottingham <notting@redhat.com>
16036         * src/backends/NetworkManagerRedHat.c
16037                 - Add initial dialup support to Red Hat/Fedora backend
16038
16039 2005-09-01  Dan Williams  <dcbw@redhat.com>
16040
16041         * gnome/applet/applet-dbus-devices.c
16042                 - Sort both wireless networks and devices again, which got
16043                         broken when removing threading
16044
16045 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16046
16047         * gnome/applet/applet.c:
16048         Only show the "Stop/Start All Wireless Devices" menuitem
16049         if we actually have wireless devices.
16050
16051         * gnome/applet/applet-dbus-info.c:
16052         * gnome/applet/applet.c:
16053         * gnome/applet/other-network-dialog.c:
16054         * gnome/applet/vpn-password-dialog.c:
16055         Drop the gtk_dialog_run () calls in favor of connecting to
16056         "response" signals, needed now that the applet is not threaded.
16057
16058 2005-08-31  Dan Williams  <dcbw@redhat.com>
16059
16060         Patch from Bill Moss <bmoss@clemson.edu>
16061         * src/NetworkManagerDevice.c
16062                 - (nm_device_wireless_scan): fix scan timeout values
16063
16064 2005-08-30  Dan Williams  <dcbw@redhat.com>
16065
16066         * gnome/applet/wireless-applet.glade
16067                 - HIG-ify the Other Wireless Networks dialog a bit more
16068                 - Fix some potential segfaults in the info dialog
16069
16070 2005-08-30  Dan Williams  <dcbw@redhat.com>
16071
16072         * gnome/applet/applet-dbus-devices.c
16073                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16074
16075 2005-08-30  Dan Williams  <dcbw@redhat.com>
16076
16077         * gnome/applet/applet-dbus.[ch]
16078                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16079                         they weren't being used anyway
16080
16081 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16082
16083         * test/nmtestdevices.c: (print_usage), (main):
16084         Check the number of arguments, and fix a typo
16085
16086 2005-08-29  Dan Williams  <dcbw@redhat.com>
16087
16088         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16089         * gnome/applet/applet.c
16090                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16091
16092 2005-08-29  Dan Williams  <dcbw@redhat.com>
16093
16094         * gnome/applet/*
16095                 - Don't use threads any more.  Anything that blocks
16096                         (like gtk_dialog_run()) will  have to get fixed up which
16097                         should happen quickly.  We really only had threads to make
16098                         the animation smooth, and when everything got converted over
16099                         to DBus Pending Calls, the need for threads kind of went away
16100
16101 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16102
16103         * gnome/applet/applet.c: Draw VPN connections as radio items
16104         since we don't yet support multiple VPNs.
16105         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16106         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16107
16108 2005-08-29  Dan Williams  <dcbw@redhat.com>
16109
16110         Patch from j@bootlab.org
16111         - Make --without-named work
16112         - Make --with-dhcdbd work correctly
16113
16114 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16115
16116         * configure.in: Added "ca" to ALL_LINGUAS.
16117
16118 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16119
16120         * Fix up VPN state handling between the applet and NetworkManager,
16121                 so that the applet doesn't show a VPN as connected when one
16122                 really is not
16123                         - The applet no longer has a pointer to the active VPN's
16124                                 name, but tracks each VPNs state individually
16125                         - NM no longer has a "getActiveVPNConnection" method
16126                         - NM no longer broadcasts the "VPNConnectionChange" signal
16127                         - NM now broadcasts a "VPNConnectionStateChange" signal
16128                                 whenever the state of a VPN changes
16129
16130 2005-08-26  Dan Williams <dcbw@redhat.com>
16131
16132         * gnome/applet/applet-dbus-devices.c
16133           gnome/applet/applet-dbus-vpn.c
16134                 - Remove calls to dbus_pending_call_ref() because we already
16135                         "own" the pending call
16136                 - Remove calls to dbus_pending_call_get_completed() because
16137                         when we are in the callback, the pending call is completed
16138                         by definition
16139
16140 2005-08-22  Dan Williams <dcbw@redhat.com>
16141
16142         Patch by Bill Moss <bmoss@clemson.edu>
16143         * src/dhcp-manager/nm-dhcp-manager.c
16144                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16145                         some time to send out a RELEASE if they like
16146
16147 2005-08-22  Dan Williams <dcbw@redhat.com>
16148
16149         Noticed by Bill Moss <bmoss@clemson.edu>
16150         * src/NetworkManagerDbus.c
16151                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16152                         instead of just cancelling its activation
16153
16154         * src/NetworkManagerDevice.c
16155                 - (nm_device_deactivate): some small cleanups
16156                 - (nm_device_set_user_key_for_network): deactivate the device
16157                         instead of just cancelling its activation
16158
16159 2005-08-22  Dan Williams <dcbw@redhat.com>
16160
16161         Noticed by Bill Moss <bmoss@clemson.edu>
16162         * src/NetworkManagerDevice.c
16163                 - (nm_device_wireless_scan): fix scan timeout, we were
16164                         waiting way too long for scans to complete
16165
16166 2005-08-22  Dan Williams <dcbw@redhat.com>
16167
16168         Patch from j@bootlab.org:
16169         * src/backends/NetworkManagerDebian.c
16170                 - Make the Debian backend work for static IP again
16171
16172 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16173
16174         * gnome/applet/other-network-dialog.c:
16175         The "Create New Network" and "Connect to Other Network"
16176         dialogs share alot of code, but shouldn't share a window
16177         title.  Give them different ones.
16178
16179         * gnome/applet/wireless-applet.glade:
16180         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16181         Some more minor UI tweaks.
16182
16183 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16184
16185         * gnome/applet/other-network-dialog.c:
16186         * gnome/applet/wireless-applet.glade:
16187         Also need mnemonic widgets, and underline enabled.
16188
16189 2005-08-19  Dan Williams <dcbw@redhat.com>
16190
16191         * vpn-daemons/vpnc/nm-vpnc-service.c
16192                 - (vpnc_watch_cb): remove no-longer-relevant comment
16193                 - (write_config_option): new function, helper to write
16194                         config options to vpnc's stdin
16195                 - (nm_vpnc_config_write): use the new helper, make the
16196                         code shorter
16197
16198 2005-08-19  Christopher Aillon <caillon@redhat.com>
16199
16200         * gnome/applet/passphrase-dialog.c:
16201         * gnome/applet/wireless-applet.glade:
16202         Make the passphrase dialog response based, and treat
16203         responses other than OK (such as Esc, [X]) as a cancel.
16204
16205 2005-08-18  Christopher Aillon <caillon@redhat.com>
16206
16207         * initscript/Gentoo/NetworkManager:
16208         * initscript/RedHat/NetworkManager:
16209         * initscript/RedHat/NetworkManagerDispatcher:
16210         * initscript/SUSE/networkmanager:
16211         CVS remove these in place of .in replacements
16212
16213         * configure.in:
16214         * initscript/Gentoo/NetworkManager.in:
16215         * initscript/RedHat/NetworkManager.in:
16216         * initscript/RedHat/NetworkManagerDispatcher.in:
16217         * initscript/SUSE/networkmanager.in:
16218         These scripts now are generated so they work still when
16219         NM is built using a bindir other than /usr/bin
16220
16221 2005-08-18  Dan Williams <dcbw@redhat.com>
16222
16223         * gnome/applet/main.c
16224                 - Revert previous change for --no-session since
16225                         --sm-disable does the same thing
16226
16227 2005-08-18  Dan Williams <dcbw@redhat.com>
16228
16229         * gnome/applet/applet-dbus-info.c
16230                 - (nmi_dbus_create_error_message): new function
16231                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16232                         functions.  Also don't check for both device _and_ network before
16233                         asking for a user's key, because we may not have gotten all our
16234                         networks back from NM quite yet (due to the dbus pending calls
16235                         coming in later).  Fixes a hang in NM/nm-applet.
16236
16237         * src/NetworkManagerDbus.c
16238                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16239                         slightly more sane manner, even though we are still broken for
16240                         certain other error conditions.
16241                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16242                         to the info-daemon too
16243
16244         * src/NetworkManagerDevice.c
16245                 - Fix some debug messages to be info messages instead
16246
16247 2005-08-18  Dan Williams <dcbw@redhat.com>
16248
16249         * gnome/applet/main.c
16250                 - Add new "--no-session" parameter that disables applet
16251                         session management, ie for testing
16252
16253 2005-08-18  Christopher Aillon <caillon@redhat.com>
16254
16255         * gnome/applet/other-network-dialog.c:
16256         * gnome/applet/wireless-applet.glade: More mnemonics
16257
16258 2005-08-17  Robert Love  <rml@novell.com>
16259
16260         * initscript/SUSE/networkmanager: update
16261
16262 2005-08-17  Dan Williams  <dcbw@redhat.com>
16263
16264         * Tag NM_0_4_1_RELEASE
16265
16266 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16267
16268         * gnome/applet/applet.c: More translatable string cleanup
16269
16270
16271 2005-08-17  Dan Williams  <dcbw@redhat.com>
16272
16273         * gnome/applet/applet-dbus-info.c
16274                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16275                         from the dbus message, which tells us to unconditionally
16276                         ask the user for a new key.  Otherwise, we pull the key from
16277                         the keyring and return it.  If we fail to get the key from the
16278                         keyring, we ask the user for a new key.
16279                 - (nmi_dbus_get_network_key): new function to grab the key for
16280                         an essid from the keyring.
16281                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16282                         Also, don't return any key in the dbus message.
16283
16284         * src/NetworkManagerDbus.[ch]
16285                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16286                         indicate that we unconditionally want a new key.  This function
16287                         is now also used to get keys from the info-daemon which are
16288                         pre-stored, not just for asking the user for a new key.  The
16289                         "new_key" parameter indicates whether or not we wish to ask the
16290                         user for a new key.
16291                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16292                         info-daemon in the return message, so use NULL instead.  The
16293                         key will be filled in at connect time by calling
16294                         nm_dbus_get_user_key_for_network()
16295
16296         * src/NetworkManagerDevice.c
16297                 - (nm_device_wireless_configure): update for "new_key" param to
16298                         nm_dbus_get_user_key_for_network().  We initially set new_key
16299                         to FALSE to see if we have a stored key in the info-daemon, but
16300                         if the connection is unsuccessful at this stage we request a
16301                         new one
16302
16303 2005-08-17  Dan Williams  <dcbw@redhat.com>
16304
16305         * gnome/applet/icons/nm-no-connection.png
16306           gnome/applet/icons/nm-device-wired.png
16307                 - Use Diana's new RJ45 connector icons
16308
16309 2005-08-17  Dan Williams  <dcbw@redhat.com>
16310
16311         * src/NetworkManagerPolicy.c
16312                 - (nm_policy_device_change_check): clarify switching rules if
16313                         both new and old devices are valid; mainly, don't switch
16314                         away from user-requested wireless connection back to a wired
16315                         one
16316
16317 2005-08-17  Dan Williams  <dcbw@redhat.com>
16318
16319         * gnome/applet/Makefile.am
16320                 - Relocate the applet to /usr/bin since it is no longer
16321                         executed by anything, but directly by the user
16322
16323 2005-08-17  Dan Williams  <dcbw@redhat.com>
16324
16325         Patch from Bill Moss <bmoss@clemson.edu>
16326
16327         * gnome/applet/applet-dbus-info.[ch]
16328                 - (nmi_save_network_info): save timestamp for network if it
16329                         was a change requested by the user
16330                 - (nmi_dbus_update_network_info): get user_requested from dbus
16331                         message and pass to nmi_save_network_info()
16332
16333         * gnome/applet/applet.c
16334                 - (nmwa_update_network_timestamp): remove
16335                 - (nmwa_menu_item_activate): don't set timestamp on networks
16336                         here, only after a successful connect in nmi_save_network_info()
16337
16338         * src/NetworkManagerDbus.[ch]
16339                 - (nm_dbus_update_network_info): pass user_requested into the 
16340                         dbus message
16341
16342         * src/NetworkManagerPolicy.c
16343                 - (nm_policy_activation_finish): pass user_requested to
16344                         nm_dbus_update_network_info()
16345
16346 2005-08-16  Robert Love  <rml@novell.com>
16347
16348         * gnome/applet/applet.c: Better "Dial Up" menu item.
16349
16350 2005-08-16  Robert Love  <rml@novell.com>
16351
16352         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16353           "Connection Information" menu item.
16354
16355 2005-08-16  Dan Williams  <dcbw@redhat.com>
16356
16357         Patch from j@bootlab.org
16358         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16359
16360         * configure.in: allow specifying the path to dhcdbd
16361
16362 2005-08-16  Robert Love  <rml@novell.com>
16363
16364         Patch from j@bootlab.org
16365         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16366           src/backends/interface_parser.h: Debian dialup support.
16367
16368 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16369
16370         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16371         * gnome/applet/applet.c: Add some mnemonics for VPNC
16372
16373         * vpn-daemons/.cvsignore: fix this up a little bit
16374
16375 2005-08-16  Robert Love  <rml@novell.com>
16376
16377         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16378           support.
16379
16380 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16381
16382         * gnome/applet/applet.c: Split markup out of translatable strings
16383         and clean up logic a little bit.  (fixes #309012)
16384
16385 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16386
16387         * gnome/vpn-properties/nm-vpn-properties.c:
16388         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16389         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16390         Makeshift fix to remove newlines from translatable strings.
16391         Note that we now return an allocated string, so callers of
16392         get_confirmation_details () must now call g_free () on the
16393         result. (fixes #309033).
16394
16395 2005-08-12  Robert Love  <rml@novell.com>
16396
16397         * gnome/applet/applet-dbus.c: remove newlines from translatable
16398           strings--not needed here anyway. (fix b.g.o #309011)
16399         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16400
16401 2005-08-11  Robert Love  <rml@novell.com>
16402
16403         * gnome/applet/applet.c: mark string as translatable.
16404
16405 2005-08-11  Robert Love  <rml@novell.com>
16406
16407         * initscript/SUSE/networkmanager: update.
16408
16409 2005-08-11  Dan Williams  <dcbw@redhat.com>
16410
16411         * src/nm-dhcp-manager.c
16412                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16413                         an gateway returned from DHCP, try to use the address of the DHCP
16414                         server as the gateway instead.  Found by Ralf Ertzinger.
16415
16416 2005-08-10  Robert Love  <rml@novell.com>
16417
16418         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16419           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16420
16421 2005-08-10  Dan Williams  <dcbw@redhat.com>
16422
16423         Patch from Bill Moss <bmoss@clemson.edu>
16424         * Consolidate writes of access point information updates to the info daemon
16425                 so that we only do it when the connection to the access point was
16426                 successful.  Also consolidates updates to GConf in the Gnome applet.
16427
16428         * src/nm-netlink-monitor.c
16429                 - Silence compile warning when calling g_object_new()
16430
16431 2005-08-08  Dan Williams  <dcbw@redhat.com>
16432
16433         Patch from Steev <steev@steev.net>:
16434         * src/backends/NetworkManagerGentoo.c
16435                 - Stub new dialup backend functions
16436
16437 2005-08-08  Dan Williams  <dcbw@redhat.com>
16438
16439         Patch from Colin Slater:
16440         * src/backends/NetworkManagerGentoo.c
16441                 - (nm_system_update_dns): Fix exit status check for restarting
16442                         nscd
16443
16444 2005-08-05  Robert Love  <rml@novell.com>
16445
16446         * NetworkManager.h,
16447           gnome/applet/applet-dbus-devices.c,
16448           gnome/applet/applet-dbus-devices.h,
16449           gnome/applet/applet-dbus.c,
16450           gnome/applet/applet.c,
16451           gnome/applet/applet.h,
16452           src/NetworkManager.c,
16453           src/NetworkManagerMain.h,
16454           src/NetworkManagerSystem.h,
16455           src/backends/NetworkManagerRedHat.c,
16456           src/backends/NetworkManagerSuSE.c,
16457           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16458
16459 2005-08-05  Robert Love  <rml@novell.com>
16460
16461         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16462           machine's hostname to make adhoc creation idiot-proof.
16463
16464 2005-08-04  Robert Love  <rml@novell.com>
16465
16466         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16467           freed.
16468
16469 2005-08-04  Dan Williams  <dcbw@redhat.com>
16470
16471         * gnome/applet/applet-dbus-info.c
16472           gnome/applet/applet-dbus-info.h
16473                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16474                         to store key, key type, and auth method rather than just auth method
16475                 - (nmi_dbus_update_network_info): new function
16476                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16477
16478         * gnome/applet/passphrase-dialog.c
16479                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16480                         of saving the info ourselves
16481
16482         * gnome/libnm_glib/libnm_glib.c
16483                 - Remove the stupid version check for dbus
16484
16485         * src/NetworkManagerAP.c
16486           src/NetworkManagerAP.h
16487                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16488
16489         * src/NetworkManagerDbus.c
16490           src/NetworkManagerDbus.h
16491                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16492                         more than just the auth method
16493
16494         * src/NetworkManagerDevice.c
16495                 - Update network info at the appropriate times
16496
16497 2005-07-29  Ray Strode  <rstrode@redhat.com>
16498
16499         * src/NetworkManager.c (nm_info_handler): don't use input as format
16500         string (Spotted by Ian Jackson).
16501
16502 2005-07-27  Dan Williams  <dcbw@redhat.com>
16503
16504         * src/nm-dbus-nm.c
16505           src/nm-dbus-net.c
16506                 - Random cleanups of spacing
16507
16508         * gnome/applet/applet.h
16509           gnome/applet/other-network-dialog.c
16510           gnome/applet/passphrase-dialog.c
16511                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16512
16513         Patch from Bill Moss:
16514                 - Make Other Wireless Networks work again with encryption keys
16515
16516 2005-07-26  Dan Williams  <dcbw@redhat.com>
16517
16518         Patch from Steev <steev@steev.net>:
16519         * src/backends/NetworkManagerGentoo.c
16520           src/backends/Makefile.am
16521                 - Fix up Gentoo backend
16522
16523 2005-07-26  Robert Love  <rml@novell.com>
16524
16525         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16526
16527 2005-07-25  Robert Love  <rml@novell.com>
16528
16529         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16530           in the same group as the wireless networks, since they are all
16531           mutually exclusive.
16532
16533 2005-07-24  Ray Strode  <rstrode@redhat.com>
16534
16535         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16536         remove unneeded NULL arg from g_object_new().  Any
16537         warnings caused by not having the extra NULL are just a
16538         result of a bug in glib 2.7.0 - 2.7.2.
16539
16540 2005-07-22  Robert Love  <rml@novell.com>
16541
16542         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16543
16544 2005-07-22  Robert Love  <rml@novell.com>
16545
16546         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16547           parameters (gcc 4.0.2 warning fix).
16548
16549 2005-07-18  Robert Love  <rml@novell.com>
16550
16551         Suggested by Aaron Bockover (abockover@novell.com)
16552         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16553           s/Ascii/ASCII
16554         * gnome/applet/passphrase-dialog.c: ditto
16555         * gnome/applet/wireless-applet.glade: ditto
16556
16557 2005-07-13  Dan Williams  <dcbw@redhat.com>
16558
16559         Patch from Ray Strode <halfline@gmail.com>
16560         * vpn-daemons/vpnc/nm-vpnc-service.c
16561                 - Don't let vpnc daemonize, fixes some races with PID file reading
16562
16563 2005-07-13  Dan Williams  <dcbw@redhat.com>
16564
16565         Patch from Ray Strode <halfline@gmail.com>
16566         * Random cleanups for strict CFLAGS
16567
16568 2005-07-07  Dan Williams  <dcbw@redhat.com>
16569
16570         Patch from Derek Atkins <warlord@MIT.EDU>
16571         * src/nm-dbus-net.c:
16572                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16573
16574 2005-07-07  Dan Williams  <dcbw@redhat.com>
16575
16576         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16577         * src/backends/NetworkManagerGentoo.c
16578                 - Gentoo backend Static IP nameserver fixes
16579                 - General Gentoo backend goodness
16580
16581 2005-07-07  Dan Williams  <dcbw@redhat.com>
16582
16583         Patch from Bastien Nocera:
16584         * gnome/applet/applet.c
16585                 - Fix up error reporting when icons or glade files are missing
16586
16587 2005-07-07  Robert Love  <rml@novell.com>
16588
16589         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16590           are not any VPN connections above it.
16591
16592 2005-07-07  Robert Love  <rml@novell.com>
16593
16594         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16595
16596 2005-07-05  Robert Love  <rml@novell.com>
16597
16598         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16599           zero.
16600
16601 2005-07-05  Robert Love  <rml@novell.com>
16602
16603         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16604           on wired or unencrypted wireless.
16605
16606 2005-07-01  Robert Love  <rml@novell.com>
16607
16608         * src/NetworkManagerSystem.c: Print the error via strerror().
16609
16610 2005-06-30  Robert Love  <rml@novell.com>
16611
16612         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16613           then exit if the glade file is not found.  currently the application
16614           just hangs.
16615
16616 2005-06-30  Robert Love  <rml@novell.com>
16617
16618         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16619           explicitly up all interfaces on wake from sleep.
16620
16621 2005-06-30  Robert Love  <rml@novell.com>
16622
16623         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16624           with information about the currently active connection.
16625         * gnome/applet/applet.h: (ditto)
16626         * gnome/applet/wireless-applet.glade: (ditto), new file
16627
16628 2005-06-30  Robert Love  <rml@novell.com>
16629
16630         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16631         * src/nm-dbus-nm.c: print when we sleep and wake up.
16632         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16633         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16634           in /sbin unless D-BUS is, folks).
16635         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16636
16637 2005-06-27  Robert Love  <rml@novell.com>
16638
16639         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16640           case.
16641
16642 2005-06-27  Robert Love  <rml@novell.com>
16643
16644         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16645           items radios.
16646
16647 2005-06-26  Robert Love  <rml@novell.com>
16648
16649         * src/NetworkManagerDevice.c: be specific about which device in
16650           nm_info() message.
16651
16652 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16653
16654         * src/nm-netlink-monitor.c: correct spelling error.
16655
16656 2005-06-23  Robert Love  <rml@novell.com>
16657
16658         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16659         * gnome/applet/passphrase-dialog.c: more of that keyring!
16660
16661 2005-06-23  Robert Love  <rml@novell.com>
16662
16663         * configure.in: remove extraneous GNOMEKEYRING directives.
16664         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16665         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16666         * gnome/applet/passphrase-dialog.c: whitespace.
16667
16668 2005-06-23  Robert Love  <rml@novell.com>
16669
16670         * src/NetworkManagerDevice.c: division in assignment was flipped.
16671
16672 2005-06-23  David Zeuthen  <david@fubar.dk>
16673
16674         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16675         signal to the child to indicate that we got what we wanted when we
16676         see two new-lines right after each other.
16677         (nmwa_vpn_request_password): Pass a structure with several members
16678         instead of just the passwords
16679
16680 2005-06-23  Dan Williams <dcbw@redhat.com>
16681
16682         * src/NetworkManager.c
16683           src/NetworkManagerMain.h
16684                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16685                 - (nm_hal_init): new function, init libhal context then add devices
16686                 - (nm_hal_deinit): new function, clean up libhal context
16687                 - (nm_data_free): Move Hal cleanup here
16688                 - (main): check whether Hal is running, and if so, get a list of
16689                         network devices from it
16690
16691         * src/NetworkManagerDbus.c
16692                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16693                         and when it appears, get a list of network devices from it.  If
16694                         Hal goes away, clean up the libhal context
16695
16696 2005-06-22  Robert Love  <rml@novell.com>
16697
16698         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16699           permissions of scripts before executing.
16700
16701 2005-06-21  Robert Love  <rml@novell.com>
16702
16703         * initscript/SUSE/networkmanager: update.
16704         * src/backends/NetworkManagerSuSE.c: cleanup.
16705
16706 2005-06-21  Robert Love <rml@novell.com>
16707
16708         * gnome/applet/applet.c: use menu mnemonics.
16709         * gnome/applet/menu-items.c: (ditto)
16710
16711 2005-06-21  Robert Love  <rml@novell.com>
16712
16713         * applet/applet-dbus-devices.c: mark non-static functions static.
16714         * applet/applet-dbus-vpn.c: (ditto)
16715         * applet/applet.c: (ditto)
16716         * applet/nm-device.h: (ditto)
16717         * applet/other-network-dialog.c: (ditto)
16718         * applet/passphrase-dialog.c: (ditto)
16719         * NetworkManager.c: (ditto)
16720         * NetworkManagerDbus.c: (ditto)
16721         * NetworkManagerDevice.c: (ditto)
16722         * NetworkManagerPolicy.c: (ditto)
16723         * NetworkManagerUtils.c: (ditto)
16724         * NetworkManagerWireless.c: (ditto)
16725         * NetworkManagerWireless.h: (ditto)
16726         * nm-netlink-monitor.c: (ditto)
16727         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16728         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16729         * autoip.c: include autoip.h.
16730         * autoip.h: new file.  define get_autoip().
16731         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16732         * NetworkManagerDbus.h: remove duplicate definitions.
16733
16734 2005-06-20  Robert Love  <rml@novell.com>
16735
16736         * Makefile.am: Add missing intltool-foo.in generated files to
16737           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16738           with the start of stuff to cleanup on 'distclea'.
16739         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16740           stuff right and 'distcheck' works.
16741         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16742           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16743           Makefile.am for each.  And systray/Makefile needs to be redone.
16744
16745 2005-06-19  Dan Williams <dcbw@redhat.com>
16746
16747         * src/NetworkManagerDevice.c
16748         - (nm_device_wireless_process_scan_results): scan every 20s when
16749           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16750
16751 2005-06-19  Dan Williams <dcbw@redhat.com>
16752
16753         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16754
16755 2005-06-18  Ray Strode <rstrode@redhat.com>
16756
16757         * src/nm-netlink-monitor.c 
16758         (nm_netlink_monitor_event_handler): check for the presence
16759         of either error condition not both. 
16760         
16761         (nm_netlink_monitor_error_handler): emit error signal if
16762         error occurs.
16763
16764         (nm_netlink_monitor_event_handler),
16765         (nm_netlink_monitor_error_handler),
16766         (nm_netlink_monitor_disconnect_handler): if an 
16767         assertion fails disconnect the event handler to prevent 
16768         infinite loops.
16769
16770         * src/nm-netlink-monitor.h: add new error condition
16771         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16772
16773 2005-06-18  Ray Strode <rstrode@redhat.com>
16774
16775         * src/nm-netlink-monitor.c 
16776         (nm_netlink_monitor_event_handler): remove bogus < 0
16777         check on unsigned value and return early if the kernel
16778         didn't send any bytes.
16779
16780 2005-06-17  Robert Love  <rml@novell.com>
16781
16782         * initscript/SUSE/networkmanager: Change the Provides and default
16783         run levels
16784
16785 2005-06-16  Dan Williams <dcbw@redhat.com>
16786
16787         Patch from Robert Love:
16788         * gnome/applet/applet.c
16789                 - Beautify some applet menu item names
16790
16791 2005-06-17  David Zeuthen  <davidz@redhat.com>
16792
16793         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16794         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16795         Also add new methods can_export, import_file and export.
16796
16797         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16798         to the main UI
16799
16800         * gnome/vpn-properties/nm-vpn-properties.c:
16801         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16802         nm-vpn-ui-interface.h.
16803         (update_edit_del_sensitivity): Also update "Export" sensitivity
16804         (add_vpn_connection): Also add new SVC_NAME column
16805         (import_settings): New function
16806         (retrieve_data_from_selected_connection): New function
16807         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16808         this function
16809         (export_cb): New function
16810         (init_app): Also setup the "export" widget
16811         (main): Support the --import-service and --import-file commandline
16812         arguments
16813
16814         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16815         D-BUS 0.34
16816
16817 2005-06-16  Dan Williams <dcbw@redhat.com>
16818
16819         Patch from Robert Love:
16820         * gnome/applet/menu-items.c
16821                 - (network_menu_item_new): pass -1 as wireless network
16822                         menu items height size request rather than ascent / 2
16823
16824 2005-06-16  Dan Williams <dcbw@redhat.com>
16825
16826         * Clean up wording in Wireless Scan Methods menu items and constants
16827
16828 2005-06-16  Robert Love  <rml@novell.com>
16829
16830         * po/POTFILES.in
16831                 - remove gtkcell* files
16832
16833 2005-06-15  Dan Williams <dcbw@redhat.com>
16834
16835         Patch from Robert Love: make the applet stetic
16836
16837         * gnome/applet/Makefile.am
16838                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16839
16840         * gnome/applet/gtkcellview.h
16841           gnome/applet/gtkcellview.c
16842           gnome/applet/gtkcellrendererprogress.h
16843           gnome/applet/gtkcellrendererprogress.c
16844                 - Removed
16845
16846         * gnome/applet/menu-items.c
16847                 - Progress bars are 5:1 size ratio
16848                 - Use GTK progress bars rather than internal ones
16849
16850 2005-06-15  Dan Williams <dcbw@redhat.com>
16851
16852         Patch from Robert Love:
16853         * initscript/SUSE/networkmanager
16854                 - Fix typo
16855
16856 2005-06-15  Dan Williams <dcbw@redhat.com>
16857
16858         * src/backends/NetworkManagerSuSE.c
16859           src/backends/NetworkManagerRedHat.c
16860           src/backends/NetworkManagerDebian.c
16861                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16862
16863 2005-06-15  Dan Williams <dcbw@redhat.com>
16864
16865         * src/backends/NetworkManagerDebian.c
16866                 - Add nm_system_device_get_use_dhcp() to debian backend
16867
16868         Patch from Kay Sievers:
16869         * src/backends/NetworkManagerSuSE.c
16870                 - Update debian backend for static IP nameservers
16871
16872         * src/NetworkManagerDevice.c
16873                 - Actually set the device to use static IP or DHCP rather
16874                         than always DHCP
16875
16876 2005-06-15  Dan Williams <dcbw@redhat.com>
16877
16878         Patch from Thom May:
16879         * src/backends/NetworkManagerDebian.c
16880                 - Update debian backend for static IP nameservers
16881
16882 2005-06-15  Dan Williams <dcbw@redhat.com>
16883
16884         Patches from Robert Love:
16885         * gnome/applet/wireless-applet.glade
16886                 - Tighten up wording
16887
16888         * src/NetworkManagerDevice.c
16889                 - Remove misplaced ';'
16890
16891         * configure.in
16892           initscript/Makefile.am
16893           initscript/SUSE/Makefile.am
16894           initscript/SUSE/networkmanager
16895                 - Add SUSE initscript
16896
16897 2005-06-12  David Zeuthen  <davidz@redhat.com>
16898
16899         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16900
16901         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16902
16903         * gnome/vpn-properties/nm-vpn-properties.c: New file
16904
16905         * gnome/vpn-properties/Makefile.am: New file
16906
16907         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16908         array of passwords
16909
16910         * src/vpn-manager/nm-vpn-manager.c
16911         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16912         instead of just a single one
16913
16914         * src/vpn-manager/nm-dbus-vpn.c:
16915         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16916         here
16917         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16918
16919         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16920         Change the interface here to give a list of passwords. Also, don't
16921         require username, but do require service
16922
16923         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16924         the binary for the auth-dialog and use that instead of putting up a
16925         dialog asking for a single password
16926
16927         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16928         however do remember the service
16929
16930         * gnome/applet/main.c (main): Setup i18n
16931
16932         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16933         connection to '%s'" to the tooltip if we are connected using VPN
16934         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16935         key to determine whether we the auth-dialog needs to
16936         reprompt. Also cope with the fact that the auth-dialog now returns
16937         an array of passwords.
16938         (nmwa_menu_configure_vpn_item_activate): New handler for
16939         "Configure VPN..." menu item
16940         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16941         (is_vpn_available): New function to determine if we got any
16942         NM-compatible VPN software installed
16943         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16944         items only if we have NM-compatible VPN software installed
16945         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16946         logic for detecting when VPN connections are removed
16947
16948         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16949         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16950         since these are defined elsewhere
16951
16952         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16953         function used to keep track of whether the last attempt succeded
16954         (nmwa_dbus_filter): Update last_attempt according to whether the
16955         VPN connection could be established or not
16956
16957         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16958         Change prototype to take an array of passwords, not just a single
16959         password
16960
16961         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16962         update service, not user
16963         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16964         dbus_active_vpn_name is not NULL before using it
16965         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16966         string array instead of assuming a single password
16967
16968         * gnome/applet/applet-dbus-info.c:
16969         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16970         user name; don't read from gconf
16971
16972         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16973         VPN_NAME_FILES_DIR
16974
16975         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16976
16977         * configure.in: Add checks for gmodule-2.0.
16978         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16979         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16980         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16981         for details
16982
16983         * vpn-daemons/Makefile.am: Removed
16984
16985         * vpn-daemons/README: New file to describe extensions points for VPN
16986         software
16987
16988 2005-06-10  Dan Williams <dcbw@redhat.com>
16989
16990         * src/backends/NetworkManagerRedHat.c
16991                 - (get_current_profile_name): new function, grab current network profile name from
16992                         /etc/sysconfig/network
16993                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16994                         update an IP4 Config structure's settings from it
16995                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16996                         get DNS info from current network profile
16997
16998 2005-06-09  Dan Williams <dcbw@redhat.com>
16999
17000         Patch from Robert Love:
17001         * src/NetworkManagerDevice.c
17002           src/NetworkManagerUtils.c
17003                 - 64-bit build fixes
17004
17005 2005-06-09  Dan Williams <dcbw@redhat.com>
17006
17007         Patch from Kay Sievers and Robert Love:
17008         * configure.in
17009           src/backends/Makefile.am
17010           src/backends/NetworkManagerSuSE.c
17011                 - Add SuSE support
17012
17013 2005-06-09  Dan Williams <dcbw@redhat.com>
17014
17015         * NetworkManager.h
17016                 - Add NMWirelessScanMethod enum for scan methods
17017
17018         * gnome/applet/applet-dbus-devices.c
17019                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17020                 - (nmwa_dbus_update_scanning_enabled): remove
17021                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17022                         since it got removed
17023                 - (nmwa_dbus_enable_scanning): remove
17024
17025         * gnome/applet/applet-dbus-info.c
17026                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17027                         update the wireless scanning method from NMI
17028                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17029                         method value to NetworkManager
17030                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17031
17032         * gnome/applet/applet-dbus-info.h
17033                 - Add prototype for nmi_dbus_signal_update_scan_method
17034
17035         * gnome/applet/applet.c
17036                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17037                         Wireless Scanning menu based on current wireless scan method
17038                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17039                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17040                         and update our menu items to make sure the right one is checked
17041                 - (nmwa_set_scanning_enabled_cb): remove
17042                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17043                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17044                         Scanning menu item
17045                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17046                         from GConf
17047                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17048                         so we get notified of preference values too
17049                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17050
17051         * gnome/applet/applet.h
17052                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17053                 - Add wireless scan method member to applet data
17054                 - Remove pause_scanning_item, add Wireless Scanning submenu
17055
17056         * src/NetworkManager.c
17057                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17058                 - (main): grab scanning method from NMI if we can
17059
17060         * src/NetworkManagerDbus.c
17061                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17062                         nm_dbus_update_wireless_scan_method()
17063                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17064                         from NMI
17065                 - (nm_dbus_nmi_is_running): redundant function, removed
17066                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17067                         when NMI comes back
17068
17069         * src/NetworkManagerDevice.c
17070                 - (nm_device_is_activated): return TRUE if the device is activated
17071                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17072                         and we are activated
17073
17074         * src/nm-dbus-nm.c
17075                 - (nm_dbus_nm_set_scanning_enabled): removed
17076                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17077                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17078
17079 2005-06-09  Dan Williams <dcbw@redhat.com>
17080
17081         * NetworkManager.h
17082           src/vpn-manager/nm-vpn-service.c
17083                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17084
17085 2005-05-27  Dan Williams <dcbw@redhat.com>
17086
17087         * vpn-daemons/vpnc/nm-vpnc-service.c
17088                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17089                         Should fix the bug where the VPN connection terminates the first time.
17090
17091 2005-05-20  Dan Williams <dcbw@redhat.com>
17092
17093         * NetworkManager.h
17094                 - Differentiate VPN config signals between bad VPN config options
17095                         and bad IP config
17096
17097         * gnome/applet/applet-dbus-info.h
17098                 - Add prototypes for wireless network and vpn connection update functions
17099
17100         * gnome/applet/applet-dbus.c
17101                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17102
17103         * gnome/applet/applet.c
17104                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17105                         error signals
17106                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17107                         propogation to NetworkManager
17108                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17109                         notify propogation to NetworkManager
17110
17111         * src/NetworkManagerDbus.c
17112                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17113                         are updating so a network can be removed from it if necessary
17114
17115         * src/vpn-manager/nm-vpn-manager.c
17116                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17117
17118         * vpn-daemons/vpnc/nm-vpnc-service.c
17119                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17120                 - (nm_vpnc_dbus_signal_launch_failed): remove
17121                 - (nm_vpnc_dbus_signal_connect_failed): remove
17122                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17123                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17124                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17125                         for new generalized error signal function, remove config file stuff
17126                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17127                         we can write configuration options to it
17128                 - (nm_vpnc_config_file_generate): removed
17129                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17130                 - (nm_vpnc_config_options_validate): validate the config options we receive
17131                         from NetworkManager to block potential exploits
17132                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17133                         starting vpnc
17134                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17135                         to NetworkManager
17136
17137 2005-05-16  Dan Williams  <dcbw@redhat.com>
17138
17139         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17140                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17141                         is not "connect"
17142
17143 2005-05-16  Dan Williams  <dcbw@redhat.com>
17144
17145         Patch from Tomislav Vujec <tvujec@redhat.com>
17146         * gnome/applet/applet-dbus-info.c
17147                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17148                         GConf and pass them to NetworkManager.  New key is 'routes' under
17149                         the VPN connection, and should be a string list
17150
17151         * src/NetworkManagerSystem.c
17152                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17153                         set them on the device when we set the rest of the VPN config.  Ensure
17154                         they are in the correct format since they are passed directly to the
17155                         command line.
17156
17157         * src/backends/NetworkManagerRedHat.c
17158           src/backends/NetworkManagerDebian.c
17159                 - (nm_system_device_add_route_via_device_with_iface): new function
17160
17161         * src/vpn-manager/nm-dbus-vpn.c
17162                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17163
17164         * src/vpn-manager/nm-vpn-manager.c
17165                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17166                         them into the IP4 config functions
17167
17168 2005-05-15  Dan Williams  <dcbw@redhat.com>
17169
17170         From Filip Miletic:
17171         * po/sr.po
17172           po/sr@Latn.po
17173           configure.in
17174                 - Serbian translation added
17175
17176 2005-05-15  Dan Williams  <dcbw@redhat.com>
17177
17178         * dispatcher-daemon/NetworkManagerDispatcher.c
17179                 - (main): sync arguments with NetworkManager and the applet, now use
17180                         "--no-daemon" rather than "daemon=no"
17181                 - (nmd_print_usage): Fix script path in usage message
17182
17183 2005-05-15  Dan Williams  <dcbw@redhat.com>
17184
17185         * src/NetworkManagerDevice.[ch]
17186           src/NetworkManagerPolicy.c
17187           src/NetworkManager.c
17188           src/nm-dbus-nm.c
17189                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17190                         longer send the DeviceNoLongerActive signal unconditionally, but only
17191                         when the device is actually active.
17192
17193         * dispatcher-daemon/NetworkManagerDispatcher.c
17194                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17195                         and simplify the logic
17196                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17197                         we free it later on
17198
17199         * initscript/RedHat/Makefile.am
17200           initscript/RedHat/NetworkManagerDispatcher
17201                 - Add initscript for NetworkManagerDispatcher
17202
17203
17204         Patch from Bill Moss:
17205         * dispatcher-daemon/NetworkManagerDispatcher.c
17206                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17207
17208         * src/NetworkManagerDbus.c
17209                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17210                         and DeviceNowActive gets signaled, then the device has a new IP address
17211                         anyway.  There's no need for a separate signal.
17212
17213         * src/NetworkManagerDevice.c
17214                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17215
17216         * src/NetworkManagerPolicy.c
17217                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17218                         activates successfully.  This kind of went missing when I reworked the
17219                         activation code.
17220
17221 2005-05-15  Dan Williams  <dcbw@redhat.com>
17222
17223         * configure.in
17224                 - Check for dhcdbd and error if its not found
17225
17226         * src/dhcp-manager/Makefile.am
17227           src/dhcp-manager/nm-dhcp-manager.c
17228                 - Use path to dhcdbd that configure found
17229
17230 2005-05-14  Dan Williams  <dcbw@redhat.com>
17231
17232         * gnome/applet/nm-device.c
17233                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17234                         sort wireless networks alphabetically
17235
17236         * gnome/applet/applet-dbus-devices.c
17237                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17238                         before copying them over to the GUI
17239
17240 2005-05-14  Dan Williams  <dcbw@redhat.com>
17241
17242         * src/NetworkManager.c
17243                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17244                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17245                         the device list, as does nm_get_active_device() which is called from
17246                         nm_vpn_manager_deactivate_vpn_connection().
17247
17248 2005-05-14  Dan Williams  <dcbw@redhat.com>
17249
17250         * NetworkManager.h
17251                 - Add signals for VPN Launch and Connect failures
17252
17253         * gnome/applet/applet-dbus.c
17254                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17255
17256         * gnome/applet/applet.c
17257                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17258                         function to handle all VPN failure messages
17259                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17260                         function to hanlde all VPN failure  messages
17261                 - (show_warning_dialog): work around focus-stealing prevention
17262
17263         * gnome/applet/other-network-dialog.c
17264           gnome/applet/passphrase-dialog.c
17265                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17266                         problem where it never enabled for ASCII Key and Hex Key types
17267
17268         * gnome/applet/wireless-applet.glade
17269                 - Add window title to Other Wireless Network Dialog
17270
17271         * src/vpn-manager/nm-dbus-vpn.c
17272                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17273                         function to handle all VPN failure messages
17274
17275         * src/vpn-manager/nm-vpn-manager.c
17276                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17277
17278         * vpn-daemons/vpnc/nm-vpnc-service.c
17279                 - (nm_vpnc_dbus_signal_launch_failed): new function
17280                 - (nm_vpnc_dbus_signal_connect_failed): new function
17281                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17282                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17283                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17284                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17285
17286 2005-05-11  Dan Williams  <dcbw@redhat.com>
17287
17288         * vpn-daemons/vpnc/nm-vpnc-service.c
17289                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17290                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17291                         file exists before trying to write it out.
17292
17293 2005-05-10  Dan Williams  <dcbw@redhat.com>
17294
17295     * gnome/applet/applet-dbus-device.c
17296         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17297             prevented just entering ESSID and leaving key and key type up to
17298             NetworkManager (which should have them already cached)
17299
17300 2005-05-08  Dan Williams  <dcbw@redhat.com>
17301
17302         * src/NetworkManagerPolicy.c
17303                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17304                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17305                         fix a situation where NM is told to terminate and the device stops activation,
17306                         but the main thread isn't aware of that because it would never have run
17307                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17308                         had already quit.
17309
17310         * src/NetworkManagerDevice.c
17311                 - (nm_device_probe_wired_link_state): cosmetic fixes
17312                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17313                         we've failed to activate or been canceled.
17314                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17315
17316 2005-05-08  Dan Williams  <dcbw@redhat.com>
17317
17318         * src/NetworkManagerWireless.c
17319                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17320                         value of WEXT quality structures, and add a debug message when we cannot
17321                         determine any quality % at all
17322
17323 2005-05-08  Dan Williams  <dcbw@redhat.com>
17324
17325         * src/dhcp-manager/nm-dhcp-manager.c
17326                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17327                         it goes down.
17328
17329 2005-05-06  Dan Williams  <dcbw@redhat.com>
17330
17331         * gnome/applet/applet-dbus-device.c
17332           gnome/applet/applet-dbus-info.c
17333           gnome/applet/applet-dbus.c
17334           gnome/applet/applet.c
17335           gnome/applet/applet.h
17336                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17337
17338         * gnome/applet/applet-dbus.c
17339                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17340                         so we notice when wired device's carriers come back on.  Should
17341                         fix issue with wired devices being grayed out even if the cable
17342                         is in, for devices that support carrier detection.
17343
17344         * gnome/applet/applet.c
17345                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17346                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17347                         tooltip message
17348                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17349                         Fix situation where applet wouldn't respond to menu selections
17350
17351         * src/NetworkManager.c
17352           src/NetworkManagerDevice.c
17353           src/NetworkManagerDbus.c
17354           src/NetworkManagerDbus.h
17355                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17356
17357         * src/NetworkManagerDbus.c
17358                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17359                         Remove, no longer used or relevant
17360                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17361                 - (nm_dbus_schedule_device_status_change_signal): add
17362
17363         * src/NetworkManagerDevice.c
17364                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17365                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17366                         ie don't deactivate them unless explicitly told to by the user.  Also send
17367                         CARRIER_OFF / CARRIER_ON signals when link changes
17368                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17369                         Don't print error message when device is no longer around
17370                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17371                         not just during activation
17372
17373         * src/NetworkManagerPolicy.c
17374                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17375                         auto-device-selection.
17376                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17377
17378         * src/NetworkManagerSystem.c
17379                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17380                         is no longer present (Bill Moss)
17381
17382         * src/backends/shvar.c
17383                 - (svOpenFile): Open read-only to make SELinux happy
17384
17385         * src/backends/NetworkManagerRedHat.c
17386                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17387                         the path to the ifcfg-* files
17388
17389 2005-05-05  Dan Williams  <dcbw@redhat.com>
17390
17391         * Expose activation stages to NetworkManager clients, like the applet
17392         * Add Diana's progress icons to the applet, cued off NM activation stage
17393         * Use more descriptive tooltips, cued off NM activation stage
17394
17395 2005-05-05  Ray Strode  <rstrode@redhat.com>
17396
17397         * src/nm-netlink-monitor.c:
17398                 - Use clear_event_source instead of g_nullify_pointer() again.
17399
17400 2005-05-05  Dan Williams  <dcbw@redhat.com>
17401
17402         * gnome/applet/main.c
17403                 - Fix session management so the applet is actually managed now
17404
17405         * gnome/applet/passphrase-dialog.c
17406                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17407
17408 2005-05-05  Dan Williams  <dcbw@redhat.com>
17409
17410         Patch from Bill Moss:
17411         * gnome/libnm_glib/libnm_glib.c
17412                 - Fix for dbus-0.33
17413
17414 2005-05-05  Dan Williams  <dcbw@redhat.com>
17415
17416         Suggestion from Bill Moss:
17417         * src/NetworkManagerSystem.c
17418                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17419
17420
17421         * src/NetworkManager.c
17422                 - (nm_data_free): move destruction of the various managers after
17423                         release of device list, because deactivating and freeing a device
17424                         requires at least the named manager
17425                 - (nm_poll_and_update_wireless_link_state):
17426                   (nm_device_link_activated):
17427                   (nm_device_link_deactivated):
17428                         don't grab the device list lock when actually updating device
17429                         link status or strength, since nm_device_set_link_active()
17430                         needs to call nm_get_active_device(), which also locks the device list.
17431
17432         * src/NetworkManagerDevice.c
17433                 - (nm_device_set_link_active): if a device's link switches from off->on,
17434                         and it's wired, and the active device is wireless (or there is no
17435                         active device), activate the new device whose link just came on
17436                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17437                         my only calling the link to the current ap "failed" when more than 2
17438                         consecutive link checks have failed
17439
17440 2005-05-04  Dan Williams  <dcbw@redhat.com>
17441
17442         * src/NetworkManagerDevice.c
17443                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17444                         but let link_to_specific_ap() do the locking where it needs
17445
17446         Patch from Bill Moss:
17447         * src/NetworkManagerSystem.c
17448                 - Set MTU of VPN devices to 1412
17449
17450 2005-05-04  Dan Williams  <dcbw@redhat.com>
17451
17452         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17453
17454         * Fix some holes in device activation and retaining the currently connected
17455                 access point
17456
17457 2005-05-03  Dan Williams  <dcbw@redhat.com>
17458
17459         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17460           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17461           means you need dhcdbd, which you can get here (get the latest one):
17462
17463                 http://people.redhat.com/jvdias/dhcdbd/
17464
17465           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17466           interface as dhcdbd.
17467
17468         * Rewrite device activation to facilitate the new DHCP infrastructure and
17469           future improvements.  Its now "activation request" based, ie there is a single
17470           activation request composed of the device, access point, and other info which
17471           follows the entire activation process.  There are 5 stages of the activation
17472           process which correspond to:
17473
17474                 1) Device preparation
17475                 2) Device configuration (bring it up, set ESSID/Key/etc)
17476                 3) IP Config Start (fire off DHCP if we're using it)
17477                 4) IP Config Get (grab config from DHCP or static config files)
17478                 5) IP Config Commit (set device's IP address, DNS, etc)
17479
17480           Note that there is no longer a "scanning" step, since the access point must
17481           be known _before_ activation starts.  If the access point drops out or does
17482           not exist for some reason, the entire activation process fails and must be
17483           restarted for a different access point or device.
17484
17485         Patch from Bill Moss:
17486         * gnome/applet/applet.c
17487                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17488
17489 2005-04-27  Dan Williams  <dcbw@redhat.com>
17490
17491         * gnome/applet/applet-dbus-vpn.c
17492           gnome/applet/applet.c
17493           gnome/applet/applet.h
17494                 - Fix up active VPN handling so that we reliably know when a VPN
17495                         connection has been deactivated
17496
17497         * src/vpn-manager/nm-vpn-manager.c
17498                 - Remove duplicate VPNConnectionChange signal
17499
17500 2005-04-27  Dan Williams  <dcbw@redhat.com>
17501
17502         Patch from Peter Jones:
17503         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17504
17505         Patch from Bill Moss:
17506         * src/NetworkManagerSystem.c
17507                 - Fix checking of return value from ioctl()
17508
17509 2005-04-27  Dan Williams  <dcbw@redhat.com>
17510
17511         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17512         * Warn and exit if icons cannot be found
17513
17514 2005-04-27  Dan Williams  <dcbw@redhat.com>
17515
17516         Patch from Tom Parker:
17517         * Update debian backend
17518
17519 2005-04-27  Dan Williams  <dcbw@redhat.com>
17520
17521         * Merge the applet and the info-daemon, and move the converged
17522                 applet under gnome/applet
17523         * Move libnm_glib to gnome/libnm_glib
17524         * Convert most dbus calls between the applet, info-daemon, and NM
17525                 into async calls
17526         * Fix a few things valgrind noticed
17527         * Make NM broadcast state more reliably
17528
17529 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17530
17531         * configure.in: Added ne in ALL_LINGUAS
17532
17533 2005-04-15  Dan Williams  <dcbw@redhat.com>
17534
17535         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17536                 code for dbus 0.2x versions
17537
17538 2005-04-15  Dan Williams  <dcbw@redhat.com>
17539
17540         Patches from Tom Parker:
17541         - Fix memleaks
17542         - Join with worker thread rather than polling for its exit
17543
17544         Patch from Bill Moss:
17545         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17546
17547 2005-04-15  Dan Williams  <dcbw@redhat.com>
17548
17549         - Fixes to pass 'make distcheck'
17550
17551 2005-04-15  Dan Williams  <dcbw@redhat.com>
17552
17553         Initial VPN Support
17554                 - supports 'vpnc'
17555                 - reworks device IP configuration, backend files have changed and will need
17556                         to be updated for all distributions.  I will try to do what I can for
17557                         them, but I cannot test them.
17558
17559         - Move named directory to src/named-manager
17560         - Make backends directory self-contained
17561
17562 2005-04-06  Dan Williams  <dcbw@redhat.com>
17563
17564         Add debug code for socket/file descriptor leaks.  We register every socket
17565         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17566         list of sockets that we forgot to close on shutdown.  This also consolidates
17567         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17568
17569 2005-04-06  Dan Williams  <dcbw@redhat.com>
17570
17571         * dhcpcd/dhcpcd.c
17572                 - (dhcp_interface_free): fix a file descriptor leak that may have
17573                         caused network drivers to not unload due to refcounts > 0
17574
17575 2005-04-04  Dan Williams  <dcbw@redhat.com>
17576
17577         * panel-applet/NMWirelessAppletDbus.c
17578                 - (nmwa_dbus_call_nm_method): remove some commented code
17579
17580         * src/NetworkManagerAPList.[ch]
17581                 - (nm_ap_list_remove_ap_by_essid): new function
17582
17583         * src/NetworkManagerDevice.c
17584                 - (nm_device_wireless_force_use): remove access points from the ignore list
17585                         when the user forces them
17586
17587         * src/nm-dbus-device.c
17588                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17589
17590 2005-04-04  Dan Williams  <dcbw@redhat.com>
17591
17592         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17593
17594 2005-04-04  Dan Williams  <dcbw@redhat.com>
17595
17596         * src/NetworkManagerDevice.c:
17597                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17598                         of only erroring after the second consecutive scan times out.  Also
17599                         don't exit when the card requires more time than we can give it, just
17600                         log the event and continue.
17601
17602 2005-04-01  Steve Murphy  <murf@e-tools.com>
17603
17604         * configure.in: Added "rw" to ALL_LINGUAS.
17605
17606 2005-04-01  Dan Williams <dcbw@redhat.com>
17607
17608         Perform scans during device activation, if needed.  Both activation 
17609         and scans run in the same GMainContext.  Therefore, if an access point
17610         is not found by the time the device starts activation, it will not
17611         be available until after activation.  We now try to scan during
17612         activation (in nm_wa_test) every 15s so that all available access
17613         points are more likely to be found and available for the activation
17614         procedure.
17615
17616         Also change nm_wireless_link_state_handle() to only update the "best"
17617         AP if we are not forcing a device and if we are not about to change
17618         state.  This attempts to work around a race when forcing a device,
17619         where the forced AP would get cleared out too soon by the link state
17620         checking timeout in the main thread, and the activation attempt with
17621         that AP would fail.
17622
17623 2005-04-01  Dan Williams <dcbw@redhat.com>
17624
17625         * po/POTFILES.in
17626                 - Update with new translatables
17627
17628 2005-03-31  Dan Williams <dcbw@redhat.com>
17629
17630         * panel-applet/NMWirelessAppletDbus.c
17631                 - Fix device names now that hal has changed device parenting for
17632                         network devices.
17633
17634 2005-03-31  Dan Williams <dcbw@redhat.com>
17635
17636         Tighten up handling of wireless devices that don't support wireless
17637         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17638         hadn't been doing pseudo-scanning for a while either and would just
17639         spin waiting for an access point.  They are now manual devices where
17640         the user must choose the access point from the menu every time.  All
17641         "allowed" access points are listed in the applet's menu regardless
17642         of whether or not they can be seen by the card, since it can't scan
17643         anyway.
17644
17645         * src/NetworkManager.c
17646                 - (nm_wireless_link_state_handle): new function, but only update
17647                         the "best" ap for non-scanning devices when its not activating,
17648                         and when no device is being forced on the card
17649                 - (nm_link_state_monitor): split wireless link state handling out
17650                         into separate function
17651
17652         * src/NetworkManagerDevice.c
17653                 - (nm_device_copy_allowed_to_dev_list): new function
17654                 - (nm_device_new): populate non-scanning cards' AP lists with
17655                         access points from the "allowed" list
17656                 - (nm_device_new): don't start a scanning timeout for devices that
17657                         can't scan
17658                 - (nm_device_activation_schedule_finish): new parameter, should be
17659                         the AP that failed to be connected to, pass it on to the
17660                         activation finish function in NetworkManagerPolicy.c
17661                 - (nm_device_activate_wireless): don't ever try to get a new AP
17662                         for non-scanning devices, just fail.  The user must choose
17663                         a new access point manually.
17664                 - (nm_device_activate): grab the AP that failed connection and
17665                         pass it on
17666                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17667                         a link to it, user must manually choose a new one
17668                 - (nm_device_do_pseudo_scan): remove function
17669                 - (nm_device_wireless_process_scan_results): remove bits for non-
17670                         scanning cards since they never get here
17671                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17672                         and fake the scan list for test devices a bit earlier
17673
17674         * src/NetworkManagerPolicy.c
17675                 - (nm_policy_activation_finish): use the failed_ap that we get
17676                         passed rather than getting the best_ap from the card, which
17677                         may have changed since we were scheduled
17678                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17679                         update their scan list directly from the allowed list when
17680                         we get updates to the allowed list from NetworkManagerInfo
17681
17682         * src/NetworkManagerPolicy.h
17683                 - New member for failed access point in NMActivationResult
17684
17685   -------------------------------------
17686
17687         Driver Notification patch: notifies the user when their driver
17688                 sucks.  Gives them the option to ignore further insertions
17689                 of the card that has the sucky driver.
17690
17691         * NetworkManager.h
17692                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17693                         enum and replace it with NO_CARRIER_DETECT and
17694                         NO_WIRELESS_SCAN
17695
17696         * panel-applet/NMWirelessApplet.[ch]
17697                 - Merge essid.glade -> wireless-applet.glade
17698                 - Implement the "Your driver sucks" notification dialog
17699
17700         * panel-applet/NMWirelessAppletDbus.c
17701                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17702                 - Grab hardware address for each device from NM too
17703                 - Check whether the driver for each device sucks or not whenever
17704                         a new device is noticed
17705
17706         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17707                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17708
17709         * src/NetworkManager.c
17710                 - Fix a double-unref on device removal
17711
17712         * src/NetworkManagerUtils.c
17713                 - Set appropriate driver support level on a device that doesn't
17714                         support scanning or carrier detection
17715
17716         * src/nm-dbus-device.c
17717                 - New "getHWAddress" dbus method on devices
17718                 - getSupportsCarrierDetect -> getDriverSupportLevel
17719
17720 2005-03-31  Dan Williams <dcbw@redhat.com>
17721
17722         * src/NetworkManagerDevice.c
17723                 - (nm_device_wireless_scan): Fix leak of scan results in some
17724                         instances
17725
17726 2005-03-29  Dan Williams <dcbw@redhat.com>
17727
17728         * src/NetworkManager.c
17729                 - (nm_poll_and_update_wireless_link_state): make code less indented
17730
17731         Patch from Bill Moss:
17732         * src/NetworkManager.c
17733                 - (nm_device_update_link_state): Update signal strength on wireless
17734                         devices every time we update link state too.
17735
17736 2005-03-29  Dan Williams <dcbw@redhat.com>
17737
17738         * src/NetworkManagerDevice.c
17739                 - (nm_device_set_essid): Work around Orinoco cards which need
17740                         extra time after setting the ESSID
17741
17742 2005-03-29  Dan Williams <dcbw@redhat.com>
17743
17744         * src/NetworkManagerDevice.c
17745                 - Merge one more bit of Peter Jones' completion patch
17746
17747 2005-03-29  Dan Williams <dcbw@redhat.com>
17748
17749         * src/NetworkManagerDevice.c
17750                 - (nm_device_force_use): Fix possible segfault
17751
17752 2005-03-29  Dan Williams <dcbw@redhat.com>
17753
17754         * src/NetworkManagerDevice.c
17755                 - Use iw_get_ext() where we should rather than iw_set_ext()
17756
17757 2005-03-29  Dan Williams <dcbw@redhat.com>
17758
17759         * src/NetworkManagerDevice.c
17760                 - (nm_device_set_up_down): remove check for unsupported devices
17761                         that caused NM to not bring devices up when they were
17762                         added to the device list.
17763
17764 2005-03-28  Dan Williams <dcbw@redhat.com>
17765
17766         * src/NetworkManagerDevice.c
17767                 - (mdio_read): Fix two bugs that caused all devices to fail
17768                         the MII carrier detection support checks
17769
17770 2005-03-26  Dan Williams <dcbw@redhat.com>
17771
17772         * src/NetworkManagerDevice.c
17773                 - (nm_device_wireless_scan): Remove duplicated scanning code
17774
17775 2005-03-25  Dan Williams <dcbw@redhat.com>
17776
17777         * panel-applet/NMWirelessApplet.c
17778                 - (nmwa_about_cb): Add some more contributors
17779                 - (nmwa_update_state): show the applet when there's no connection
17780                 - Enable the "Stop/Resume all wireless devices" option in the
17781                         context menu
17782                 - New "no connection" icon
17783
17784         * src/NetworkManager.c
17785                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17786                         wireless is disabled or we're asleep
17787
17788         * src/NetworkManagerDHCP.c
17789                 - Remove trailing "\n" on debug messages
17790
17791         * src/NetworkManagerDbus.c
17792                 - (nm_dbus_network_status_from_data): new state "asleep"
17793
17794         * src/NetworkManagerDevice.c
17795                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17796                         latency and wait times for most operations
17797                 - (nm_device_wireless_scan): Don't scan when asleep
17798
17799         * src/NetworkManagerPolicy.c
17800                 - (nm_policy_get_best_device): return no device when asleep
17801                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17802                         for all wireless devices on update, not just active device
17803
17804         * src/NetworkManagerUtils.c
17805                 - Merge Peter Jones' "completion" patch
17806
17807         * src/nm-dbus-nm.c
17808                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17809                         we're told to disable them
17810                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17811
17812         * utils/nm-utils.h
17813                 - New variants of the warn/info/error/debug print functions that can take
17814                         variables rather than static strings
17815
17816 2005-03-24  Dan Williams <dcbw@redhat.com>
17817
17818         * src/NetworkManagerUtils.c
17819                 - (nm_get_device_driver_name): driver names are now on the parents of
17820                         "Network Interface" objects, so look for them there
17821
17822 2005-03-24  Dan Williams <dcbw@redhat.com>
17823
17824         * test/nmtest.c
17825                 - Escape some forgotten object paths before we shove them through dbus
17826
17827 2005-03-24  Dan Williams <dcbw@redhat.com>
17828
17829         * dhcpcd/dhcpcd.[ch]
17830           src/NetworkManagerDHCP.c
17831                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17832                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17833
17834         * src/NetworkManagerDbus.c
17835                 - spacing cleanups
17836
17837         * src/nm-dbus-dhcp.c
17838                 - Make the API suck less.  There is now only 1 type of each function,
17839                         ie only "getInteger" and no longer also "getIntegerv".  All types
17840                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17841                         that will never have more than 1 element.  This should simplify
17842                         things greatly.
17843
17844         * test/nm-dhcp-opt-test.c
17845                 - Make the tool not segfault
17846                 - adapt to new DHCP Options API
17847
17848 2005-03-22  Dan Williams <dcbw@redhat.com>
17849
17850         * src/NetworkManager.c
17851                 - (nm_wired_link_deactivated): actually ignore netlink events from
17852                         wireless devices.
17853
17854 2005-03-22  Dan Williams <dcbw@redhat.com>
17855
17856         * src/NetworkManager.c
17857                 - (nm_wired_link_activated): actually ignore netlink events from
17858                         wireless devices.
17859
17860 2005-03-17  Dan Williams <dcbw@redhat.com>
17861
17862         Patch from Tom Parker:
17863         * src/nm-netlink-monitor.c
17864                 - Include unistd.h
17865         * info-daemon/NetworkManagerInfoDbus.c
17866                 - (nmi_dbus_update_network_auth_method): free GConf values
17867
17868         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17869         * src/NetworkManagerDevice.c
17870                 - (nm_device_set_wireless_config): wait for successful
17871                         association longer for some cards (Atheros a/b/g)
17872
17873 2005-03-15  Ray Strode  <rstrode@redhat.com>
17874
17875         * src/NetworkManager.c:
17876         (sigterm_pipe_handler):
17877         remove bogus FIXME
17878
17879 2005-03-15  Ray Strode  <rstrode@redhat.com>
17880
17881         * src/NetworkManagerDbus.c:
17882         Fix some sign weirdness that gcc4 doesn't like,
17883         and add a header file so PPC can hopefully find
17884         SIGTRAP
17885
17886 2005-03-14  Ray Strode  <rstrode@redhat.com>
17887         
17888         Fourth (probably working) cut at porting to
17889         dbus 0.30 api and new hal. This cut adds
17890         some new logging macros to make debugging
17891         easier.
17892
17893         * dispatcher-daemon/NetworkManagerDispatcher.c:
17894         * info-daemon/NetworkmanagerInfo.c:
17895         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17896         * info-daemon/NetworkManagerInfoVPN.c:
17897         * src/NetworkManager.c:
17898         * src/NetworkManagerAP.c:
17899         * src/NetworkManagerAPList.c:
17900         * src/NetworkManagerDHCP.c:
17901         * src/NetworkManagerDbus.c:
17902         * src/NetworkManagerDevice.c:
17903         * src/NetworkManagerPolicy.c:
17904         * src/NetworkManagerSystem.c:
17905         * src/NetworkManagerUtils.c:
17906         * src/NetworkManagerWireless.c:
17907         * src/autoip.c:
17908         * src/nm-dbus-nm.c:
17909         * src/backends/NetworkManagerDebian.c:
17910         * src/backends/NetworkManagerGentoo.c:
17911         * src/backends/NetworkManagerRedHat.c:
17912         * src/backends/NetworkManagerSlackware.c:
17913         use new logging macros.
17914
17915         * dispatcher-daemon/NetworkManagerDispatcher.c:
17916         (nmd_dbus_filter): s/dbus_free/g_free/
17917
17918         * info-daemon/Makefile.am: link in utils library.
17919         * info-daemon/NetworkmanagerInfo.c: use new logging 
17920         macros.
17921         (nmi_dbus_get_network): don't assume enumerations
17922         are 32-bit.
17923         (nmi_dbus_nmi_message_handler): don't free what 
17924         doesn't belong to us.
17925
17926         * libnm_glib/libnm_glib.c:
17927         (libnm_glib_get_nm_status): 
17928         (libnm_glib_init): don't free what doesn't
17929         belong to us.
17930         (libnm_glib_dbus): strdup result, so it doesn't get
17931         lost when message is unref'd.
17932
17933         * panel-applet/NMWirelessAppletDbus.c:
17934         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17935
17936         * src/NetworkManager.c:
17937         (nm_monitor_wired_link_state): request initial status 
17938         dump of all cards when we start up, instead of relying
17939         on /sys/.../carrier.
17940         (nm_info_handler), (nm_set_up_log_handlers): 
17941         log handlers to specify what syslog priorites 
17942         the logging macros default to.
17943
17944         * src/NetworkManagerAPList.c: 
17945         (nm_ap_list_populate_from_nmi):
17946         s/dbus_free_string_array/g_strfreev/
17947
17948         * src/NetworkManagerDbus.c:
17949         (nm_dbus_get_network_object):
17950         validate d-bus message argument types.
17951         Advance message iterator after reading argument,
17952         prepend instead of append to GSList.
17953
17954         * src/NetworkManagerDevice.c:
17955         (nm_device_probe_wired_link_status):
17956         remove redundant /sys in /sys path. remove wrong
17957         contents == NULL means has carrier assumption.
17958
17959         * src/nm-netlink-monitor.c 
17960         (nm_netlink_monitor_request_status): implement
17961         function to ask kernel to dump interface link
17962         status over netlink socket.
17963
17964         * test/*.c: s/dbus_free/g_free/
17965
17966         * utils/nm-utils.h:
17967         (nm_print_backtrace): new macro to print backtrace.
17968         (nm_get_timestamp): new macro to get sub-second precise
17969         unix timestamp.
17970         (nm_info), (nm_debug), (nm_warning), (nm_error):
17971         new logging functions. nm_info just prints,
17972         nm_debug includes timestamp and function,
17973         nm_warning includes function, nm_error includes
17974         backtrace and sigtrap.
17975
17976 2005-03-11  Ray Strode  <rstrode@redhat.com>
17977
17978         Third (unfinished, partially working) cut at porting to 
17979         dbus 0.30 api and new hal.
17980
17981         * info-daemon/NetworkManagerInfoDbus.c:
17982                 don't free null arrays.
17983
17984         * panel-applet/NMWirelessAppletDbus.c: 
17985         * src/nm-dbus-device.c:
17986         * src/nm-dbus-net.c: 
17987         * src/NetworkManagerDbus.c: more 
17988         STRING -> OBJECT_PATH fun
17989         * src/NetworkManagerDevice.c:
17990         * src/NetworkManagerDevice.h:
17991         (rename nm_device_get_link_active): rename to 
17992         nm_device_has_active_link
17993         (nm_device_wireless_link_active): rename to
17994         nm_device_probe_wireless_link_state
17995         (nm_device_wired_link_active): rename to
17996         nm_device_probe_wired_link_state.  Rewrite to
17997         use carrier file since hal doesn't maintain
17998         link state anymore.
17999         (nm_device_update_link_active): rename to
18000         nm_device_update_link_state
18001         * src/NetworkManagerPolicy.c 
18002           (nm_policy_activation_finish): check for NULL
18003           MAC address.
18004
18005         * src/Makefile.am:
18006         * src/NetworkManagerMain.h: 
18007         * src/NetworkManager.c:
18008         * src/nm-netlink-monitor.c:
18009         * src/nm-netlink-monitor.h: New class to support
18010         monitoring wired ethernet link status, since HAL
18011         doesn't export that information anymore.
18012
18013 2005-03-09  Ray Strode  <rstrode@redhat.com>
18014
18015         Second (unfinished, unworking) cut at porting to 
18016         dbus 0.30 api.
18017
18018         * dispatcher-daemon/NetworkManagerDispatcher.c:
18019         * info-daemon/NetworkManagerInfoDbus.c:
18020         * panel-applet/NMWirelessAppletDbus.c:
18021         * src/NetworkManagerDbusUtils.c:
18022         * src/NetworkManagerDbusUtils.h:
18023         * src/nm-dbus-device.c:
18024         * src/nm-dbus-nm.c:
18025         * test/nmtest.c: support dbus "object path" type
18026
18027         * configure.in: 
18028         * Makefile.am:
18029         * info-daemon/Makefile.am:
18030         * libnm_glib/Makefile.am:
18031         * panel-applet/Makefile.am:
18032         * dispatcher-daemon/Makefile.am
18033         * src/Makefile.am:
18034         * test/Makefile.am:
18035         * utils/Makefile.am: 
18036         * utils/nm-utils.c: 
18037         * utils/nm-utils.h: new utils static lib
18038
18039 2005-03-07  Ray Strode  <rstrode@redhat.com>
18040
18041         * info-daemon/NetworkManagerInfoDbus.c:
18042         * libnm_glib/libnm_glib.c:
18043         * panel-applet/NMWirelessAppletDbus.c:
18044         * src/NetworkManager.c:
18045         * src/NetworkManagerDbus.c:
18046         * src/NetworkManagerDevice.c:
18047         * src/NetworkManagerUtils.c:
18048         * src/nm-dbus-device.c:
18049         * src/nm-dbus-dhcp.c:
18050         * src/nm-dbus-net.c:
18051         * src/nm-dbus-nm.c:
18052         * test/nminfotest.c:
18053         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18054
18055 2005-03-04  Dan Williams  <dcbw@redhat.com>
18056
18057         * configure.in
18058                 - Mark HEAD as 0.4
18059
18060 2005-03-04  Dan Williams  <dcbw@redhat.com>
18061
18062         Patch from Peter Jones:
18063         - Make stuff work with gcc 4.0
18064
18065 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18066
18067         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18068
18069 2005-02-27  Jim Huang  <jserv@kaffe.org>
18070
18071         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18072
18073 2005-02-27  Dan Williams  <dcbw@redhat.com>
18074
18075         Patch from Bill Moss:
18076         * panel-applet/NMWirelessAppletDbus.c
18077                 - Make sure strength for current access point is up-to-date when we
18078                         update the gui data model
18079
18080 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18081
18082         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18083
18084 2005-02-27  Dan Williams  <dcbw@redhat.com>
18085
18086         * src/backends/NetworkManagerRedHat.c
18087                 - (nm_system_init): Kill any dhclient processes lying around as well
18088                         as stopping 'nifd' if its already been started.  NetworkManager
18089                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18090
18091 2005-02-27  Dan Williams  <dcbw@redhat.com>
18092
18093         * panel-applet/NMWirelessApplet.c
18094                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18095                         dbus data model, not the GUI data model twice.
18096
18097 2005-02-27  Dan Williams  <dcbw@redhat.com>
18098
18099         * panel-applet/NMWirelessApplet.[ch]
18100           panel-applet/NMWirelessAppletDbus.[ch]
18101                 - Move to incremental network updates.  Instead of blowing away our list
18102                         of devices every time we get a signal from NetworkManager, we now
18103                         incrementally add/remove networks when NetworkManager notifies us that
18104                         a new network has appeared or disappered.  Strength updates now happen
18105                         on-the-fly for each access point as well.  There are now two copies of
18106                         data from NetworkManager: one for the dbus side, and one for the gui side.
18107                         When the dbus side data is modified, it is copied over to the gui side
18108                         so we don't have to hold the data_mutex for long periods of time (and
18109                         therefore block animation of the applet's icon).
18110                 - Clean up some memleaks too
18111
18112         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18113                 - Minor code beautification
18114
18115         * src/NetworkManagerAPList.c
18116                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18117                         completely new and whether or not an existing one's strength was updated.
18118                         Try to fix multiple access points and signal strength by using the highest
18119                         signal strength in each scan for any given ESSID.
18120
18121         * src/NetworkManagerDbus.[ch]
18122                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18123                         wireless networks; now we have only WirelessNetworkUpdate which includes
18124                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18125                 - Kill usage of DbusMessageIter
18126
18127         * src/NetworkManagerDevice.c
18128                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18129                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18130                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18131                         currently associated with from the network list.
18132                 - Update for new signals during scan, send out Appeared, Disappeared, or
18133                         StrengthChanged when necessary.
18134
18135 2005-02-25  Dan Williams  <dcbw@redhat.com>
18136
18137         * README
18138                 - Line break the README
18139
18140 2005-02-25  Dan Williams  <dcbw@redhat.com>
18141
18142         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18143                 - Remove usage of gtk_window_set_default_size()
18144
18145         * panel-applet/essid.glade
18146                 - Stick default size here
18147                 - Add in random crap that current glade wants to add in now
18148
18149 2005-02-25  Dan Williams  <dcbw@redhat.com>
18150
18151         * src/backends/NetworkManagerRedHat.c
18152                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18153                         and that we actually tell nscd to reload the hosts cache when it changes
18154
18155 2005-02-25  Dan Williams  <dcbw@redhat.com>
18156
18157         * info-daemon/NetworkManagerInfoDbus.c
18158                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18159
18160         * test/nminfotest.c
18161                 - Whack usage of DbusMessageIter
18162                 - Clean up DbusError and DbusMessage handling and freeing
18163                 - Remove unused unregister handler
18164
18165         * test/nmtest.c
18166                 - Whack usage of DbusMessageIter
18167
18168         * test/nmtestdevices.c
18169                 - Whack usage of DbusMessageIter
18170
18171 2005-02-25  Dan Williams  <dcbw@redhat.com>
18172
18173         * NetworkManager.h
18174                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18175                         signal
18176
18177 2005-02-25  Dan Williams  <dcbw@redhat.com>
18178
18179         * named/nm-named-manager.c
18180                 - Ensure that pid and watch variables for child named process get cleared out
18181                         when the child goes away.
18182
18183 2005-02-22  Dan Williams  <dcbw@redhat.com>
18184
18185         * src/NetworkManagerPolicy.c
18186                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18187                         and NULL out data->active_device so that we have to choose another one.
18188                         This may make NetworkManager keep attempting to connect to a wired network
18189                         if it fails, but if it keeps failing the wired network has more problems than
18190                         just NetworkManager.
18191
18192         * src/backends/NetworkManagerRedHat.c
18193                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18194                         is already running
18195
18196         * named/nm-named-manager.c
18197                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18198                         named so that the distro can flush whatever name service caching
18199                         daemon it uses
18200
18201 2005-02-21  Dan Williams  <dcbw@redhat.com>
18202
18203         * src/NetworkManagerDHCP.[ch]
18204                 - (nm_device_dhcp_remove_timeouts): new function
18205
18206         * src/NetworkManagerDevice.c
18207                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18208                         remove the DHCP timeouts.
18209
18210 2005-02-21  Dan Williams  <dcbw@redhat.com>
18211
18212         * panel-applet/NMWirelessApplet.[ch]
18213           panel-applet/menu-info.[ch]
18214                 - Give the panel applet some major love: menu items are no longer
18215                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18216                         This allows the applet to actually reflect theme changes correctly,
18217                         since themeing of subclassed items in GTK _sucks_.
18218
18219 2005-02-18  Dan Williams  <dcbw@redhat.com>
18220
18221         * libnm_glib/libnm_glib.[ch]
18222           test/libnm_glib_test.c
18223                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18224                         and its data, and doesn't have to free the callback data anymore
18225
18226 2005-02-18  Dan Williams  <dcbw@redhat.com>
18227
18228         * panel-applet/NMWirelessApplet.c
18229                 - Revert 2005-02-18 William Jon McCann fix for standard
18230                         copyright string until it passes 'make distcheck'.
18231                         With standard copyright string, xgettext complains
18232                         about "Non-ASCII string at ...".
18233
18234 2005-02-18  Dan Williams  <dcbw@redhat.com>
18235
18236         * panel-applet/essid.glade
18237           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18238                 - Correct spelling of "adaptor"->"adapter"
18239
18240 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18241
18242         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18243         (nmwa_about_cb): Use standard copyright string.  Update comment
18244         text to reflect that it is a notification area applet.  Remove
18245         leading newline in authors list.
18246         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18247         instead of on parent menu item activation.  Fixes #167550.
18248
18249 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18250
18251         * panel-applet/essid.glade: Capitalize items as per HIG.
18252           Fixes #167632
18253
18254 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18255
18256         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18257         files for GTK 2.4 or lower, since now public in GTK 2.6.
18258
18259         * panel-applet/essid.glade: Don't specify window size.
18260         
18261 2005-02-17  Dan Williams  <dcbw@redhat.com>
18262
18263         Caught by Bill Moss:
18264         * dhcpcd/client.c
18265                 - Time remaining for DHCP transaction calculation was incorrectly
18266                         inside a #ifdef DEBUG
18267
18268 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18269
18270         * configure.in: Added fr (French) to ALL_LINGUAS.
18271
18272 2005-02-14  Dan Williams  <dcbw@redhat.com>
18273
18274         * src/NetworkManagerDHCP.c
18275                 - (set_domain_searches): Fix free of invalid pointer
18276
18277 2005-02-14  Dan Williams  <dcbw@redhat.com>
18278
18279         Patch from Peter Jones:
18280         * dhcpcd/client.c
18281                 - Ensure we return RET_DHCP_CEASED everywhere we should
18282         * dhcpcd/udpipgen.c
18283                 - Use faster TOS for IP packets
18284                 - Don't set ip_id since we're UDP
18285
18286         Patch from Tomislav Vujec:
18287         * src/nm-dbus-dhcp.c
18288           test/nm-dhcp-opt-test.c
18289                 - Clean up warnings to enable cvs tree compilation.
18290
18291 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18292
18293         * configure.in
18294           po/hr.po
18295                 - Add the Croatian locale.
18296
18297 2005-02-14  Colin Walters  <walters@verbum.org>
18298
18299         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18300         list of domains to search.
18301         
18302         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18303
18304 2005-02-13  Dan Williams  <dcbw@redhat.com>
18305
18306         * dhcpcd/client.c
18307                 - Debug output cleanups of DHCP option printing and parsing.
18308
18309 2005-02-13  Dan Williams  <dcbw@redhat.com>
18310
18311         Patch from Dan Reed:  DHCP options D-BUS API
18312                 Exposes the DHCP options that a device receives to clients over D-BUS.
18313
18314         * configure.in
18315                 - A few cleanups
18316
18317         * dhcpcd/client.h
18318                 - Correct names, option length, and types for DHCP options
18319
18320         * dhcpcd/dhcpcd.[ch]
18321                 - Clarify function names that access DHCP options & data
18322
18323         * src/NetworkManagerDHCP.c
18324                 - Use new DHCP data access functions
18325
18326         * src/NetworkManagerDbus.c
18327                 - Message handler for DHCP functions
18328
18329         * src/nm-dbus-dhcp.[ch] (new)
18330                 - DHCP dbus methods
18331
18332         * test/nm-dhcp-opt-test.c
18333                 - Test DHCP D-BUS API and return all present DHCP options
18334
18335 2005-02-12  Dan Williams  <dcbw@redhat.com>
18336
18337         * test/Makefile.am
18338           test/nmclienttest.c
18339           test/nmtest.c
18340                 - Move nmclienttest.c -> nmtest.c
18341
18342 2005-02-12  Dan Williams  <dcbw@redhat.com>
18343
18344         * dhcpcd/buildmsg.c
18345                 - Pad DHCP packets until they are at least 300 bytes in size.
18346
18347 2005-02-11  Dan Williams  <dcbw@redhat.com>
18348
18349         * dhcpcd/client.c
18350                 - (dhcp_init): only print out client ID and class ID if they are specified
18351
18352         * src/NetworkManagerDbus.[ch]
18353           src/nm-dbus-nm.[ch]
18354           src/nm-dbus-device.[ch]
18355           src/nm-dbus-net.[ch]
18356                 - Move NM, Device, and Net functions to separate files and use the
18357                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18358                         method dispatching
18359
18360         * src/NetworkManagerDbusUtils.c
18361                 - Add new validate_method called before each dispatch (if present)
18362                         that can validate the method call
18363
18364         * src/NetworkManagerWireless.c
18365                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18366                         levels never to be evaluated
18367
18368         Patch from j@bootlab.org
18369         * src/NetworkManagerDevice.c
18370                 - Add typedef for "u64"
18371
18372         * src/backends/NetworkManagerDebian.c
18373                 - Copy in Dave Woodhouse's fixes for IPv6
18374
18375 2005-02-11  Dan Williams  <dcbw@redhat.com>
18376
18377         Patch from Dave Woodhouse for IPv6:
18378         * src/NetworkManagerUtils.c
18379                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18380                         and multicast addresses
18381
18382         * src/NetworkManagerDevice.c
18383                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18384                         after bringing up a card.
18385
18386 2005-02-10  Dan Williams  <dcbw@redhat.com>
18387
18388         Patch from Dave Woodhouse:
18389         * src/NetworkManagerSystem.h
18390           src/backends/NetworkManagerDebian.c
18391           src/backends/NetworkManagerGentoo.c
18392           src/backends/NetworkManagerSlackware.c
18393                 - New nm_system_device_add_ip6_link_address() function to add link-local
18394                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18395
18396         * src/backends/NetworkManagerRedHat.c
18397                 - (nm_system_device_add_ip6_link_address): implement
18398                 - (nm_system_device_flush_addresses): revert to previous behavior of
18399                         flushing all addresses
18400
18401 2005-02-10  Dan Williams  <dcbw@redhat.com>
18402
18403         Patch from Tom Parker:
18404         * src/NetworkManagerDevice.c
18405                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18406                         mii.h headers are broken, and instead use our own typedefs
18407
18408 2005-02-10  Dan Williams  <dcbw@redhat.com>
18409
18410         * dhcpcd/buildmsg.c
18411                 - (fill_host_and_class_id): only fill in client and class IDs if
18412                         they are set by callers.
18413
18414         * dhcpcd/client.c
18415                 - (class_id_setup): don't autogenerate a class ID, only use one
18416                         we're given, if any.
18417                 - (client_id_setup): don't autogenerate a client ID, only use one
18418                         we're given, if any.
18419
18420         * dhcpcd/dhcpcd.c
18421                 - (dhcp_interface_init): ensure that client options are correctly
18422                         NULL terminated
18423
18424         * src/NetworkManagerDHCP.c
18425                 - (nm_device_dhcp_request): pass hostname to dhcp library
18426
18427 2005-02-10  Dan Williams  <dcbw@redhat.com>
18428
18429         * dhcpcd/client.c
18430                 - #rh147661# Don't send kernel version in DHCP requests
18431
18432         * src/NetworkManagerSystem.h
18433           src/backends/NetworkManagerDebian.c
18434           src/backends/NetworkManagerGentoo.c
18435           src/backends/NetworkManagerRedHat.c
18436           src/backends/NetworkManagerSlackware.c
18437                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18438                         functions, they are no longer used anyway
18439
18440         * src/backends/NetworkManagerRedHat.c
18441                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18442                         addresses in an attempt to keep IPv6 local-scope addresses around
18443
18444 2005-02-10  Dan Williams  <dcbw@redhat.com>
18445
18446         * src/NetworkManager.c
18447                 - (nm_create_device_and_add_to_list): change the add message slightly
18448
18449         * src/NetworkManagerUtils.c
18450                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18451                         Return driver name to calling function
18452                 - (nm_get_driver_support_level): print out the driver a device is using
18453                         during the support check
18454
18455         Patch from Dave Woodhouse:
18456         * dhcpcd/udpipgen.c
18457                 - (in_cksum): copy last byte of odd-sized packets into a
18458                         'u_short' rather than a 'u_char', should fix wrong checksums
18459                         on big-endian platforms
18460
18461 2005-02-09  Dan Williams  <dcbw@redhat.com>
18462
18463         * Clean up usage of GSList objects and looping through their members
18464         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18465                 now.
18466         * Fix problem where even if scanning was turned off, card would still
18467                 cycle through frequencies.
18468
18469 2005-02-08  Dan Williams  <dcbw@redhat.com>
18470
18471         * panel-applet/NMWirelessApplet.c
18472                 - Fix for gtk 2.4
18473
18474 2005-02-08  Dan Williams  <dcbw@redhat.com>
18475
18476         Patch from Bill Moss
18477         * panel-applet/NMWirelessApplet.c
18478                 - Restore correct ESSID in tooltips
18479
18480 2005-02-07  Dan Williams  <dcbw@redhat.com>
18481
18482         * panel-applet/NMWirelessApplet.[ch]
18483                 - Add a context menu that contains:
18484                         Pause/Resume Wireless Scanning
18485                         Stop/Start All Wireless Devices
18486                         About...
18487                 - Grab active device strength off active device,
18488                         not its network
18489
18490         * panel-applet/NMWirelessAppletDbus.[ch]
18491                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18492                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18493                 - Update active device strength every 2 seconds, not every 1 second
18494
18495         * panel-applet/menu-info.c
18496                 - Only disable wired devices in the menu when they support carrier detection,
18497                         and don't currently have a link.  Non-carrier-detect devices will always
18498                         remain choosable
18499
18500         * src/Makefile.am
18501           src/NetworkManagerDbusUtils.[ch]
18502                 - Add new new dbus utils sources
18503
18504         * src/NetworkManager.c
18505                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18506                         with the boolean parameter
18507                 - Set scanning_enabled & wireless_enabled to TRUE
18508
18509         * src/NetworkManagerDbus.c
18510                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18511                 - Implement scanning & wireless enable/disable calls
18512                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18513
18514         * src/NetworkManagerDevice.c
18515                 - New link detection stuff again...
18516                         o  Create device's mainloop earlier (but don't run it earlier)
18517                         o  Hook up new carrier-detect support stuff
18518                         o  Add in the ethtool & mii support detection code
18519                 - Don't scan if scanning is disabled
18520
18521         * src/NetworkManagerPolicy.c
18522                 - Never automatically choose a device that doesn't support carrier detection
18523                 - Don't automatically choose a wireless device if wireless is disabled
18524
18525 2005-02-07  Dan Williams  <dcbw@redhat.com>
18526
18527         * libnm_glib/libnm_glib.c
18528                 - Small cleanup in element list iteration
18529
18530 2005-02-07  Dan Williams  <dcbw@redhat.com>
18531
18532         * src/NetworkManagerWireless.c
18533                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18534                         to be in line with the WEXT quality specification
18535
18536 2005-02-02  Dan Williams  <dcbw@redhat.com>
18537
18538         Patch from Nathan Fredrickson <nathan@silverorange.com>
18539         * Fix up compile for deprecation of libgnomeui
18540                 - Switch to <glib/gi18n.h> from <libintl.h>
18541                 - Remove <libgnomeui/libgnomeui.h> includes
18542                 - Use gtk_window_set_default_icon_from_file() rather than
18543                         gnome_window_set_default_icon_from_file()
18544
18545         * named/nm-named-manager.c
18546                 - (generate_named_conf): Fix return-nothing in non-void
18547                         function
18548
18549 2005-02-02  Dan Williams  <dcbw@redhat.com>
18550
18551         * Clean up unused variables and the like
18552
18553 2005-02-02  Dan Williams  <dcbw@redhat.com>
18554
18555         * src/NetworkManagerAPList.c
18556                 - (nm_ap_list_merge_scanned_ap): merge strength too
18557
18558         * src/NetworkManagerUtils.c
18559                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18560                         of locking issues by printing out prettier information than g_mutex_lock
18561                 - Print out names of mutexes registered with nm_register_mutex_desc()
18562                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18563                         us to seemingly block here for too long
18564
18565         * src/NetworkManager.c
18566           src/NetworkManagerAPList.c
18567           src/NetworkManagerDevice.c
18568                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18569                         so we get better debug information printed
18570
18571         * src/NetworkManagerDbus.c
18572                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18573                         since it sometimes has locking side effects
18574                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18575                         from 10s
18576                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18577                         we don't need a switch.  This gets called often enough that we can't block
18578                         until the scan mutex is acquired, because we'll block on device activation
18579                         and a few other things, which hangs main thread for too long.
18580
18581         * src/NetworkManagerPolicy.c
18582                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18583                         nm_device_need_ap_switch() will be called               
18584
18585 2005-02-02  Dan Williams  <dcbw@redhat.com>
18586
18587         * panel-applet/NMWirelessApplet.c
18588                 - Display name of wireless network we are connecting to or connected to
18589                         in the tooltip of the applet
18590
18591 2005-02-02  Dan Williams  <dcbw@redhat.com>
18592
18593         * src/NetworkManagerDHCP.c
18594                 - Hopefully fix double-default-route problem by cleaning up the default
18595                         route added by DHCP code right before the DHCP transaction begins
18596
18597 2005-02-02  Dan Williams  <dcbw@redhat.com>
18598
18599         * named/nm-named-manager.c
18600                 - Write out valid resolv.conf when we exit
18601
18602 2005-02-01  Dan Williams  <dcbw@redhat.com>
18603
18604         Patch from Colin Walters:
18605         * named/nm-named-manager.c
18606                 - Make multi-domain search options work
18607
18608 2005-01-31  Dan Williams  <dcbw@redhat.com>
18609
18610         * info-daemon/NetworkManagerInfoDbus.c
18611                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18612
18613         * src/NetworkManagerDevice.c
18614                 - (nm_device_new): Don't store the entire range struct, use only what we need
18615                         (which is currently avg_quality, max_quality, and frequencies).  Also
18616                         zero device structure when we've free'd it to maybe expose errors down
18617                         the line.
18618                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18619                         quality data from the card since quality will be useless during a scan.
18620                         Call updated wireless qual-to-percent function with values stored in
18621                         nm_device_new() earlier.
18622                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18623                         nm_device_get_bad_crypt_packets())
18624                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18625                         nm_device_new()
18626                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18627                         list if available.  Problem was this: when the WEP key is wrong, NM will
18628                         try OS then SK modes, and then get stuck in SK mode after that.  This
18629                         should reset it.
18630                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18631                         function
18632
18633         * src/NetworkManagerWireless.c
18634                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18635                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18636                         if that's all present, otherwise fall back to signal-to-noise ratios.
18637
18638 2005-01-29  Dan Williams  <dcbw@redhat.com>
18639
18640         * initscript/RedHat/NetworkManager
18641                 - Don't spit out sysctl stuff to console
18642
18643         * libnm_glib/libnm_glib.c
18644                 - (libnm_glib_init): call dbus_g_thread_init()
18645
18646         * panel-applet/NMWirelessAppletDbus.c
18647                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18648
18649         * src/NetworkManager.c
18650                 - (main): call dbus_g_thread_init()
18651
18652         * src/NetworkManagerAPList.c
18653                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18654                         so we can actually see what's there in a normal syslog
18655
18656         * src/NetworkManagerDevice.c
18657                 - (nm_device_activate_wireless): print out the "waiting for access point"
18658                         message only once, then say what access point we actually got after
18659                         the wait.
18660                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18661                         function, wait until the scan is done.  Scans may change the ESSID of
18662                         the card, making this function think we need to switch access points
18663                 - (nm_device_wireless_process_scan_results): for artificial access points
18664                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18665                         prevents collisions with the scanning code, which may change the card's
18666                         ESSID and cause the access point to get dropped from the device's AP
18667                         list.  Also increase the keep-around time to 2m from 60s since the max
18668                         scan interval could be 60s in some cases.
18669
18670         * src/NetworkManagerPolicy.c
18671                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18672                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18673                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18674                         between NM and NMI.
18675
18676 2005-01-27  Dan Williams  <dcbw@redhat.com>
18677
18678         * info-daemon/NetworkManagerInfoDbus.c
18679                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18680                         GConf, make a minimal entry for it (essid & timestamp)
18681
18682         * src/NetworkManagerAPList.c
18683                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18684                         NetworkManagerInfo isn't running
18685
18686         * src/NetworkManagerDbus.[ch]
18687                 - (nm_dbus_nmi_is_running): new function
18688
18689         * src/NetworkManagerDevice.c
18690                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18691                         address to garbage.
18692
18693         * src/NetworkManagerPolicy.c
18694                 - (nm_policy_activation_finish): On successful activation, make sure
18695                         the "best" AP has a MAC address, and don't tell NMI to add the
18696                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18697                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18698                         access point after refreshing our allowed list if it doesn't already
18699                         have a "best" access point.
18700
18701 2005-01-25  Dan Williams  <dcbw@redhat.com>
18702
18703         * panel-applet/NMWirelessAppletDbus.c
18704                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18705                         so we check for NM_DBUS_SERVICE rather than not for it
18706
18707         * libnm_glib/libnm_glib.c
18708                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18709                         ServiceOwnerChanged signal
18710
18711 2005-01-25  Dan Williams  <dcbw@redhat.com>
18712
18713         * configure.in
18714                 - Check DBUS version in configure, and set the C macros
18715                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18716
18717         * info-daemon/NetworkManagerInfoDbus.c
18718                 - Remove #if 0-d section of code that quit NMI if NM went away.
18719
18720         * panel-applet/NMWirelessAppletDbus.c
18721                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18722
18723         * src/NetworkManager.c
18724           src/NetworkManagerMain.h
18725           src/NetworkManagerDbus.c
18726                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18727                 - Make updating of our Allowed Wireless Network lists from NMI
18728                         an idle function in the main thread now, with a high priority.
18729
18730 2005-01-24  Dan Williams  <dcbw@redhat.com>
18731
18732         * panel-applet/gtkcellview.[ch]
18733           panel-applet/menu-info.c
18734                 - Fix GTK version checks to be <= rather than <
18735
18736         * test/Makefile.am
18737                 - Include the libtool archive of libnm_glib rather than
18738                         trying to pull in the .so
18739
18740 2005-01-24  Dan Williams  <dcbw@redhat.com>
18741
18742         * src/NetworkManagerDevice.c
18743           src/NetworkManagerDevicePrivate.h
18744                 - Block nm_device_new() until our device's worker thread has had a
18745                         chance to start up.  Fixes a race between main thread and worker
18746                         thread starting that caused activation requests to get lost.
18747
18748 2005-01-24  Dan Williams  <dcbw@redhat.com>
18749
18750         * initscript/RedHat/NetworkManager
18751                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18752                         to add the NM startup script at priority 50, which was
18753                         way too early
18754
18755 2005-01-24  Colin Walters  <walters@redhat.com>
18756
18757         * named/named.conf: Use any port for query source instead of
18758         restricting to port 53.
18759
18760 2005-01-24  Dan Williams  <dcbw@redhat.com>
18761
18762         * initscript/RedHat/NetworkManager
18763                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18764                         to add the NM startup script at priority 50, which was
18765                         way too early
18766
18767 2005-01-24  Dan Williams  <dcbw@redhat.com>
18768
18769         Patch from Tom Parker <palfrey@tevp.net>
18770         * Fix up compile warnings & errors in the wireless applet
18771
18772 2005-01-24  Dan Williams  <dcbw@redhat.com>
18773
18774         * panel-applet/NMWirelessApplet.c
18775                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18776
18777 2005-01-24  Dan Williams  <dcbw@redhat.com>
18778
18779         * panel-applet/gtkcellview.[ch]
18780                 - Only compile these files for GTK 2.4 or lower, since 
18781                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18782                         when choosing "Other Wireless Networks" from the panel
18783                         applet menu
18784
18785 2005-01-21  Dan Williams  <dcbw@redhat.com>
18786
18787         * src/NetworkManager.c
18788                 - Daemonize earlier so that glib doesn't get confused (?)
18789
18790 2005-01-21  Dan Williams  <dcbw@redhat.com>
18791
18792         * panel-applet/NMWirelessApplet.[ch]
18793           panel-applet/NMWirelessAppletDbus.c
18794           panel-applet/menu-info.c
18795           src/NetworkManagerDevice.c
18796                 - Disable wired devices in the menu when they have no link.
18797
18798 2005-01-21  Dan Williams  <dcbw@redhat.com>
18799
18800         * Cache last-known-good wireless authentication method in
18801                 NetworkManagerInfo, and use that method first during
18802                 wireless device activation.  Should speed up devices that
18803                 need Shared Key authentication method since Open System is
18804                 now the default.
18805
18806         * Remove the hack to not do full activation on wired connections
18807                 that are active when we launch, it causes too many problems
18808                 with name resolution and was a hack in the first place.
18809
18810         * Re-work wireless device activation again somewhat to have a
18811                 clearer chain of events and to use last-known-good
18812                 authentication method of the access point.  Also provide
18813                 better status throughout activation to ensure the applet
18814                 can tell the user exactly what's going on.
18815
18816         * Remove the "find wireless network" code and now simply attempt
18817                 to activate with that access point.  This reduces the delay
18818                 between selecting "Other wireless Network" and actually
18819                 connecting to that network.
18820
18821         * Correctly stop the device's worker thread when its removed.
18822
18823 2005-01-21  Dan Williams  <dcbw@redhat.com>
18824
18825         * dhcpcd/client.c
18826                 - Clean up some of the debug messages
18827
18828 2005-01-21  Dan Williams  <dcbw@redhat.com>
18829
18830         * Add new icons, more frames of animation
18831         * Remove some hacks to get the panel applet to display correct
18832                 status, an NM update will soon follow that will fix the
18833                 real issue.
18834
18835 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18836
18837         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18838         the first include for working i18n. Also, don't include it in .h files
18839         * panel-applet/NMWirelessApplet.h: Same
18840         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18841         * panel-applet/menu-info.c: Same
18842
18843 2005-01-18  Dan Williams <dcbw@redhat.com>
18844
18845         * dhcpcd/client.c
18846                 - Remove some debug messages
18847                 - Wrap others in #ifdef DEBUG/#endif
18848
18849         * src/NetworkManager.c
18850                 - Remove some debug messages
18851                 - Clarify some debug messages
18852                 - Remove code related to old single-thread wireless scanning
18853
18854         * src/NetworkManagerAP.[ch]
18855                 - New AP property "last_seen" to track how recently an AP was
18856                         found in a scan
18857                 - Start using 'const' more in function arguments
18858
18859         * src/NetworkManagerAPList.[ch]
18860                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18861                         of an AP found in an AP list from a source AP, or if not found
18862                         in the list add the source AP
18863                 - (nm_ap_list_combine): remove, no longer needed
18864
18865         * src/NetworkManagerDevice.c
18866                 - Each device now has a "worker" thread from start to end of its life.
18867                         Scanning for wireless devices now happens in that thread,
18868                         not in a single "wireless scanning thread" for all devices as
18869                         previously.  Activation consists of adding an idle handler to the
18870                         thread's main loop/context, which gets run at the next available
18871                         opportunity.
18872                 - Wireless scanning is also simplified, there is now only one list of
18873                         access points per wireless device, and APs older than 60s are
18874                         removed from the list.  Previously, we kept results for the last
18875                         3 scans and merged whole lists, which was complicated.
18876                 - Cleaned up activation debug messages.
18877                 - Wireless activation and access-point search routines now use Open System
18878                         authentication before trying Shared Key.
18879                 - Removed some code in nm_device_update_best_ap() that could cause cards
18880                         to loose their link to the access point.
18881                 - Scanning now uses a backoff algorithm, where the inverval becomes
18882                         progressively longer between scans when the list of scanned access
18883                         points doesn't change.  A change will revert to the shortest scan
18884                         interval (20s).
18885
18886         * src/NetworkManagerWireless.[ch]
18887                 - Remove code related to old single-thread wireless scanning
18888
18889 2005-01-18  Colin Walters  <walters@redhat.com>
18890
18891         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18892         of older nameservers.
18893
18894 2005-01-18  Colin Walters  <walters@redhat.com>
18895
18896         * named/nm-named-manager.c (generate_named_conf): Many fixes
18897         to config file generation.
18898         (safer_kill): Remove, was too much trouble for little gain.
18899         (nm_named_manager_start): Run named as NM_NAMED_USER.
18900
18901         * configure.in: Add option --with-named-user.
18902
18903 2005-01-14  Colin Walters  <walters@redhat.com>
18904
18905         Patch from ed@catmur.co.uk (Ed Catmur)
18906
18907         * named/nm-named-manager.c: Add "context" property.
18908         Use it to add child watch source in specific GMainContext.
18909
18910         * src/NetworkManager.c (nm_data_new): Initialize
18911         named with correct main context.  Start named only
18912         after forking.
18913
18914 2005-01-14  Colin Walters  <walters@redhat.com>
18915
18916         * named/nm-named-manager.c (generate_named_conf): Write config
18917         and pid files into NM_NAMED_DATA_DIR; this allows things to
18918         work better with FC3 named SELinux policy.  Also fix up silly
18919         format error.
18920
18921         * configure.in: Add --with-named-dir option.
18922
18923 2005-01-14  Colin Walters  <walters@redhat.com>
18924
18925         * configure.in: Make named support require passing --with-named.
18926
18927         * named/nm-named-manager.c: Support writing resolv.conf directly
18928         without running named.
18929
18930 2005-01-13  Dan Williams <dcbw@redhat.com>
18931
18932         * named/nm-named-manager.c
18933                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18934
18935         * src/NetworkManagerDevice.c
18936                 - Rework wireless link detection code to be more reliable
18937
18938 2005-01-12  Dan Williams <dcbw@redhat.com>
18939
18940         * initscripts/RedHat/NetworkManager
18941                 - Change initial level to "-" rather than "345" so that
18942                         we don't activate ourselves by default on install
18943
18944 2005-01-12  Dan Williams <dcbw@redhat.com>
18945
18946         * libnm_glib/
18947                 - Client library for applications using glib
18948
18949         * configure.in
18950           various Makefiles
18951                 - Split NM_CFLAGS and NM_LIBS into separate variables
18952                         like DBUS_*, HAL_* and GLIB_*
18953
18954         * src/NetworkManager.c
18955           src/NetworkManagerMain.h
18956                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18957                         broadcast a status changed signal over DBUS from the main thread.
18958                         Still unused anywhere for the moment.
18959
18960         Patch from j@bootlab.org
18961         * panel_applet/NMWirelessAppletDbus.c
18962           src/NetworkManagerDbus.c
18963                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18964                         for the "getMode" method call
18965
18966 2005-01-10  Dan Williams <dcbw@redhat.com>
18967
18968         * src/NetworkManagerDevice.c
18969                 - Minor fixups & corrections to "auto" frequency mode, make it
18970                         less chatty with syslog
18971
18972 2005-01-10  Dan Williams <dcbw@redhat.com>
18973
18974         * src/NetworkManagerDevice.c
18975                 - Implement "auto" frequency/channel support, since cards like Atheros
18976                         can't use other frequencies at all when you've told it to use a
18977                         specific one, even for scanning.
18978                 - Grab the scan mutex around places where we can't tolerate wireless
18979                         settings changing underneath us, like nm_device_wireless_network_exists()
18980                         and nm_device_activate_wireless()
18981
18982         * src/NetworkManagerWireless.c
18983                 - Back scan interval off to 20s instead of 14s
18984
18985 2005-01-09  Dan Williams <dcbw@redhat.com>
18986
18987         * src/NetworkManagerDevice.c
18988                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18989                         already set.  Stops some drivers like Atmel from continually
18990                         reloading the firmware, which they do upon every configuration
18991                         change.
18992
18993 2005-01-09  Dan Williams <dcbw@redhat.com>
18994
18995         * dhcpcd/client.c
18996                 - Use correct timeout value
18997
18998         * info-daemon/NetworkManagerInfoDbus.c
18999           src/NetworkManagerDbus.c
19000                 - Consolidate communication between NM and NMI by doing only 1 dbus
19001                         method call to get Wireless Network info from NMI instead of 6
19002
19003         * src/NetworkManager.c
19004                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19005                         when we didn't have an AP to use, we'd wait for one forever without
19006                         quitting
19007
19008         * src/NetworkManagerDevice.c
19009                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19010                         activation, dhcp might not have started yet but we don't quit activation
19011                         before starting it, so the quit signal gets lost
19012
19013 2005-01-07  Dan Williams <dcbw@redhat.com>
19014
19015         * dhcpcd/client.c
19016                 - Rework the DHCP client code to be much less chatty when
19017                         it receives non-DHCP UDP packets during the DHCP run
19018                         (reported by and preliminary patches from Bill Moss)
19019
19020         * Move wireless scanning to a separate thread.  This thread forwards the
19021                 results to the main thread when done where they are integrated into
19022                 the device's access point lists.  This keeps the main thread (which
19023                 does all the DBUS communication) from being blocked for long periods
19024                 of time by wireless scanning.
19025
19026         * Make state modification an idle routine in the main loop, and trigger
19027                 state changes rather than polling for them.
19028
19029         * src/backends/NetworkManagerGentoo.c
19030                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19031
19032         * src/NetworkManagerDevice.c
19033                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19034                         router advertisements, causing problems and infinite loop
19035                         during "best" device determination due to link going up/down
19036                         (reported by Bill Moss)
19037
19038         Apply patch from Peter Jones
19039         * src/NetworkManagerDevice.c
19040                 - Shortcut for link-checking for ipw2x00 cards
19041                 - Split out association check into separate routine
19042
19043 2004-01-05  Colin Walters  <walters@redhat.com>
19044
19045         * named/named.conf: Add PID_FILE.
19046
19047         * named/nm-named-manager.c: Always generate a pid
19048         file, since older BIND versions don't support
19049         "pid-file none".
19050
19051 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19052
19053         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19054
19055 2004-12-22  Dan Williams <dcbw@redhat.com>
19056
19057         * src/NetworkManagerDevice.c
19058                 - Silently fail when setting bitrate doesn't work
19059
19060
19061         Patches from j@bootlab.org:
19062         * src/backends/NetworkManagerDebian
19063                 - Update backend to match functionality in RedHat backend
19064         * src/NetworkManagerDevice.c
19065                 - Take down then bring up wired devices after connection so
19066                 they send out ipv6 router advertisements
19067
19068 2004-12-21  Colin Walters  <walters@verbum.org>
19069
19070         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19071         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19072
19073 2004-12-21  Colin Walters  <walters@redhat.com>
19074
19075         * configure.in: Correct named detection.
19076
19077 2004-12-21  Colin Walters  <walters@redhat.com>
19078
19079         * src/NetworkManager.c (nm_data_new): Initialize named.
19080         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19081         the mainloop when these signals are received.
19082         (nm_data_free): Unref named.
19083         (sigterm_handler, sigterm_pipe_handler): New functions for
19084         exiting mainloop.
19085         
19086         * src/NetworkManagerMain.h (NMData): Add signal handling and
19087         nameserver bits.
19088
19089         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19090         unref.
19091
19092         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19093         set nameservers from DHCP response data.
19094         (set_domain_search): Set domain search from DHCP response.
19095         (nm_device_dhcp_configure): Invoke them.
19096
19097         * src/NetworkManagerSystem.c
19098         (nm_system_device_update_resolv_conf): Delete.  Deleting
19099         code is totally sweet.
19100
19101         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19102
19103         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19104         implements an object which controls a nameserver.  Currently
19105         uses bind 9.
19106
19107         * configure.in: Check for named.
19108
19109         * Makefile.am (SUBDIRS): Add named dir.
19110
19111         * named/named.conf: New template config file.
19112
19113 2004-12-20  Colin Walters  <walters@redhat.com>
19114
19115         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19116         instead of '='.
19117
19118 2004-12-17  Dan Williams  <dcbw@redhat.com>
19119
19120         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19121                 link-local addresses instead of doing DHCP.
19122
19123         * In the panel applet, there's a new "Create new Wireless Network..." item
19124
19125         * The panel applet also sticks around now even if NetworkManager dies, but
19126                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19127                 a bug, I'll fix that later.
19128
19129         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19130                 lookups after a switch rather than actually doing them.
19131
19132         * Clean up some of those warnings in nm_ap_list_* functions
19133
19134         * Delay between scans changed to 15s instead of 10s
19135
19136 2004-12-15  Dan Williams  <dcbw@redhat.com>
19137
19138         Patch from Tom Parker
19139         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19140                 address
19141
19142         * Longer pause after setting ESSID on cards that support a larger number
19143                 of channels to give the card time to find the right channel
19144
19145         * Add system hook to restart mDNSResponder (or whatever the local implementation
19146                 of Multicast DNS is) when we activate interfaces
19147
19148 2004-12-15  Dan Williams  <dcbw@redhat.com>
19149
19150         * Rework the DHCP code again to revert to sending full ethernet frames
19151                 rather then relying on the kernel to do the right thing with our
19152                 packets.
19153
19154 2004-12-06  Dan Williams  <dcbw@redhat.com>
19155
19156         * dhcpcd/client.c
19157                 - Fix some minor errors in dhcp_handle_transaction() that caused
19158                         unexpected early timeouts of DHCP transactions
19159
19160         * dhcpcd/client.h
19161                 - DHCP retransmit time from 4s -> 5s
19162
19163 2004-12-05  Dan Williams  <dcbw@redhat.com>
19164
19165         * Major rework of the DHCP code, taking some cues from pump.  We don't
19166                 write raw Ethernet packets anymore, which simplifies the code quite
19167                 a bit.  The new code should be more robust, not hang in recvfrom()
19168                 as much, and generally work better.  This also means that we need
19169                 to force HAL/dbus to use a created GMainContext rather than the
19170                 default context, since having the DHCP renew/rebind thread using
19171                 its own GMainContext seemed to give dbus a fit.  There is also more
19172                 debugging information printed from the DHCP loop to help with future
19173                 problems.
19174
19175         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19176                 assume that the default gateway should be the DHCP server.
19177
19178         Patch from Matthew Schick <matt oss-institute org>
19179         * src/backends/NetworkManagerGentoo.c
19180                 - Fix compilation error due to missing "ip4_broadcast"
19181
19182 2004-12-03  Dan Williams  <dcbw@redhat.com>
19183
19184         * initscript/Makefile.am
19185         * initscript/Debian/NetworkManager
19186         * initscript/Gentoo/NetworkManager
19187         * initscript/RedHat/NetworkManager
19188         * initscript/NMLaunchHelper.c
19189                 - Remove NMLaunchHelper, if you need to wait until the network
19190                         comes up, use the dead code from CVS.
19191
19192 2004-12-01  Colin Walters  <walters@redhat.com>
19193         
19194         * configure.in: Suck in gcc warnings code from Rhythmbox,
19195         but use fewer default flags, and in particular add -Wno-unused,
19196         since the codebase has a lot of unused variables.
19197
19198         * test/nmtestdevices.c (create_device): 
19199         * test/nminfotest.c (get_network_string_property) 
19200         (get_networks_of_type): 
19201         * test/nmclienttest.c (main): 
19202         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19203         * initscript/NMLaunchHelper.c (get_nm_status): 
19204         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19205         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19206         Fix declarations after statements.
19207
19208 2004-12-01  Colin Walters  <walters@redhat.com>
19209
19210         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19211         (nmi_dbus_get_vpn_userpass): New method.
19212         (nmi_dbus_nmi_message_handler): Invoke it.
19213
19214         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19215
19216         * info-daemon/NetworkManagerInfoVPN.h,
19217         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19218         to requests for VPN passwords.
19219
19220         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19221
19222 2004-12-01  Colin Walters  <walters@redhat.com>
19223
19224         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19225         includes.
19226
19227 2004-12-01  Colin Walters  <walters@redhat.com>
19228
19229         * panel-applet/NMWirelessAppletDbus.c
19230         (nmwa_dbus_update_active_device_strength): Fix missing
19231         return value.
19232
19233 2004-12-01  Colin Walters  <walters@redhat.com>
19234
19235         * panel-applet/NMWirelessApplet.c: Add missing include.
19236
19237 2004-12-01  Colin Walters  <walters@redhat.com>
19238
19239         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19240         Remove useless CLAMP (); the value is unsigned, and the case tests
19241         qual->qual < 100, so the value must always be between 0 and 100.
19242
19243 2004-12-01  Colin Walters  <walters@redhat.com>
19244
19245         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19246
19247 2004-11-22  Colin Walters  <walters@verbum.org>
19248
19249         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19250         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19251         which is essentially a noop since nscd caches hosts on disk too.
19252         
19253 2004-11-22  Colin Walters  <walters@redhat.com>
19254
19255         * src/Makefile.am (NetworkManager_SOURCES): Add
19256         NetworkManagerDevicePrivate.h.
19257
19258 2004-11-22  Dan Williams <dcbw@redhat.com>
19259
19260         * src/NetworkManagerDevicePrivate.h
19261                 - Split out the NMDevice struct to a different file so that stuff like
19262                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19263
19264         * dhcpcd/client.c
19265                 - fprintf->syslog
19266                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19267                         need to cancel the dhcp request during the send and recv
19268
19269         * dhcpcd/client.h
19270                 - Move the DHCP option enum to dhcpcd.h
19271
19272         * src/NetworkManagerDHCP.c
19273                 - Split out the actual IP/netmask/etc setting code
19274                 - New Renew/Rebind functions
19275                 - New timer setup function for renew/rebind operations
19276
19277         * src/NetworkManagerDevice.c
19278                 - For device activation, if we are using DHCP then keep the activation thread
19279                         alive until device deactivation.  We need to renew/rebind the DHCP address
19280                         after the T1 (renew) and T2 (rebind) times have expired.
19281                 - Increase some timeouts after bringing wireless cards up/down
19282
19283 2004-11-17  Dan Williams <dcbw@redhat.com>
19284
19285         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19286                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19287                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19288                 show known access points that don't broadcast their ESSID in the menus without
19289                 any user intervention whatsoever.
19290
19291         * info-daemon/NetworkManagerInfoDbus.c
19292                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19293                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19294
19295         * src/NetworkManagerAP.[ch]
19296                 - Add a "user_addresses" data member to the NMAccessPoint structure
19297                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19298                         the user_addresses data member
19299
19300         * src/NetworkManagerAPList.c
19301                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19302                         the AP's reported address
19303                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19304
19305         * src/NetworkManagerDHCP.c
19306                 - Increase DHCP timeout from 25s -> 30s
19307
19308         * src/NetworkManagerDbus.[ch]
19309                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19310                         user addresses
19311
19312         * src/NetworkManagerDevice.c
19313                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19314                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19315                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19316                         So, we take the card down to clear it out.
19317                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19318                         too, since that's where the user_addresses are
19319
19320         * src/NetworkManagerPolicy.c
19321                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19322                         that wireless networks' user_addresses list upon successful activation
19323
19324 2004-11-16  Dan Williams <dcbw@redhat.com>
19325
19326         * src/NetworkManagerDevice.[ch]
19327                 - (nm_device_clear_activation_fail): new function
19328
19329         * src/NetworkManagerPolicy.c
19330                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19331                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19332
19333 2004-11-16  Dan Williams <dcbw@redhat.com>
19334
19335         * src/NetworkManagerDevice.c
19336                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19337                         leak the structure, better updating of now_scanning status
19338                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19339
19340 2004-11-15  Dan Williams <dcbw@redhat.com>
19341
19342         Major rework of link detection code.  We now use DHCP
19343         as part of the link detection which proves to be much more robust,
19344         and also supports Open System authentication for wireless networks.
19345
19346         We no longer use external DHCP client programs.  Instead, we use 
19347         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19348         which was written by:
19349                 Yoichi Hariguchi <yoichi@fore.com>
19350                 Sergei Viznyuk <sv@phystech.com>
19351                 http://www.phystech.com/download/
19352         It resides in the "dhcpcd" directory and was refactored into a general
19353         purpose DHCP client library by me.
19354
19355         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19356         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19357
19358 2004-11-15  Dan Williams <dcbw@redhat.com>
19359
19360         Patch from Tom Parker <palfrey@tevp.net>:
19361
19362         * src/NetworkManagerDevice.c
19363                 - Less output to console when no access
19364                         points are found during a scan
19365
19366 2004-11-15  Dan Williams <dcbw@redhat.com>
19367
19368         Patch from Tom Parker <palfrey@tevp.net>:
19369
19370         * src/backends/interface_parser.c
19371                 - Use g_strdup ()
19372                 - Check for inp == NULL
19373                 - use syslog ()
19374
19375 2004-11-13  Colin Walters  <walters@redhat.com>
19376
19377         Patch from Tom Parker <palfrey@tevp.net>:
19378
19379         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19380         
19381         * src/backends/NetworkManagerRedHat.c: Switch to
19382         including shvar.h instead of shvar.c.
19383
19384         * src/backends/NetworkManagerDebian.c: Don't include
19385         interface_parser.c in source file.
19386
19387         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19388         and interface_parser.[ch].
19389         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19390         Include shvar.c and shvar.h here.
19391         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19392         interface_parser.c and interface_parser.h here.
19393
19394 2004-11-12  Colin Walters  <walters@redhat.com>
19395
19396         * configure.in: Strip out TARGET_DISTRO and
19397         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19398         conditionals.
19399
19400         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19401         (libnmbackend_la_SOURCES): Use Automake conditionals
19402         to add distro-specific files.
19403
19404         * initscript/Makefile.am (SUBDIRS): Update to
19405         use conditionals.
19406
19407 2004-11-12  Colin Walters  <walters@redhat.com>
19408
19409         Patches from j bootlab org
19410
19411         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19412         Add interface_parser.[ch].
19413
19414         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19415         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19416
19417 2004-11-12  Colin Walters  <walters@redhat.com>
19418
19419         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19420         call to nmi_dbus_is_running too, not necessary anymore.
19421         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19422         pick up exit().
19423
19424 2004-11-11  Colin Walters  <walters@verbum.org>
19425
19426         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19427         Delete.
19428         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19429         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19430         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19431         This avoids a race condition that made it pretty easily
19432         possible to get two NetworkManagerInfo daemons running.
19433
19434 2004-11-11  Colin Walters  <walters@verbum.org>
19435         
19436         * src/NetworkManager.c (main): Use daemon(3).
19437
19438         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19439
19440         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19441
19442 2004-11-10 Dan Williams <dcbw@redhat.com>
19443
19444         Patches from j bootlab org
19445         * src/NetworkManagerDevice.c
19446                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19447                         whether the card has a link or not, some cards are slow
19448                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19449
19450         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19451                 - Disable the "Login" button on the passphrase dialog until the user
19452                         enters a valid passphrase or key
19453
19454         Patches from Tom Parker <palfrey tevp net>
19455         * src/backends/NetworkManagerDebian.c
19456                 - Add static IP support to the debian backend
19457
19458         * src/backends/interface_parser.[ch]
19459                 - Parse debian interface config files
19460
19461 2004-11-08 Dan Williams <dcbw@redhat.com>
19462
19463         * src/NetworkManagerDevice.c
19464                 - Some random fprintf->syslog conversions
19465                 - (nm_device_wireless_network_exists): double-check for network
19466                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19467
19468         * src/NetworkManagerWireless.[ch]
19469                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19470                         so that the binary->ascii conversion works (if unsigned, the bitshift
19471                         will fill with zeros, which is what's required).  Also mask bitshift
19472                         result with 0xF for futher assurance.
19473
19474 2004-11-06 Dan Williams <dcbw@redhat.com>
19475
19476         * src/NetworkManagerUtils.c
19477                 - (nm_get_wireless_driver_support_level): default to
19478                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19479                         flip this when changing from whitelist->blacklist of
19480                         wireless drivers
19481
19482 2004-11-05 Dan Williams <dcbw@redhat.com>
19483
19484         Patch from Robert Paskowitz:
19485         * src/backends/NetworkManagerGentoo.c
19486                 - Update static IP config code
19487
19488 2004-11-05 Dan Williams <dcbw@redhat.com>
19489
19490         * info-daemon/NetworkManagerInfoDbus.c
19491           src/NetworkManagerDbus.[ch]
19492           src/NetworkManagerDevice.c
19493                 - Keep track of the # of attempts to get the WEP key
19494                         from the user and pass that along to the info daemon
19495
19496 2004-11-05 Dan Williams <dcbw@redhat.com>
19497
19498         * src/NetworkManagerUtils.c
19499                 - Blacklist wireless cards rather than whitelisting them.
19500                 - Grab driver name from HAL rather than trying to find it
19501                         ourselves.
19502
19503 2004-11-03 Dan Williams <dcbw@redhat.com>
19504
19505         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19506                 - Disable OK button until valid data is entered
19507                         for encryption stuff too
19508
19509         * panel-applet/NMWirelessApplet.c
19510                 - Report card strength for current AP if the card
19511                         doesn't report strength data for scanned access
19512                         points
19513
19514         * src/NetworkManagerDevice.c
19515                 - Smooth out cards reported quality, Atmel card was
19516                         intermittently reporting no quality data but soon
19517                         recovers
19518
19519         * src/NetworkManagerWireless.c
19520                 - Better quality data percentage calculation.  Atmel
19521                         cards (mine at least) seem to report the quality
19522                         in percentage format already, so honor that
19523
19524         Patch from <j@bootlab.org>
19525         * NetworkManager.h
19526           info-daemon/NetworkManagerInfoPassphraseDialog.c
19527           info-daemon/passphrase.glade
19528           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19529           panel-applet/essid.glade
19530           src/NetworkManagerAP.c
19531           src/NetworkManagerDevice.c
19532           src/NetworkManagerWireless.[ch]
19533                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19534
19535 2004-11-03 Dan Williams <dcbw@redhat.com>
19536
19537         * src/NetworkManagerDevice.[ch]
19538                 - (nm_device_set_enc_key): Add parameter to set Authentication
19539                         Mode (Open System, Shared Key, or None).  We're still using
19540                         Shared Key for now though.
19541
19542 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19543
19544         * panel-applet/menu-info.c: change from bold text to light
19545         colored, may cause problems with some themes, i've tested a lot
19546         and they seem fine. 
19547
19548         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19549
19550 2004-11-01  Colin Walters  <walters@verbum.org>
19551
19552         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19553         (nm_wireless_128bit_key_from_passphrase): Add const.
19554
19555         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19556         (nm_ap_set_enc_key_source): Add const.
19557         
19558 2004-11-01  Colin Walters  <walters@verbum.org>
19559
19560         * .cvsignore: Update.
19561
19562 2004-10-29 Dan Williams <dcbw@redhat.com>
19563
19564         * src/NetworkManagerDevice.c
19565                 - (nm_device_wireless_network_exists): Actually use the encryption
19566                         key we got from the applet when attempting to find a wireless network
19567                 - Don't bring devices down so much since on some cards it triggers
19568                         firmware hotplugs each time
19569
19570         * src/NetworkManagerDbus.c
19571                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19572                         from the caller
19573
19574 2004-10-29 Dan Williams <dcbw@redhat.com>
19575
19576         * src/NetworkManager.c
19577                 - (nm_hal_device_property_modified): unlock a locked active
19578                         wireless device when a wired connection gets a link.
19579                         (Means you'll switch to wired whenever you plug in no
19580                         matter what).
19581
19582 2004-10-29 Dan Williams <dcbw@redhat.com>
19583
19584         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19585                 - New files, implement the "Other wireless network" dialog
19586
19587         * panel-applet/NMWirelessApplet.c
19588                 - Move "other wireless network" dialog to separate file
19589
19590         * panel-applet/NMWirelessAppletDbus.[ch]
19591                 - Take key and key_type paramaters for the set_device function
19592
19593         * panel-applet/essid.glade
19594                 - Add UI bits for encryption settings
19595
19596         * src/NetworkManagerDbus.c
19597                 - Retrieve key and key_type params for "setActiveDevice" method call
19598                         and pass them on
19599                 - unref AP returned from nm_device_get_best_ap() when needed
19600
19601         * src/NetworkManagerDevice.c
19602                 - (nm_device_get_best_ap): ref the ap before returning it
19603                 - unref AP returned from nm_device_get_best_ap() when needed
19604                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19605                         need to call nm_device_get_best_ap() here, it was pretty much
19606                         redundant anyway
19607                 - (AP_NEED_KEY): break second link check condition out into separate
19608                         function, and fix segfault when ap->enc_key_source was NULL
19609                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19610                         pass them along to nm_device_wireless_network_exists().  If the
19611                         network does exist, set the passed-in key+key_type on the AP
19612
19613         * src/NetworkManagerPolicy.c
19614                 - unref AP returned from nm_device_get_best_ap() when needed
19615
19616 2004-10-28 Dan Williams <dcbw@redhat.com>
19617
19618         * src/NetworkManagerUtils.c
19619                 - (nm_spawn_process): Fix a potential dereference of NULL
19620
19621         Patches from Peter Jones:
19622
19623         * src/NetworkManagerDevice.c
19624                 - (nm_device_test_wireless_extensions): Better check for
19625                         wireless devices
19626
19627         * src/NetworkManagerUtils.c
19628                 - (nm_spawn_process): Pass in valid stdout and stderr so
19629                         executed programs don't randomly SIGPIPE and fail
19630                 - (nm_get_wired_driver_support_level): quash hal warning
19631                         when checking for USB ethernet device
19632
19633 2004-10-27 Dan Williams <dcbw@redhat.com>
19634
19635         * info-daemon/NetworkManagerInfo.c
19636           info-daemon/NetworkManagerInfoDbus.c
19637           info-daemon/NetworkManagerInfoPassphraseDialog.c
19638           panel-applet/NMWirelessApplet.c
19639                 - Properly escape gconf keys
19640
19641         * src/NetworkManager.c
19642                 - remove unused variables
19643
19644         * src/NetworkManagerAP.c
19645                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19646                         refcount since it got set in nm_ap_new()
19647
19648         * src/NetworkManagerAPList.c
19649                 - (nm_ap_list_combine): Give up ownership of newly created
19650                         access points to the ap list, fixes memleak
19651
19652         * src/NetworkManagerDevice.c
19653                 - Remove cached_ap_list4 member since its not really needed
19654                 - (nm_device_wireless_network_exists): Try to get correct
19655                         encryption status of a found AP if its already in our
19656                         device list
19657                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19658                         memory allocs/deallocs a bit clearer and shorter-lived
19659
19660 2004-10-26 Ray Strode <rstrode@redhat.com>
19661
19662         * panel-applet/NMWirelessApplet.c:
19663           (custom_essid_item_selected):  kill some compiler
19664         warnings 
19665
19666 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19667
19668         * info-daemon/NetworkManagerInfoDbus.c
19669                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19670                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19671
19672 2004-10-23 Dan Williams <dcbw@redhat.com>
19673
19674         * info-daemon/NetworkManagerInfoDbus.c
19675                 - Trap the "DeviceActivationFailed" signal
19676
19677         * docs/NetworkManager DBUS API.txt
19678                 - Add "DeviceActivationFailed" signal
19679
19680         * panel-applet/NMWirelessAppletDbus.c
19681                 - Quash the "NetworkManager service not available" message
19682
19683         * src/NetworkManagerDbus.[ch]
19684                 - Add the "DeviceActivationFailed" signal
19685
19686         * src/NetworkManagerDevice.c
19687                 - Add support for activation_failed flag
19688                 - Fix deadlock where activation thread didn't clean itself up, making
19689                         main thread still believe it was alive forever (didn't reset activation
19690                         flags like activating, just_activated, etc when IP configuration
19691                         failed)
19692
19693         * src/NetworkManagerPolicy.c
19694                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19695                         for wireless networks, try to fall back to some other access point
19696
19697 2004-10-23 Dan Williams <dcbw@redhat.com>
19698
19699         * panel-applet/NMWirelessApplet.[ch]
19700                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19701                         to the applet object, so we can get tooltips
19702                 - Add tooltips (RH #136866)
19703
19704         * src/NetworkManagerDevice.c
19705                 - When trying to find a wireless network, try to connect with encryption
19706                         turned on first, so that we can more accurately detect whether or not
19707                         we need to use encryption for the actual association later on
19708
19709 2004-10-21 Dan Williams <dcbw@redhat.com>
19710
19711         * Add some support for telling NetworkManagerInfo to tell the user
19712                 that they are using a device that's not fully supported
19713
19714         * Fix some assertions in debug messages due to null access point args
19715
19716 2004-10-21 Dan Williams <dcbw@redhat.com>
19717
19718         * src/NetworkManagerDevice.c
19719                 - Don't try to activate/bring up/down unsupported
19720                         devices
19721
19722         * src/NetworkManagerUtils.c
19723                 - Fix case of PCI ID checks for driver support levels
19724
19725 2004-10-21 Dan Williams <dcbw@redhat.com>
19726
19727         * NetworkManager.h
19728                 - New file, now contains commonly used structures and bits
19729                         for the dbus API of NetworkManager
19730
19731         * Makefile.am
19732                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19733
19734         * src/NetworkManager.h
19735                 - Rename -> src/NetworkManagerMain.c
19736
19737         * Various fixups all around to use NetworkManager.h and new
19738                 src/NetworkManagerMain.h, remove redundant bits that got
19739                 moved into NetworkManager.h
19740
19741         * src/NetworkManagerDevice.[ch]
19742           src/NetworkManagerUtils.[ch]
19743           src/NetworkManagerPolicy.c
19744           src/NetworkManagerDbus.c
19745                 - Whitelist wireless drivers, and blacklist some wired
19746                         drivers.  Also blacklist cipsec and ethernet-over-usb
19747                         devices at this time (RH #135722, RH #135648)
19748                 - Don't leak unsupported devices out over dbus, or allow
19749                         them to be set as the active device.  Skip over them
19750                         during automatic device picking
19751
19752         * test/nmclienttest.c
19753                 - Clean up the dbus code a lot
19754
19755 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19756
19757         * configure.in: post release bump.
19758
19759 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19760
19761         * configure.in:
19762         * NEWS: Released NetworkManager-0.3.1
19763
19764 2004-10-18 Dan Williams <dcbw@redhat.com>
19765
19766         Patches from Thom May:
19767         * test/nmtestdevices.c
19768                 - Include <string.h>
19769         * src/backends/NetworkManagerDebian.c:
19770                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19771                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19772                         Move to using g_strdup_printf rather than arbitrary buffers
19773                 - (nm_system_device_setup_static_ip4_config) Implement function.
19774                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19775
19776 2004-10-17 Dan Williams <dcbw@redhat.com>
19777
19778         * info-daemon/NetworkManagerInfoDbus.c
19779                 - Display name of network in the "network not found" dialog
19780
19781         * panel-applet/NMWirelessAppletDbus.c
19782                 - (nmwa_dbus_call_nm_method): new function replaces all other
19783                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19784                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19785                         consolidated into nmwa_dbus_get_object_name()
19786
19787 2004-10-15 Dan Williams <dcbw@redhat.com>
19788
19789         * src/NetworkManagerDbus.c
19790           info-daemon/NetworkManagerInfoDbus.c
19791                 - Display an error dialog when the user tries to use an
19792                         "Other wireless network" that's not found.
19793
19794 2004-10-15 Dan Williams <dcbw@redhat.com>
19795
19796         * panel-applet/NMWirelessApplet.[ch]
19797                 - Fix up corner cases in applet state, making it
19798                         look more responsive.  Change state to "connecting" when
19799                         the user is forcing a device too.
19800
19801 2004-10-15 Dan Williams <dcbw@redhat.com>
19802
19803         * src/NetworkManagerAPList.c
19804                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19805
19806         * src/NetworkManagerDbus.c
19807                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19808
19809         * src/NetworkManagerDevice.c
19810                 - Disown APs after the device's AP list takes ownership
19811
19812 2004-10-15 Dan Williams <dcbw@redhat.com>
19813
19814         * panel-applet/NMWirelessApplet.c
19815                 - Update our applet state from the GUI thread
19816
19817         * panel-applet/NMWirelessAppletDbus.c
19818                 - Greatly simplify the locking to make the GUI thread
19819                         smoother.  Update a private copy of the device list
19820                         and active device and only when done talking to
19821                         NetworkManager turn it over to the GUI thread.
19822
19823 2004-10-15 Dan Williams <dcbw@redhat.com>
19824
19825         * src/NetworkManagerAP.[ch]
19826                 - Add "artificial" get/set functions, set for APs that
19827                         aren't discovered as part of a scan but instead
19828                         discovered by force-setting the ESSID
19829
19830         * src/NetworkManagerDevice.[ch]
19831                 - (nm_device_wireless_network_exists): pass back whether
19832                         or not the discovered AP was encrypted.  Also, try
19833                         falling back to encrypted mode on the card if unencrypted
19834                         association doesn't work
19835                 - (nm_device_find_and_use_essid): If the network requested
19836                         did in fact exists, but it wasn't in our scan list, add
19837                         an "artificial" entry for it.  Some Cisco cards don't
19838                         see non-ESSID-broadcasting APs in their scan but can still
19839                         associate with them if you know the ESSID, this works around
19840                         that behavior
19841                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19842                         to scan if the card is currently associated with that AP
19843
19844 2004-10-15 Dan Williams <dcbw@redhat.com>
19845
19846         ---- We have a website ----
19847         http://people.redhat.com/dcbw/NetworkManager
19848
19849         Patch from Robert Paskowitz:
19850         * src/NetworkManager.c
19851                 - (main): Make sure we are run as root
19852         * src/NetworkManagerDevice.c
19853                 - Fix type in ad-hoc setting function
19854
19855         Patch from Thom May:
19856         * src/backends/NetworkManagerDebian.c
19857                 - Make Debian backend compile again
19858
19859 2004-10-14 Dan Williams <dcbw@redhat.com>
19860
19861         * Tagged NetworkManager-0_3
19862
19863 2004-10-14 Dan Williams <dcbw@redhat.com>
19864
19865         Patch from Robert Paskowitz:
19866         * NEWS
19867           src/NetworkManagerDevice.[ch]
19868           src/backends/NetworkManagerDebian.c
19869           src/backends/NetworkManagerGentoo.c
19870           src/backends/NetworkManagerRedHat.c
19871           src/backends/NetworkManagerSlackware.c
19872                 - Add support for grabbing and using a broadcast address
19873                         from system config files
19874                 - Some Gentoo backend fixes for grabbing network config
19875                 - Fix LOG_WARN->LOG_WARNING
19876
19877 2004-10-14 Dan Williams <dcbw@redhat.com>
19878
19879         * NEWS: a few small fixes in the credits
19880
19881 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19882
19883         * NEWS: prep for release.
19884
19885 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19886
19887         * panel-applet/NMWirelessAppletDbus.c
19888         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19889
19890 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19891
19892         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19893         applet->state == APPLET_STATE_NO_NM animation.
19894
19895         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19896         set the text correctly.
19897
19898 2004-10-14 Dan Williams <dcbw@redhat.com>
19899
19900         * src/NetworkManager.c
19901                 - Only accept and manager 802.3 and 802.11 devices
19902
19903         * src/NetworkManagerDbus.[ch]
19904                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19905                         logic into NetworkManagerDevice.c
19906                 - (nm_dbus_network_status_from_data): new function
19907                 - (nm_dbus_signal_network_status_change): new function, unused for now
19908                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19909
19910         * src/NetworkManagerDevice.[ch]
19911                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19912                         a random ESSID.
19913
19914 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19915
19916         * info-daemon/NetworkManagerInfo.c 
19917                 - (main): Added session management
19918
19919 2004-10-14 Dan Williams <dcbw@redhat.com>
19920
19921         * panel-applet/NMWirelessAppletDbus.[ch]
19922                 - Expose network_device_[un]ref()
19923                 - Expose wireless_network_[un]ref()
19924                 - (wireless_network_new_with_essid): new function, create and return
19925                         a wireless network with a particular essid
19926
19927         * panel-applet/NMWirelessApplet.c
19928                 - Hook up the "other network" dialog to do something
19929
19930 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19931
19932         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19933         doesn't work yet, but it looks okay.
19934
19935         * panel-applet/icons/*png: Resize to 22x22 and install in the
19936         right place.
19937
19938 2004-10-13 Dan Williams <dcbw@redhat.com>
19939
19940         * panel-applet/NMWirelessApplet.c
19941                 - Add function to print out applet_state in a readable
19942                         manner
19943
19944         * src/NetworkManager.c
19945                 - (main): Don't segfault when nm_dbus_init() fails, we had
19946                         a left-over call to hal_shutdown() into which we passed NULL
19947
19948         * src/NetworkManagerAP.c
19949                 - (nm_ap_set_essid): Allow NULL essids
19950
19951         * src/NetworkManagerAPList.[ch]
19952                 - More use of nm_ap_list_[un]lock ()
19953                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19954                         network/essid, just return nothing.  Also skip over NULL
19955                         essid access points in the list when searching
19956                 - (nm_ap_list_get_ap_by_address): new function
19957                 - (nm_ap_list_update_network): set the access point's key source to
19958                         NULL when the key returned from NetworkManagerInfo is NULL or
19959                         of 0 length
19960                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19961                         copy timestamp over too
19962                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19963                         find the correct ESSID for a blank-essid access point by searching
19964                         through another list and matching access point MAC addresses
19965                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19966
19967         * src/NetworkManagerDbus.c
19968                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19969                         may specify.  This is mainly for access points that don't
19970                         broadcast their essid.  So if the user tells us to associate with
19971                         some random ESSID that's not in our access point list, we find
19972                         out if the access point does in fact exist (by attempting association
19973                         and then matching that access point's MAC address with the essid the
19974                         user gave us) and then we switch to it.
19975                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19976                         to the returned list of networks for the "getNetworks" method
19977
19978         * src/NetworkManagerDevice.[ch]
19979                 - Extra debugging info for link detection
19980                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19981                         based on MAC address
19982                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19983                 - (nm_device_wireless_network_exists): new function, find out whether
19984                         a random ESSID exists by attempting to associate with it
19985                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19986                         device list as long as they have an AP MAC address we can use.
19987                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19988                         devices too.  Lets the applet update more frequently.
19989
19990         * src/backends/NetworkManagerGentoo.c
19991                 - Patch from: Robert Paskowitz
19992                         - Update backend code for Gentoo
19993                         - Implement nm_system_device_update_config_info ()
19994
19995         * test/nmclienttest.c
19996                 - (set_network_device): new function, takes a command-line argument
19997                         and tells NetworkManager to use that wireless network
19998
19999 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20000
20001         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20002         if the notification icon crashes 5 times within 5 seconds of each respawn 
20003
20004 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20005
20006         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20007         g_print.
20008
20009 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20010
20011         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20012
20013         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20014         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20015         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20016         Change the name of the icons.
20017
20018         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20019         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20020         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20021         (nm_menu_wireless_expose_event): Really bad hack to get the style
20022         to draw in the right color.
20023
20024 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20025
20026         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20027         Notification if it crashes
20028
20029 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20030
20031         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20032         (nmwa_dbus_get_string): remove unused functions
20033
20034         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20035         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20036         remove unused functions
20037
20038         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20039
20040 2004-10-12 Dan Williams <dcbw@redhat.com>
20041
20042         * panel-applet/NMWirelessAppletDbus.c
20043                 - New functions:
20044                         wireless_network_new
20045                         wireless_network_copy
20046                         network_device_new
20047                         network_device_copy
20048
20049         * src/NetworkManagerDevice.[ch]
20050                 - New functions:
20051                         nm_device_set_mode_managed
20052                         nm_device_set_mode_adhoc
20053                 - Use these functions where appropriate
20054                 - When creating a new wireless device, force the card
20055                         to managed/Infrastructure mode as soon as possible
20056
20057 2004-10-12 Dan Williams <dcbw@redhat.com>
20058
20059         * src/NetworkManagerDevice.c
20060                 - Force wireless cards into Infrastructure mode before we use them
20061
20062 2004-10-12 Dan Williams <dcbw@redhat.com>
20063
20064         * TODO
20065                 - Remove bit about static IP address support
20066
20067         * src/NetworkManagerUtils.c
20068                 - (nm_spawn_process): Add some error reporting
20069
20070         * src/NetworkManagerDevice.c
20071                 - (nm_device_activation_configure_ip): hook up to the static config
20072                         routines in the backends
20073
20074         * src/backends/NetworkManagerRedHat.c
20075                 - (nm_system_device_update_config_info): use shvar.c routines to
20076                         parse the config file iformation, not our own
20077                 - (nm_system_device_setup_static_ip4_config): new function, based
20078                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20079                         with a static IP address and gateway
20080
20081         * src/backends/shvar.[ch]
20082                 - Parser (filched from initscripts package) for ifcfg-* files
20083
20084         * src/backends/NetworkManagerSystem.h
20085           src/backends/NetworkManagerGentoo.c
20086           src/backends/NetworkManagerDebian.c
20087           src/backends/NetworkManagerSlackware.c
20088                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20089
20090 2004-10-11 Dan Williams <dcbw@redhat.com>
20091
20092         * TODO
20093                 - Remove bit about more robust AP diffing since I just implemented it
20094
20095 2004-10-11 Dan Williams <dcbw@redhat.com>
20096
20097         * src/NetworkManagerAP.c
20098                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20099                         enough RAM to allocate new AP structures, but return NULL instead
20100
20101         * src/NetworkManagerAPList.[ch]
20102                 - (nm_ap_list_is_empty): new function
20103                 - (nm_ap_list_combine): new function, combine two access point lists
20104                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20105                         into another
20106
20107         * src/NetworkManagerDevice.[ch]
20108                 - Rename some functions to be clearer:
20109                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20110                         nm_device_just_activated     -> nm_device_is_just_activated
20111                         nm_device_activating         -> nm_device_is_activating
20112                         nm_device_now_scanning       -> nm_device_is_scanning
20113                 - Cache the last 4 scans so that the access point list is more stable.
20114                         We combine the lastest two scans and use that as the AP list,
20115                         and diff that combined list against the combination of the earliest
20116                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20117
20118 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20119
20120         * info-daemon/NWManagerInfo.h
20121                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20122
20123         * info-daemon/NWManagerInfoDbus.c
20124                 - (shutdown_callback): new function
20125                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20126                         if NetworkManager goes away.  Kill the timeout
20127                         if NetworkManager restarts before the 30 seconds
20128                         are up.
20129                 - (nmi_dbus_service_init): 
20130                         - call gtk_main_quit if NetworkManager is not running
20131                         - add filters to monitor dbus service creations and
20132                                 deletions
20133         
20134 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20135
20136         * panel-applet/NMWirelessApplet.c
20137                 - (nmwa_update_state): Hide notification icon if we are only
20138                         showing one wired card and no wireless interfaces 
20139                         (Red Hat Bug #134895)
20140
20141         * panel-applet/NMWirelessAppletDbus.c
20142                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20143
20144         * info-daemon/NWManagerInfo.c
20145                 - (main): Terminated the notification_icon_cmd array with a NULL
20146
20147 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20148
20149         * configure.in (ALL_LINGUAS): Added de (German).
20150
20151 2004-10-08 Dan Williams <dcbw@redaht.com>
20152
20153         * src/NetworkManagerDevice.c
20154                 - Be a bit more robust about link checking, ie make sure that
20155                         the WEP key we were given actually has some data in it
20156
20157 2004-10-08 Dan Williams <dcbw@redhat.com>
20158
20159         * info-daemon/NetworkManagerInfo.c (main):
20160                 - Initialize GError object to NULL
20161
20162 2004-10-08 Dan Williams <dcbw@redhat.com>
20163
20164         * panel-applet/NMWirelessAppletDbus.c
20165                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20166
20167 2004-10-08 Dan Williams <dcbw@redhat.com>
20168
20169         * info-daemon/NetworkManagerInfo.[ch]
20170           info-dameon/NetworkManagerInfoDbus.[ch]
20171           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20172                 - Preserve original label text in the passphrase dialog so that
20173                         it actually gets updated with the new network name the next
20174                         time around.  Previously, we were overwriting it so you'd get
20175                         the wrong network name to enter a key for
20176                 - Add a "Key Type" combo to the passphrase dialog, user selects
20177                         encryption key type now, type is stored in GConf too
20178                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20179
20180         * src/NetworkManagerAP.[ch]
20181                 - Remove all the encyption method magic.  It's now set by the user
20182                         and NetworkManager retrieves the type of encryption key from
20183                         NetworkManagerInfo
20184
20185         * src/NetworkManagerAPList.[ch]
20186           src/NetworkManagerDbus.[ch]
20187                 - Adjust to new way of setting encryption key and method
20188                 - Pull encryption method down from NMI along with key
20189
20190         * src/NetworkManagerDevice.[ch]
20191                 - Removed encryption method fallback magic as the method is now
20192                         determined by the user.  This greatly simplifies the connection
20193                         logic.
20194                 - More robust connection/link logic.  Besides removing the encryption
20195                         method fallback magic, check whether or not the card is receiving
20196                         invalidly encrypted packets, which usually indicates that we have
20197                         a bad WEP key set.
20198                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20199
20200         * test/nminfotest.c
20201                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20202
20203 2004-10-07 Dan Williams <dcbw@redhat.com>
20204
20205         * info-daemon/NetworkManagerInfo.conf
20206                 - Allow root user to run NMI too
20207
20208 2004-10-06 Dan Williams <dcbw@redhat.com>
20209
20210         * src/NetworkManagerDevice.[ch]
20211           src/NetworkManagerDbus.c
20212           doc/NetworkManager DBUS API.txt
20213                 - Add a new status tag "scanning", which is set when there
20214                         is no active network connection, but NetworkManager is
20215                         looking for an access point to associate with
20216
20217         * panel-applet/main.c
20218                 - Cast the applet appropriately for gtk_widget_show_all ()
20219
20220 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20221
20222         * panel-applet/eggtrayicon.[ch]:
20223         * panel-applet/main.c: Add missing file
20224
20225 2004-10-04 Dan Williams <dcbw@redhat.com>
20226
20227         * src/NetworkManagerDevice.[ch]
20228                 - Add a slightly more robust method of determining if the WEP key
20229                         is correct or not, by checking the WEP-discarded packet count
20230                         on the card
20231
20232         * info-daemon/NetworkManagerInfo.c
20233                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20234                         un-escape values we pull out rather than escaping them
20235
20236 2004-10-03  Marcel Telka  <marcel@telka.sk>
20237
20238         * configure.in (ALL_LINGUAS): Added sk.
20239
20240 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20241
20242         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20243         and feel.  We should be back to working, and have a good, clean
20244         look.
20245
20246 2004-09-30 Dan Williams <dcbw@redhat.com>
20247
20248         * info-daemon/NetworkManagerInfo.c
20249           info-daemon/NetworkManagerInfoDbus.c
20250           test/nminfotest.c
20251                 - Escape ESSIDs in gconf
20252
20253         * src/NetworkManagerDevice.c
20254                 - Fix pseudo-scanning to use netowrk list from info daemon
20255
20256 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20257
20258         * configure.in: Add a temporary --enable-notification-icon.  This
20259         will prolly go away.
20260
20261         * info-daemon/Makefile.am:
20262         * info-daemon/NetworkManagerInfo.c:
20263         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20264
20265         * panel-applet/Makefile.am:
20266         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20267         * panel-applet/NMWirelessApplet.h:
20268
20269 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20270
20271         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20272         before 'select custom ESSID'.
20273
20274         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20275         fully complete, but syncing in prep for merge.
20276
20277         * panel-applet/icons/*png: New images
20278
20279 2004-09-28 Dan Williams <dcbw@redhat.com>
20280
20281         * src/NetworkManager.c
20282           src/NetworkManagerDevice.c
20283           src/NetworkManagerPolicy.c
20284                 - Don't blow away an active wired connection on startup
20285
20286 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20287
20288         Changes from J5
20289         
20290         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20291
20292         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20293         syslog output
20294
20295 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20296
20297         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20298         have a wireless card.
20299
20300 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20301
20302         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20303         Also, get the right device strings.
20304
20305 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20306
20307         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20308         the logic to make this right.
20309
20310         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20311         devices so that wired networks are always first.
20312
20313 2004-09-22    <clarkbw@cvs.gnome.org>
20314
20315         * initscript/Debian/.cvsignore:
20316         * initscript/Slackware/.cvsignore:
20317         Added new cvsignores for Makefile, Makefile.in
20318         
20319         * test/.cvsignore:
20320         Added nmtestdevices
20321         
20322         * src/NetworkManagerDevice.c: 
20323         * src/NetworkManager.c: 
20324         Updated the wireless/wired HAL device strings from net.ethernet to
20325         net.80203 or net.80211 depending on wired or wireless respectively
20326         
20327         * examples/python/NetworkManager.py: 
20328         s/Quality/Strength/
20329
20330         * examples/python/systray/network_tray.py:
20331         Lots of little changes and fixes.  been rotting for a while so I
20332         figured I'd finally sync them all with CVS
20333
20334 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20335
20336         * configure.in: Add graphics
20337
20338         * panel-applet/Makefile.am: Add graphics
20339
20340         * panel-applet/icons/*: Add graphics
20341
20342         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20343         the icons fully lined up.
20344
20345         * panel-applet/menu-info.c: 
20346         * panel-applet/menu-info.h: Add another menu type.
20347
20348 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20349
20350         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20351
20352         * panel-applet/menu-item.[ch]: Wireless menu item.
20353
20354 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20355
20356         * info-daemon/NetworkManagerInfo.conf
20357                 - Created a more robust security policy for the DBus service
20358                         - everything is denied by default
20359                         - root can own and send to the service
20360                         - users logged in at the console can send to the service
20361
20362 2004-09-13  Dan Williams <dcbw@redhat.com>
20363
20364         * src/NetworkManagerDevice.c
20365                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20366                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20367                         the latter
20368
20369 2004-09-13  Dan Williams <dcbw@redhat.com>
20370
20371         * TODO: fix typo
20372
20373         * docs/NetworkManager DBUS API.txt
20374                 - Update for new signal strength changes
20375
20376         * panel-applet/NMWirelessApplet.c
20377                 - Make panel icon show strength of the current connection
20378                 - Cleanups and memleak fixes
20379
20380         * panel-applet/NMWirelessApplet.h
20381                 - Add data members for signal strength on devices and networks
20382
20383         * panel-applet/NMWirelessAppletDbus.c
20384                 - Free more DBusErrors
20385                 - Update for new signal strength changes
20386                 - Make devices and networks more like real objects, use ref/unref methods
20387                 - Actually unlock the mutex when updating the active device
20388
20389         * src/NetworkManagerAP.c
20390                 - Change AP functions and data members from "quality"->"strength"
20391
20392         * src/NetworkManagerDbus.c
20393                 - Kill "getMaxQuality" and "getQuality" methods
20394                 - Add "getStrength" methods for Networks and Devices
20395
20396         * src/NetworkManagerDevice.[ch]
20397                 - Add accessors for device strength
20398                 - Add functions to update strength for a device.  Note that not all drivers
20399                         actually support signal strength for scanned access points (Atmel drivers
20400                         being one)
20401                 - Calculate signal strength for each AP during scan
20402
20403         * src/NetworkManagerWireless.[ch]
20404                 - Add function to return signal strength % from a device and a raw quality struct
20405
20406         * test/nmclienttest.c
20407                 - Update for new signal strength changes
20408
20409 2004-09-11  Dan Williams <dcbw@redhat.com>
20410
20411         * src/NetworkManager.c
20412                 - Fix race condition between initscripts and NM on card insertion
20413                         which could cause a card to keep an IP address and routes around
20414                         even when it was not the active device
20415
20416         * src/NetworkManagerDbus.c
20417                 - Fix compile errors, free more DBusErrors
20418
20419 2004-09-11  Dan Williams <dcbw@redhat.com>
20420
20421         * docs/NetworkManager DBUS API.txt
20422                 - Add an explanation of NM's API
20423
20424         * src/NetworkManagerDbus.c
20425                 - Free some more DBusErrors if needed
20426
20427 2004-09-11  Dan Williams <dcbw@redhat.com>
20428
20429         * panel-applet/NMWirelessApplet.c
20430           panel-applet/NMWirelessAppletDbus.c
20431                 - Start using NetworkDevice/WirelessNetwork structures in more places
20432                 - Update for unified device/network forcing in NetworkManager
20433
20434         * src/NetworkManager.c
20435                 - some code consolidation
20436
20437         * src/NetworkManagerDbus.c
20438                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20439                         or two arguments:  the first is the NM ID of the device to switch to,
20440                         and the second (optional) argument is the ESSID of a wireless network
20441                         to use as well.
20442                 - Get rid of "setNetwork" method due to above change
20443
20444         * src/NetworkManagerDevice.c
20445                 - (nm_device_new): perform scan and update best AP on device creation
20446                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20447                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20448                         spin waiting for cancellation to finish before returning
20449
20450         * src/NetworkManagerPolicy.c
20451                 - Changes here clarify the situations in which a device switch occurs, and 
20452                         make sure to keep using a forced device and network if the user gives
20453                         us one
20454                 - Remove old unused code
20455
20456 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20457
20458         * configure.in: Added Danish (da) to ALL_LINGUAS.
20459
20460 2004-09-09  Dan Williams <dcbw@redhat.com>
20461
20462         * panel-applet/NMWirelessAppletDbus.c
20463                 - Pull fresh devices and networks from NM when wireless networks
20464                         change.  Provides faster feedback of a forced wireless network
20465
20466         * src/NetworkManagerDbus.c
20467                 - Return error when "getMaxQuality" is called on a wired device
20468                 - Make best_ap freezing actually work again, and signal cancellation
20469                         of activation if there's already a device activation when the user
20470                         freezes the best_ap
20471
20472         * src/NetworkManagerDevice.c
20473                 - Don't clear out the best_ap for wireless devices when the link goes
20474                         down, that's done elsewhere
20475                 - Kill any dhcp daemons when cancelling device activation since they
20476                         may be stuck waiting for a DHCP address, and since we're cancelling
20477                         activation we don't care about that anymore
20478
20479         * src/NetworkManagerPolicy.c
20480                 - Make sure to unref the device we ref earlier (we refed it to make sure
20481                         it stuck around during device activation and such)
20482                 - If we were going to change the best device, but its activating currently
20483                         (and therefore the change didn't occur due to the check earlier)
20484                         we mark the state changed to we come back to it later when device
20485                         activation has canceled and its no longer activating
20486
20487         * src/backends/NetworkManagerRedHat.c
20488                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20489
20490 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20491
20492         * info-daemon/passphrase.glade: 
20493         set passphrase input to activates_default : True
20494
20495         * examples/python/systray/network_tray.py
20496         (network_tray.sort_networks):
20497
20498         Added support for having wireless always scanning
20499
20500 2004-09-09  Dan Williams <dcbw@redhat.com>
20501
20502         NOTE: this commit changes the behavior of wireless devices in
20503         NetworkManager.  They are now up all the time, scanning all
20504         the time.  Only the active device has an IP address and routing
20505         information set up however.  Also, NetworkManager will no longer
20506         opportunistically switch wireless networks when a better one
20507         comes in range, it will remain associated with one wireless network
20508         until that one drops out.
20509
20510         * panel-applet/NMWirelessApplet.c
20511           panel-applet/NMWirelessAppletDbus.c
20512                 - List all wireless cards and their respective networks
20513
20514         * src/NMLoadModules
20515                 - Use full path to /sbin/ip
20516
20517         * src/NetworkManager.c
20518                 - Keep wireless devices up all the time so they can scan
20519
20520         * src/NetworkManagerDbus.c
20521                 - On a WirelessNetworkUpdate signal from NMI, don't update
20522                         the "best" AP
20523
20524         * src/NetworkManagerDevice.c
20525                 - (nm_device_set_link_active): clear out the best ap for
20526                         wireless devices when the link is set to FALSE
20527                 - Scan on all wireless cards, all the time
20528                 - (nm_device_activation_worker): split out the wireless card
20529                         link-waiting code to a separate function
20530                 - Keep wireless cards up even if device activation fails
20531                 - Don't update the "best" ap as much
20532
20533         * src/NetworkManagerPolicy.c
20534                 - Don't update the best ap when checking if its frozen,
20535                         let link checking clear out a frozen best ap for us
20536
20537         * src/NetworkManagerWireless.c
20538                 - Scan on all wireless cards, all the time
20539
20540 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20541
20542         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20543
20544 2004-09-09  Ankit Patel <ankit@redhat.com>
20545
20546         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20547
20548 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20549
20550         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20551
20552 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20553
20554         * examples/python/NetworkManager.py: 
20555         added CONNECTED, CONNECTING, and DISCONNECTED states
20556         added methods to return number of devices of a single type
20557
20558         * examples/python/systray/network_tray.py: 
20559         did some tweaks to get the menu looking near what it is supposed
20560         to look like.  Also did a Airo card hack to make it show the
20561         correct AP quality
20562
20563 2004-09-08  Dan Williams <dcbw@redhat.com>
20564
20565         * panel-applet/no-networkmanager.png
20566           panel-applet/Makefile.am
20567           panel-applet/NMWirelessApplet.c
20568                 - Add a "NetworkManager not running" icon and use it
20569                 - Use new consolidated GConf keys rather than Preferred/Trusted
20570
20571         * TODO: update
20572
20573         * info-daemon/NetworkManagerInfo.c
20574           info-daemon/NetworkManagerInfoDbus.[ch]
20575           info-daemon/NetworkManagerInfoPassphraseDialog.c
20576                 - There are now no longer two separate lists of wireless networks,
20577                         but one list where each network is "trusted" or not trusted
20578                 - Add a "getNetworkTrusted" dbus method
20579                 - "WirelessNetworkUpdate" signal now sent rather than
20580                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20581                 - Start freeing some dbus errors (not completed yet)
20582
20583         * info-daemon/passphrase.glade
20584                 - Remove the "don't show" hints for pager and taskbar
20585                 - Add a title since its going to be in the taskbar
20586
20587         * src/NetworkManager.[ch]
20588           src/NetworkManagerAPList.[ch]
20589                 - There are now no longer two separate lists of wireless networks,
20590                         but one list where each network is "trusted" or not trusted
20591
20592         * src/NetworkManagerAP.[ch]
20593                 - Add get/set "trusted" accessors and data bit
20594
20595         * src/NetworkManagerDbus.[ch]
20596                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20597                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20598
20599         * src/NetworkManagerDevice.[ch]
20600                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20601                 - (nm_device_new): Get device config from backend when initializing devices
20602                 - (nm_device_activation_worker): Split out device configuration on
20603                         activation to deal with static/dynamic IP differences, and try encryption
20604                         fallbacks on a device if the encryption method for the best AP is not good
20605                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20606                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20607
20608         * src/NetworkManagerWireless.c
20609                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20610
20611         * src/backends/NetworkManagerRedHat.c
20612           src/backends/NetworkManagerSystem.h
20613                 - (nm_system_device_update_config_info): Add function to get device configuration
20614                         from system data in ifcfg-* files
20615
20616         * src/backends/NetworkManagerDebian.c
20617           src/backends/NetworkManagerGentoo.c
20618           src/backends/NetworkManagerSlackware.c
20619                 - Add stub functions for getting device configuration
20620
20621 2004-09-07  Dan Williams <dcbw@redhat.com>
20622
20623         * src/backends/NetworkManagerRedhat.c
20624           src/backends/NetworkManagerSlackware.c
20625                 - Use full path to /sbin/ip everywhere
20626
20627 2004-09-07  Dan Williams <dcbw@redhat.com>
20628
20629         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20630
20631         * configure.in
20632           initscript/Makefile.am
20633           initscript/Slackware/Makfile.am
20634           initscript/Slackware/rc.networkmanager
20635           src/Makefile.am
20636           src/backends/NetworkManagerSlackware.c
20637                 - Add Slackware support
20638
20639 2004-09-07  Dan Williams <dcbw@redhat.com>
20640
20641         Patches below from:
20642                 <j@bootlab.org>
20643                 Mark Roach <mrroach@okmaybe.com>
20644                 Thom May <thom@debian.org>
20645
20646         * configure.in
20647           initscript/Debian/NetworkManager
20648           initscript/Debian/Makefile.am
20649                 - Initscript for Debian
20650
20651         * src/backends/NetworkManagerDebian.c
20652                 - Add missing system init function to allow compilation
20653                         on Debian
20654
20655 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20656
20657         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20658
20659 2004-09-03  Akagic Amila <bono@linux.org.ba>
20660
20661         * configure.in: Added 'bs' to ALL_LINGUAS.
20662
20663 2004-09-02  Colin Walters  <walters@verbum.org>
20664
20665         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20666         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20667         g_strdup_printf instead of arbitrarily sized buffers.
20668
20669 2004-09-01  Colin Walters  <walters@verbum.org>
20670
20671         * NetworkManager.pc.in: New file.
20672
20673         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20674
20675 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20676         
20677         * configure.in: Punjabi(pa) is added to po/.
20678
20679 2004-08-31  Dan Williams <dcbw@redhat.com>
20680
20681         * Remove 'debug' extern global from all files since we now
20682                 use syslog()
20683
20684         * src/NetworkManager.[ch]
20685                 - Break out routine that get the net.interface property from HAL,
20686                         removing that logic from nm_create_device_and_add_to_list()
20687                 - (nm_create_device_and_add_to_list): make this a bit more general so
20688                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20689                         the create of test devices.
20690                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20691                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20692                         which makes NetworkManager listen for dbus commands to create test
20693                         devices, which have no backing hardware.  Use when you're on a plane
20694                         for example, and/or forgot your wireless card at home.  Test devices
20695                         _cannot_ be created unless NM is started with --enable-test-devices.
20696
20697         * src/NetworkManagerDbus.[ch]
20698                 - New "getLinkActive" method for devices
20699                 - New "setLinkActive" method for devices (only works on test devices)
20700                 - New "createTestDevice" method on NetworkManager object to create a test
20701                         device of a specified type (ie wired, wireless).  UDI is created from
20702                         scratch, as is the interface name.  Only works when NM is started with
20703                         --enable-test-devices switch.
20704                 - New "removeTestDevice" method on NetworkManager object which removes a
20705                         test device.  Only works when NM is started with --enable-test-devices
20706
20707         * src/NetworkManagerDevice.[ch]
20708                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20709                         whether a device is a test device or not, and what its link status is.
20710                 - Deal with test devices in most functions.  For those that work directly on hardware
20711                         special-case test devices.
20712                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20713                         command-line.
20714                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20715                         checking to separate functions to facilitate test device link checking.
20716                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20717                         don't make a distinction between System Authentication and Encryption
20718                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20719                         on the card.  We don't deal with Shared Key auth yet.
20720                 - (nm_device_activation_worker): split the activation cancel check logic out into
20721                         a separate routine nm_device_activation_cancel_if_needed()
20722                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20723                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20724                         a list of fake access points that they can "see"
20725                 - (nm_device_is_test_device): return whether or not a device is a test device
20726
20727         * src/NetworkManagerPolicy.c
20728                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20729                         previously if you "locked"/forced NM to use a wireless device but then
20730                         selected a wireless network for NM to use, it would switch to a wired device.
20731                         So, if the active device is wireless and it has a "forced" best AP, use it
20732                         if the "forced" best AP is still valid
20733                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20734                         there were no usable network devices, or the last one was removed
20735
20736         * src/backends/NetworkManager*.c
20737                 - Deal with test devices, mostly just return success for operations like getting
20738                         a DHCP address
20739
20740         * test/nmtestdevices.c
20741                 - Test tool to create/remove/link-switch test devices
20742
20743 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20744
20745         * examples/python/NetworkManager.py: 
20746         added convience functions has_wired_device and has_wireless_device
20747
20748         * examples/python/systray/network_tray.py: 
20749         cleaned up a bunch of cruft, added support for listing wireless
20750         networks just like the real applet.  This is probably all I'm
20751         going to work on this applet from now on.
20752         TODO: add support for actually changing networks and devices
20753
20754         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20755         changed "nm.networks" into a dict from a list so I can store all
20756         the cool information about networks in there
20757
20758         * examples/python/systray/network_tray.py: 
20759         Added nice message when you try to run without running make first
20760
20761         * examples/python/NetworkManager.py: 
20762         Bug fixes to the code so we get all the device information
20763         that we need in get_device()
20764         
20765         * examples/python/NMTester.py: 
20766         Fixed _print_device_list to print_device_list
20767
20768 2004-08-29  Seth Nickell  <seth@gnome.org>
20769
20770         * configure.in:
20771
20772         Actually properly setup the Debian backend in configure.
20773         
20774 2004-08-29  Colin Walters  <walters@verbum.org>
20775
20776         * test/nminfotest.c: Include string.h and stdlib.h.
20777         (get_network_string_property, get_networks_of_type): Return NULL.
20778
20779         * test/nmclienttest.c (get_device_name, get_active_device): Return
20780         NULL.
20781
20782         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20783         use strlen, fgets always NULL-terminates the string.
20784
20785         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20786         dbus_message_get_member): Remove /* in comment.
20787
20788         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20789
20790         * src/NetworkManager.c (quit): Unused, delete.
20791         (nm_data_free): Cast arg to GFunc.
20792
20793         * panel-applet/NMWirelessAppletDbus.c: Need to include
20794         string.h, and dbus-glib-lowlevel.h (the latter is needed
20795         for dbus_connection_setup_with_g_main at present).
20796         (nmwa_dbus_update_wireless_network_list): Parenthesize
20797         assignment in conditional.
20798         (nmwa_dbus_worker): Return NULL.
20799
20800         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20801         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20802         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20803         (nmwa_populate_menu): Return NULL on failure, instead of just
20804         return;
20805
20806         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20807
20808         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20809         variables.
20810
20811         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20812         delete.
20813         
20814 2004-08-29  Colin Walters  <walters@verbum.org>
20815
20816         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20817         a GTimeVal instead of time_t.  This is easier to work with,
20818         since time_t may be a long or double, we don't know.
20819
20820         * src/NetworkManagerDbus.h: Update prototype.
20821         
20822         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20823         instead of time_t.
20824         (nm_ap_get_timestamp): Update to return GTimeVal.
20825         (nm_ap_set_timestamp): Update to take GTimeVal.
20826         
20827         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20828         to handle GTimeVal.
20829
20830         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20831         GTimeVal change.
20832         (nm_ap_list_print_members): Fix warnings in printf format.
20833
20834 2004-08-29  Colin Walters  <walters@verbum.org>
20835         
20836         * panel-applet/NMWirelessApplet.c: Include config.h.
20837
20838 2004-08-29  Colin Walters  <walters@verbum.org>
20839
20840         * configure.in: Generate config.h.
20841
20842         * configure.in: Dump dependency on OpenSSL; we can't
20843         use it since this package is GPL:
20844         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20845         Instead, check for libgcrypt, use it if available,
20846         otherwise use included MD5 code.
20847
20848         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20849         Suck in from gnome-keyring, munge a bit.
20850         
20851         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20852         gnome-keyring-md5.h gnome-keyring-md5.c.
20853         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20854
20855         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20856         libgcrypt or included gnome-keyring md5 bits.
20857         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20858
20859 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20860
20861         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20862
20863 2004-08-27  Bryan Clark  <bclark@redhat.com>
20864
20865         * examples/python/systray/Makefile: 
20866
20867         Updated the clean section
20868         
20869         * examples/python/systray/trayiconmodule.c: 
20870         * examples/python/systray/trayicon.override: 
20871         * examples/python/systray/network_tray.py: 
20872         * examples/python/systray/eggtrayicon.h: 
20873         * examples/python/systray/eggtrayicon.c: 
20874         * examples/python/systray/Makefile: 
20875         * examples/python/README: 
20876         * examples/python/NetworkManager.py: 
20877         * examples/python/NMTester.py: 
20878
20879         Initial commit of these python example files
20880
20881 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20882
20883         * panel-applet/NMWirelessApplet.c
20884                 - Make current device bold
20885                 - Show more user-friendly device name if we got one from hal
20886
20887         * panel-applet/NMWirelessAppletDbus.c
20888                 - Grab "info.product" key from hal for network devices
20889                 - Cache the current active device
20890
20891 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20892
20893         * configure.in: Added en_CA to ALL_LINGUAS.
20894
20895 2004-08-27  Christian Rose  <menthos@menthos.com>
20896
20897         * configure.in: Added "sv" to ALL_LINGUAS.
20898
20899 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20900
20901         * Tag NetworkManager-0.2
20902
20903 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20904
20905         * initscripts/Makefile.am
20906         * configure.in: Make pass distcheck
20907
20908         * po/ChangeLog: added
20909
20910 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20911
20912         * panel-applet/NMWirelessApplet.c
20913                 - Remove debugging code
20914                 - Enable device switching from menus
20915
20916         * panel-applet/NMWirelessAppletDbus.[ch]
20917                 - Method for asking NM to switch devices
20918
20919         * src/NetworkManagerDevice.c
20920                 - Set dev->activating earlier, avoids race between
20921                         the dbus signal of "DeviceActivating" and setting
20922                         dev->activating (which is what NM's "status" method call
20923                         looks at)
20924
20925 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20926
20927         * panel-applet/NMWirelessApplet.[ch]
20928                 - Rework menu code to add devices to menu, and to show
20929                         signal strength for each access point.  Code cleanups
20930                         too.
20931
20932         * panel-applet/NMWirelessAppletDbus.c
20933                 - Grab network devices from NetworkManager too
20934                 - Grab quality information from NM for wireless networks
20935
20936         * src/NetworkManagerDbus.[ch]
20937                 - Add dbus methods for getting the HAL UDI from a device and
20938                         for getting its base quality, if its wireless
20939                 - Consolidate some functions (wireless network notifications,
20940                         device notifications)
20941                 - Add method for requesting NM to use a particular device
20942
20943         * src/NetworkManager.c
20944                 - Change for function consolidations from NetworkManagerDbus.c
20945                 - Implement active device locking and user-requested devices
20946                         (ie, tell NM to use a particular device instead of the one
20947                         it autochose)
20948
20949         * src/NetworkManagerDevice.c
20950                 - Add method for getting the base quality of a device, if its
20951                         wireless
20952                 - Grab device base quailty info from iwlib during scans
20953
20954         * src/NetworkManagerPolicy.c
20955                 - Use a user-requested device rather than the auto-chosen device
20956                         if we are told to
20957
20958 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20959
20960         * Makefile.am: add po as a supdir
20961
20962         * autogen.sh: use gnome-autogen.sh
20963
20964         * initscript/Gentoo/.cvsignore:
20965         * initscript/RedHat/.cvsignore: Shut up cvs
20966
20967         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20968
20969         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20970         (nmwa_fill): Use gettext.
20971
20972         * configure.in: add gettext support
20973         * po/.cvsignore:
20974         * po/NetworkManager.pot:
20975         * po/POTFILES.in:
20976
20977 2004-08-26  Seth Nickell  <seth@gnome.org>
20978
20979         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20980         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20981         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20982         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20983         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20984         * panel-applet/NMWirelessApplet.h:
20985
20986         Use a menu bar instead of a button for the main clickable
20987         thingy.
20988         
20989 2004-08-25  Dan Williams <dcbw@redhat.com>
20990
20991         * src/NetworkManagerDevice.c
20992                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20993                         turning encryption off, because the Cisco driver doesn't associate
20994                         with WEP-enabled access points unless we are in "open"
20995
20996 2004-08-25  Dan Williams <dcbw@redhat.com>
20997
20998         * src/NetworkManagerWireless.c
20999                 - Don't try to defererence blank passphrases
21000
21001 2004-08-25  Dan Williams <dcbw@redhat.com>
21002
21003         * panel-applet/NMWirelessApplet.c
21004                 - Rebuild the menu whenever a user clicks
21005
21006 2004-08-25  Dan Williams <dcbw@redhat.com>
21007
21008         * panel-applet/NMWirelessApplet.c
21009                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21010                         when NM isn't around or when its not connected
21011
21012         * src/NetworkManagerDevice.c
21013                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21014                         canceled.
21015
21016 2004-08-25  Dan Williams <dcbw@redhat.com>
21017
21018         * panel-applet/NMWirelessAppletDbus.c
21019                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21020                         for getting encryption, and don't stop on "val" once we've gotten it
21021                         from NetworkManager.  Short form:  encryption should now show up.
21022
21023 2004-08-25  Dan Williams <dcbw@redhat.com>
21024
21025         * panel-applet/NMWirelessApplet.c
21026                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21027                         network to associate with
21028
21029 2004-08-25  Dan Williams <dcbw@redhat.com>
21030
21031         * panel-applet/*
21032                 - Rework the panel applet to do all DBUS communication in a separate
21033                         thread
21034
21035 2004-08-25  Dan Williams <dcbw@redhat.com>
21036
21037         * info-daemon/NetworkManagerInfo.[ch]
21038                 - Remove "get_next_priority" function
21039
21040         * info-daemon/NetworkManagerInfoDbus.[ch]
21041                 - Convert "priority" functions to "timestamp"
21042
21043 2004-08-25  Dan Williams <dcbw@redhat.com>
21044
21045         * src/NetworkManagerAP.[ch]
21046                 - Add a "enc_method_good" member and accessors to an Access Point
21047                         to signal when we've found the correct encryption method
21048                         for an access point
21049                 - Add a "timestamp" member and accessors, remove "priority" member
21050                         and accessors (use timestamps instead)
21051                 - Rename "wep_key"->"enc_key"
21052                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21053                         for a specified encryption method using the access points
21054                         source encryption key/passphrase
21055
21056         * src/NetworkManagerAPList.c
21057                 - When updating a network with dbus, grab timestamp now instead of
21058                         priority
21059
21060         * src/NetworkManagerDBus.[ch]
21061                 - Add signal for "DeviceActivating"
21062                 - Switch priority->timestamp
21063
21064         * src/NetworkManagerDevice.c
21065                 - Change references of "wep_key" -> "enc_key" or "key"
21066                 - Signal DeviceActivating when starting activation
21067                 - When activating a wireless device, if the access point we are connecting
21068                         to is encrypted, and we have a source key, try to generate a mangled
21069                         key and use that (ie, generate real WEP key from a passphrase)
21070                 - Rework device activation to fallback to other encryption methods if
21071                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21072                         first, then if that doesn't work fall back to direct hex key).
21073                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21074                         priority.  We now prefer the latest access point used, rather than using
21075                         a priority scheme
21076                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21077                         points we've just discovered, and merge in correct info from the global
21078                         access point lists
21079
21080 2004-08-25  Seth Nickell  <seth@gnome.org>
21081
21082         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21083         Debian support.
21084         
21085         * src/Makefile.am:
21086         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21087         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21088         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21089         (nm_system_delete_default_route),
21090         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21091         (nm_system_load_device_modules):
21092
21093 2004-08-24  Dan Willemsen <dan@willemsen.us>
21094
21095         * src/NetworkManager.c
21096           src/backends/NetworkManagerGentoo.c
21097           src/backends/NetworkManagerRedHat.c
21098           src/backends/NetworkManagerSystem.h
21099                 - Implement preliminary Gentoo support, adding a
21100                         nm_system_init function to the backend specification
21101
21102         * configure.in
21103                 - Distribution auto-detection, lowercase any user-fed
21104                         distribution names
21105
21106         * initscript/.cvsignore
21107           initscript/Makefile.am
21108           initscript/RedHat/Makefile.am
21109           initscript/RedHat/NetworkManager
21110           initscript/Gentoo/Makefile.am
21111           initscript/Gentoo/NetworkManager
21112                 - Refactored initscript code separately for each
21113                         distribution
21114
21115 2004-08-23  Dan Williams <dcbw@redhat.com>
21116
21117         * configure.in
21118           src/Makefile.am
21119           src/NetworkManagerDevice.c
21120           src/NetworkManager.c
21121           src/NetworkManagerUtils.[ch]
21122           src/backends/NetworkManagerSystem.h
21123           src/backends/NetworkManagerRedHat.c
21124           src/backends/NetworkManagerGentoo.c
21125                 - Refactor system-specific code into separate backends for
21126                         each distribution
21127
21128 2004-08-23  Dan Willemsen <dan@willemsen.us>
21129
21130         * dispatcher-daemon/NetworkManagerDispatcher.c
21131           info-daemon/NetworkManagerInfo.[ch]
21132           info-daemon/NetworkManagerInfoDbus.c
21133           info-daemon/NetworkManagerInfoPassphraseDialog.c
21134           src/NetworkManager.c
21135           src/NetworkManagerAP.c
21136           src/NetworkManagerAPList.c
21137           src/NetworkManagerDbus.c
21138           src/NetworkManagerDevice.c
21139           src/NetworkManagerPolicy.c
21140           src/NetworkManagerUtils.[ch]
21141           src/NetworkManagerWireless.c
21142                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21143
21144         * src/NetworkManager.c
21145                 - Fixed usage wording for --no-daemon
21146
21147 2004-08-23  Dan Williams <dcbw@redhat.com>
21148
21149         * panel-applet/NMWirelessApplet.c
21150                 - Update our state every second to get more responsive panel icon
21151                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21152                         was causing our marching ants status blips to never move when
21153                         looking for a wireless network
21154
21155         * src/NetworkManagerDevice.c
21156                 - (nm_device_activation_begin): return if activation has already begun
21157                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21158                         trusted/preferred network into the device's access point when the
21159                         scan list is processed
21160
21161 2004-08-23  Dan Williams <dcbw@redhat.com>
21162
21163         * initscript/NetworkManager
21164                 - Use NMLaunchHelper rather than sleeping
21165
21166         * initscript/NMLaunchHelper.c
21167           Makefile.am
21168                 - Add helper program that exits only when NM activates a device,
21169                         or 10 seconds have passed, whichever happens first.  This
21170                         stops the boot processes until we have a network connection,
21171                         which NM can't do because it daemonizes and brings the connection
21172                         up in the background.  Allows stuff like NFS to not die.
21173
21174 2004-08-20  Dan Williams <dcbw@redhat.com>
21175
21176         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21177                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21178                         for a network, set the essid as well since it may not exist yet
21179                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21180                         since WEP keys/passphrases are long and prone to entry-error
21181
21182         * panel-applet/Makefile.am
21183           panel-applet/wired.png
21184                 - Add (pulled from system-config-network temporarily)
21185
21186         * panel-applet/NMWirelessApplet.[ch]
21187                 - Show wired picture when a wired connection is used
21188                 - Rename wireless icon enums, adding WIRELESS
21189
21190         * src/NetworkManagerDevice.c
21191                 - (nm_device_activate_wireless): unset encryption before bringing
21192                         down the card and setting the essid
21193                 - (nm_device_activatin_worker): request a key from the user if the
21194                         AP we are connecting to is encrypted but we don't have a key
21195                         for it yet
21196                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21197                         strcmp() that prevented a user-entered key from actually getting
21198                         used
21199
21200 2004-08-16  Dan Williams <dcbw@redhat.com>
21201
21202         * initscript/NetworkManager
21203                 - Check for /sbin/ip
21204                 - Do sysctl magic that network service does
21205                 - sleep 4s after start to allow network time to come up [hack]
21206
21207         * src/Makefile.am
21208           src/NMLoadModules
21209                 - Load all network device kernel modules (hal doesn't know devices
21210                         are ethernet until the module is loaded, and therefore we don't know)
21211
21212         * src/NetworkManager.c
21213                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21214                         network devices, and bring up the loopback device explicitly
21215
21216         * src/NetworkManagerUtils.[ch]
21217                 - (nm_enable_loopback): new function
21218
21219 2004-08-13  Dan Williams <dcbw@redhat.com>
21220
21221         * configure.in
21222           panel-applet/Makefile.am
21223                 - Fix up cleanfiles and server_DATA/server_in_files
21224
21225         * README
21226                 - Update with some comments on theory of operation
21227
21228         * CONTRIBUTING
21229           Makefile.am
21230                 - Add CONTRIBUTING
21231
21232 2004-08-12  Dan Williams <dcbw@redhat.com>
21233
21234         * info-daemon/passphrase.glade
21235                 - Set window title to " "
21236
21237         * panel-applet/Makefile.am
21238           panel-applet/keyring.png
21239                 - Deliver to correct place
21240
21241         * panel-applet/NMWirelessApplet.[ch]
21242                 - Add comments
21243                 - Remove applet->have_active_device as its no longer used
21244                 - (nmwa_load_theme): load keyring.png too
21245                 - (error_dialog): remove
21246                 - (show_warning_dialog): subsume functionality of error dialog too
21247                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21248                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21249                         the networks menu
21250                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21251                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21252                         and when we get broadcasts of changed wireless access points only, not when the
21253                         user clicks on the button to display the menu (too long of a wait)
21254                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21255                         networks that are encrypted
21256                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21257                         menu item with g_object_set_data()
21258
21259         * panel-applet/NMWirelessAppletDbus.[ch]
21260                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21261                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21262                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21263                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21264                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21265                         activation/deactivation signals and rebuild the menu when they happen
21266
21267         * src/NetworkManager.c
21268                 - (main): use new nm_spawn_process() rather than system()
21269
21270         * src/NetworkManagerDbus.c
21271                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21272                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21273                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21274                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21275                         to freeze the best_ap.
21276
21277         * src/NetworkManagerDevice.[ch]
21278                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21279                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21280                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21281                         ap list
21282
21283         * src/NetworkManagerUtils.[ch]
21284                 - (nm_spawn_process): add replacement for system() usage
21285
21286 2004-08-11  Dan Williams <dcbw@redhat.com>
21287
21288         * panel-applet/NMWirelessApplet.[ch]
21289                 - Fix up copyright and credits to include Bastien and Eskil,
21290                         who created the gnome-applets wireless applet, from whose
21291                         skeleton this one was created
21292                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21293                         pixmap to draw is computed during nmwa_update_state()
21294                 - Applet now shows itself all the time due to panel packing issues
21295                         which caused the applet to previously never come back after hiding.
21296                         When a wired device is the active device, the applet shows "not connected"
21297
21298         * panel-applet/NMWirelessAppletDbus.[ch]
21299                 - Clean up error messages and show what function they are from
21300                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21301                 - Add new device type getters, and a status getter
21302
21303         * src/NetworkManagerDbus.c
21304                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21305                         network is actually in the device's ap list
21306                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21307
21308         * src/NetworkManagerDevice.c
21309                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21310                         card
21311
21312         * test/nmclienttest.c
21313                 - Report status of NetworkManager too
21314
21315 2004-08-11  Dan Williams <dcbw@redhat.com>
21316
21317         * info-daemon/NetworkManagerInfo.c:
21318                 - (main): clean up Seth's code style
21319
21320         * info-daemon/NetworkManagerInfoDbus.c:
21321                 - Use the more aptly-named path/service/interface constants from NetworkManager
21322                 - Don't return empty strings ("") as object paths ever, instead return errors
21323
21324         * panel-applet/NMWirelessApplet.c:
21325                 - Clean up Seth's code style
21326
21327         * src/NetworkManager.[ch]
21328                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21329                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21330
21331         * src/NetworkManagerAPList.[ch]
21332                 - Move Iter struct right above the iter functions to preserve opacity
21333                 - (nm_ap_list_remove_ap): implement
21334                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21335                         remove AP if NetworkManagerInfo doesn't know anything about it
21336                 - (nm_ap_list_diff): user NMAPList iterators
21337                 - (nm_ap_list_print_members): implement debugging function
21338
21339         * src/NetworkManagerDbus.[ch]
21340                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21341                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21342                         and move the actual key setting stuff into NetworkManagerDevice.c
21343                 - (nm_dbus_get_network_priority): return -1 now on errors
21344                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21345                         get lost, and force the active device to update its "best" ap when AP lists change
21346                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21347                         method call due to pending_device member removal
21348
21349         * src/NetworkManagerDevice.[ch]
21350                 - Move NMDevice structure to the top
21351                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21352                 - Remove Pending Action stuff from everywhere
21353                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21354                         activation for us.  This thread blocks until all conditions for activation have
21355                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21356                         then setup up the interface and runs dhclient.  We have to do this because there
21357                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21358                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21359                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21360                         can tell nm_device_activation_worker() that we've got a key
21361                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21362                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21363                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21364                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21365
21366         * src/NetworkManagerPolicy.c
21367                 - Remove anything to do with pending_device
21368                 - Adjust device activation to deal with activation-in-worker-thread
21369
21370         * src/NetworkManagerUtils.c
21371                 - Clean up locking debugging a bit
21372
21373         * src/NetworkManagerWireless.[ch]
21374                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21375                         was badly named and is better as a device function
21376
21377         * panel-applet/.cvsignore: add
21378
21379 2004-08-09  Seth Nickell  <seth@gnome.org>
21380
21381         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21382         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21383         (nmwa_new):
21384         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21385
21386         Don't load the menus until clicked on (also removes a call outside
21387         normal code paths at first load).
21388
21389         Hide applet when NM is not present.
21390         
21391         Improve printf debugging stuff.
21392         
21393 2004-08-09  Dan Williams <dcbw@redhat.com>
21394
21395         * dispatcher-daemon/NetworkManagerDispatcher.c:
21396                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21397                 - Use constants for NetworkManager interface, service, and path
21398
21399 2004-08-09  Dan Williams <dcbw@redhat.com>
21400
21401         * src/NetworkManagerDbus.c:
21402                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21403                         instead return an error message
21404                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21405                         on a wired device.  Also never return an empty object path, instead return an error message
21406
21407 2004-08-06  Seth Nickell  <seth@gnome.org>
21408
21409         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21410
21411         Check the error code when getting a connection.
21412         
21413         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21414
21415         Check if the NM service exists when initializing (rather than
21416         assuming it does not).
21417         
21418         * src/NetworkManagerDbus.c: (nm_dbus_init):
21419
21420         Don't acquire the well-known service name until we have
21421         registered object/path handlers and can actually receive
21422         calls.
21423         
21424 2004-08-06  Dan Williams <dcbw@redhat.com>
21425
21426         * panel-applet/*
21427                 - Add panel applet
21428
21429         * src/NetworkManagerPolicy.c
21430           src/NetworkManager.c
21431                 - Get access point lists from NetworkManagerInfo on-demand,
21432                         and look for ServiceCreate/ServiceDeleted signals to see when
21433                         we should query NMI for lists
21434         * src/NetworkManagerAPList.c
21435                 - Make sure to init the list's mutex
21436                 - Convert traversals of the list over to the list iter functions
21437
21438         * src/NetworkManagerDbus.[ch]
21439                 - Use more aptly-named path/service/interface constants
21440                 - Treat both active and pending devices the same for "getActiveDevice"
21441                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21442
21443         * src/NetworkManagerDevice.c
21444                 - Honor "ignored" network list when picking best ap to use
21445
21446 2004-08-06  Seth Nickell  <seth@gnome.org>
21447
21448         * aclocal.m4:
21449
21450         Autogenerated, remove from CVS.
21451         
21452         * autogen.sh:
21453
21454         Don't hardcode automake version.
21455         
21456         * configure.in:
21457         * info-daemon/Makefile.am:
21458         * info-daemon/NetworkManagerInfo.c: (main):
21459
21460         Use GnomeProgram et al. for doing session management.
21461         Use popt stuff for argument parsing rather than doing
21462         it manugally.
21463         
21464 2004-08-05  Dan Williams <dcbw@redhat.com>
21465
21466         * test/nminfotest.c
21467                 - Update to new NMI dbus API, check different network types
21468
21469         * info-daemon/NetworkManagerInfoDbus.c
21470                 - Update to new NM dbus API, ie network type sent in query message
21471
21472 2004-08-05  Dan Williams <dcbw@redhat.com>
21473
21474         * An assload of changes
21475
21476 2004-08-02  Dan Williams <dcbw@redhat.com>
21477
21478         * TODO
21479                 - new task: proper logging support
21480
21481         * info-daemon/NetworkManagerInfo.c
21482                 - Correct spelling of "canceled"
21483                 - Correct casting of objects for g_signal_connect()
21484
21485         * info-daemon/NetworkManagerInfoDbus.c
21486                 - Add defines for NetworkManager namespace and object path, and use them
21487                 - Add filter function to trap new signals from NetworkManager:
21488                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21489
21490         * info-daemon/passphrase.glade
21491                 - Change name of "ok" button to "Login to Network..."
21492                 - Mark invisible
21493
21494         * src/NetworkManager.c
21495                 - Code and debug message cleanups
21496                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21497                 - (nm_add_initial_devices) Check returned string array of devices
21498                         and don't try to add devices if array is NULL
21499                 - (main) Initialize libhal a bit later, make code a bit clearer
21500
21501         * src/NetworkManagerAP.[ch]
21502                 - New accessor and data member "matched": used to speed up AP list
21503                         diffing
21504                 - New accessor and data member "enc_method": will be used during key
21505                         fallback to cache which passphrase->key conversion actually works
21506                         so we don't have to do it every time
21507
21508         * src/NetworkManagerAPList.[ch]
21509                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21510                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21511                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21512                         dbus in response to those differences
21513
21514         * src/NetworkManagerDbus.[ch]
21515                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21516                         make an object path for that access point (NOTE that we don't yet check to
21517                         make sure that access point is actually in the device's AP list yet)
21518                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21519                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21520                         New: signal appearance/disappearance of wireless networks
21521                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21522                         key entry
21523
21524         * src/NetworkManagerDevice.[ch]
21525                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21526                 - (nm_device_ap_list_get) New: return the AP list (static function)
21527                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21528                         new one resulting from the scan with the old one
21529
21530         * src/NetworkManagerWireless.c
21531                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21532
21533         * test/nminfotest.c
21534                 - #define object paths and namespaces and use the #defines rather than static strings
21535                 - Test out user-key functionality of NetworkManagerInfo too
21536
21537 2004-07-29  Dan Williams <dcbw@redhat.com>
21538
21539         * info-daemon/NetworkManagerInfoDbus.c
21540           src/NetworkManagerDbus.c
21541                 - Update to current DBus (ie don't use decomposed paths when registering
21542                         object paths/fallbacks)
21543
21544 2004-07-27  Dan Williams <dcbw@redhat.com>
21545
21546         * Remove various Makefile.in files
21547
21548         * TODO
21549                 - Add some more items
21550
21551         * configure.in
21552                 - Add checks for OpenSSL/md5 headers and libs
21553
21554         * src/Makefile.am
21555                 - Use OpenSSL CFLAGS
21556
21557         * src/NetworkManagerAP.[ch]
21558                 - Remove 'stamp' functions, replace with 'invalid' functions
21559                         to support user cancelling WEP key entry
21560
21561         * src/NetworkManagerDbus.c
21562                 - Remove 'stamp' return functions
21563                 - Treat returned user key as a passphrase and convert to a WEP key,
21564                         but don't actually use the WEP key yet.  We use the returned user
21565                         key as a hexadecimal WEP key until we can figure out a UI for
21566                         passphrase-vs-hex key
21567
21568         * src/NetworkManagerWireless.[ch]
21569                 - Add passphrase-to-128bit-key function
21570
21571 2004-07-27  Dan Williams <dcbw@redhat.com>
21572
21573         * TODO
21574                 - Add a couple of items
21575
21576 2004-07-27  Dan Williams <dcbw@redhat.com>
21577
21578         * info-daemon/NetworkManagerInfo.c
21579                 - Update allowed network's GConf key when user enters a WEP key explicitly
21580
21581         * info-daemon/NetworkManagerDbus.c
21582                 - Fix some comments
21583                 - nmi_dbus_get_allowed_networks(): kill warning
21584
21585 2004-07-27  Dan Williams <dcbw@redhat.com>
21586
21587         * initscript/Makefile.in
21588                 - Remove
21589
21590         * initscript/Makefile.am
21591                 - Add correct rules to install the init.d initscript
21592
21593         * info-daemon/NetworkManagerInfoDbus.c
21594                 - Remove debug fprintf
21595
21596         * src/NetworkManagerDbus.[ch]
21597                 - Remove debug fprintfs
21598                 - Add macros for NetworkManagerInfo object path/namespace
21599                 - Use said macros instead of constant strings
21600
21601 2004-07-27  Dan Williams <dcbw@redhat.com>
21602
21603         * initscript/.cvsignore
21604                 - Add
21605
21606         * info-daemon/Makefile.am
21607                 - Install .glade files and keyring.png
21608                 - Fix stupid omission of a \ that caused half the flags not to be
21609                         passed to gcc
21610
21611         * info-daemon/NetworkManagerInfo.c
21612                 - gtk_signal_connect->g_signal_connect
21613                 - Alert NetworkManagerInfo to new glade file location
21614
21615 2004-07-27  Dan Williams <dcbw@redhat.com>
21616
21617         * test/nmclienttest.c
21618           test/nminfotest.c
21619                 - Add missing <dbus/dbus.h> headers
21620                 - Add GPL message at top
21621
21622 2004-07-27  Dan Williams <dcbw@redhat.com>
21623
21624         * src/NetworkManagerAPList.[ch]
21625           src/Makefile.am
21626                 - Add.  Deal with allowed network list additions, deletions, and updates
21627
21628         * dispatcher-daemon/NetworkManagerDispatcher.c
21629                 - Add missing <dbus/dbus.h> header
21630
21631         * info-daemon/NetworkManagerInfo.[ch]
21632                 - Add missing <dbus/dbus.h> header
21633                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21634                         network change
21635                 - Better error checking
21636
21637         * info-daemon/NetworkManagerInfoDbus.[ch]
21638                 - Add missing <dbus/dbus.h> header
21639                 - Convert to using dbus_message_append_args/dbus_message_get_args
21640                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21641                         that an allowed network changed.  We don't want to signal on individual
21642                         keys _inside_ an allowed network really, just want NM to query the info
21643                         daemon for updated info on all keys.
21644                 - Better error checking
21645
21646         * src/NetworkManager.[ch]
21647                 - Add missing <dbus/dbus.h> header
21648                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21649                 - Zero out NMData structure on free
21650                 - No longer use a thread for allowed_ap_list updating, instead its now done
21651                         through dbus queries against NetworkManagerInfo
21652                 - Populate allowed_ap_list initially before adding existing network devices
21653                         to the device list, so wireless devices can get their "best" AP
21654
21655         * src/NetworkManagerDbus.[ch]
21656                 - Convert to using dbus_message_append_args/dbus_message_get_args
21657                 - Better error checking
21658                 - Implement Allowed Network info functions to request allowed network
21659                         info from NetworkManagerInfo
21660                 - Implement the filter function to process signals from NetworkManagerInfo
21661                         about changing allowed networks
21662
21663         * src/NetworkManagerDevice.c
21664                 - Fix file descriptor leak in nm_device_update_ip4_address()
21665
21666 2004-07-27  Dan Williams <dcbw@redhat.com>
21667
21668         * .cvsignore
21669           src/.cvsignore
21670           test/.cvsignore
21671           dispatcher-daemon/.cvsignore
21672           info-daemon/.cvsignore
21673                 - Add .cvsignore files to reduce noise when diffing
21674
21675 2004-07-24  Dan Williams <dcbw@redhat.com>
21676
21677         * src/NetworkManager.[ch]
21678           src/NetworkManagerDbus.[ch]
21679           src/NetworkManagerDevice.[ch]
21680           src/NetworkManagerPolicy.c
21681           src/NetworkManagerWireless.[ch]
21682                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21683                 - Pass the NMData application data structure through all calls
21684                         that need it so we can get rid of nm_get_global_data()
21685                 - Change deallocation of the allowed_ap_list GSList in preparation
21686                         for not completely clearing it every time we get an update,
21687                         but instead getting incremental updates via GConf/dbus
21688
21689 2004-07-22  Dan Williams <dcbw@redhat.com>
21690
21691         * configure.in
21692                 - Add checks for GConf libs & headers & flags
21693
21694         * info-daemon/Makefile.am
21695                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21696
21697         * info-daemon/NetworkManagerInfo.[ch]
21698                 - Don't use gquarks for data storage, just use normal data storage
21699                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21700
21701         * info-daemon/NetworkManagerDbus.[ch]
21702                 - Add method call for getting allowed networks
21703                 - Add method calls for getting an allowed network's essid, priority, and key
21704                 - Hook the method calls up to GConf
21705                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21706                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21707                 
21708         * src/NetworkManagerDbus.[ch]
21709                 - Switch for enumeration of networks to using essid instead
21710
21711         * test/Makefile.am
21712           test/nminfotest.c
21713                 - Add test program for NetworkManagerInfo
21714
21715 2004-07-19  Dan Williams <dcbw@redhat.com>
21716
21717         * src/NetworkManagerDbus.c
21718                 - Switch from indexed device paths to names.  Less code, more efficient.
21719                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21720
21721 2004-07-19  Dan Williams <dcbw@redhat.com>
21722
21723         * dispatcher-daemon/NetworkManagerDispatcher.c
21724                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21725
21726 2004-07-19  Dan Williams <dcbw@redhat.com>
21727
21728         * Makefile.am
21729                 - Add info-daemon directory
21730
21731         * configure.in
21732                 - Check for glade libs and headers
21733                 - Add info-daemon directory
21734
21735         * src/NetworkManagerAP.c
21736                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21737                         copied over to the new AP.
21738
21739         * src/NetworkManagerDbus.c
21740           src/NetworkManagerDbus.h
21741                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21742                 - Remove nm_dbus_signal_need_key_for_network()
21743                 - Add disabled code for asynchronous user wep key callbacks
21744                 - Add functions for getting, setting, and cancelling user key operations
21745                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21746                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21747
21748         * src/NetworkManagerDevice.c
21749           src/NetworkManagerDevice.h
21750                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21751                         logic is in device activation now
21752                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21753                         key is wrong) trigger get-user-key pending action
21754                 - Implement get-user-key pending action stuff, tie to dbus messages
21755                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21756                 - Add nm_device_ap_list_get_ap_by_essid()
21757                 - Instead of copying "best" access points, ref them instead so that the key we set
21758                         sticks around
21759
21760         * src/NetworkManagerPolicy.c
21761                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21762                 - Don't cancel pending actions on a device if its the same device as last iteration
21763                 - Only promote pending_device->active_device if activation was successfull
21764
21765         * src/Makefile.am
21766                 - Rename nmclienttest->nmtest
21767
21768         * info-daemon/Makefile.am
21769           info-daemon/NetworkManagerInfo.c
21770           info-daemon/NetworkManagerInfo.h
21771           info-daemon/NetworkManagerInfoDbus.c
21772           info-daemon/NetworkManagerInfoDbus.h
21773           info-daemon/passphrase.glade
21774           info-daemon/NetworkManagerInfo.conf
21775           info-daemon/keyring.png
21776                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21777                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21778                         lists to NetworkManager by proxying user's GConf
21779           
21780
21781 2004-07-15  Dan Williams <dcbw@redhat.com>
21782
21783         * src/Makefile.am
21784                 - Turn on warnings
21785
21786         * src/NetworkManager.c
21787                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21788                         that doing the deactivation ourselves
21789                 - Cancel an pending actions on a device if its being removed
21790                 - Break up link state checking a bit, make non-active wireless cards
21791                         deactivated to save power
21792                 - Remove unused variables
21793
21794         * src/NetworkManager.h
21795                 - Add support for "pending" device
21796
21797         * src/NetworkManagerAP.h
21798           src/NetworkManagerAP.c
21799                 - Add support for determining whether and AP has encryption enabled or not
21800                 - AP address is now "struct ether_addr" rather than a string
21801
21802         * src/NetworkManagerDbus.h
21803           src/NetworkManagerDbus.c
21804                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21805                 - Changes for AP address from struct ether_addr->string
21806
21807         * src/NetworkManagerDevice.h
21808           src/NetworkManagerDevice.c
21809                 - Remove unused variables, fix warnings
21810                 - Add support for Pending Actions (things that block a device from being "active"
21811                         until they are completed).
21812                 - First pending action:  Get a WEP key from the user
21813                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21814                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21815                 - Update wireless link checking to try to determine if the AP we are associated
21816                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21817                         trigger the GetUserKey pending action on the device
21818                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21819                         up in that case, otherwise we can't scan or link-check on it
21820                 - Add IP address change notifications at appropriate points (still needs some work)
21821                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21822
21823         * src/NetworkManagerPolicy.h
21824           src/NetworkManagerPolicy.c
21825                 - Split out "best" access point determiniation into separate function
21826                 - Make device activation 2-stage:  first the device is pending, then
21827                         in the next iteration through it becomes "active" unless it has
21828                         pending actions
21829
21830         * src/NetworkManagerUtils.h
21831           src/NetworkManagerUtils.c
21832                 - Clean up unused variables and warnings
21833                 - Wrap our debug macros in {} to prevent possible confusion
21834
21835         * src/NetworkManagerWireless.c
21836                 - Forgot to return current best priority, which lead to last available AP always
21837                         being chosen no matter what its priority was.  Corrected.
21838
21839 2004-07-15  Dan Williams <dcbw@redhat.com>
21840
21841         * dispatcher-daemon/Makefile.am
21842                 - Turn on warnings
21843
21844         * dispatcher-daemon/NetworkManagerDispatcher.c
21845                 - Remove unused variables due to warnings
21846                 - Fix some comments
21847                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21848
21849 2004-07-06  Dan Williams <dcbw@redhat.com>
21850
21851         * src/NetworkManager.c
21852                 - Add IPv4 address update for active device during link state check
21853                 - Don't allow wireless cards to be powered up when they are not the
21854                         active device
21855
21856         * src/NetworkManagerDbus.c
21857           src/NetworkManagerDbus.h
21858                 - Add DBUS IPv4 address change signal
21859                 - Add DBUS IPv4 address get method for devices
21860
21861         * src/NetworkManagerDevice.c
21862                 - Make setting the WEP key actually work
21863                 - Move IP address get/set/update stuff here, per-device
21864                 - Power down/bring down wireless device when deactivated
21865                 - For scanning wireless devices, if first scan returned ENODATA, try again
21866
21867         * src/NetworkManagerPolicy.c
21868                 - Only set the WEP key for an allowed access point if there is one.
21869                         We were setting it to be blank if one wasn't specified.
21870
21871         * src/NetworkManagerUtils.h
21872           src/NetworkManagerUtils.c
21873                 - Move the IP address stuff to NetworkManagerDevice.c
21874
21875         * dispatcher-daemon/NetworkManagerDispatcher.c
21876                 - Add device IPv4 address change notification stuff
21877
21878 2004-07-05  Dan Williams <dcbw@redhat.com>
21879
21880         * dispatcher-daemon/NetworkManagerDispatcher.c
21881                 - A bit more descriptive state message
21882                 - Don't segfault when reading directory
21883
21884         * src/NetworkManager.h
21885                 - Remove NMData desired_ap member, its now
21886                         per-device rather than global
21887
21888         * src/NetworkManager.c
21889                 - Remove references to desired_ap
21890                 - Move the allowed AP list refresh stuff into a thread
21891
21892         * src/NetworkManagerDevice.c
21893           src/NetworkManagerDevice.h
21894                 - Each wireless device now has a "best ap"
21895                 - Make device activate/deactivate functions per-device
21896                 - Make wireless scanning per-device
21897                 - Add IPv4 address discover functions, stub IPv6 ones
21898                 - Move ethernet address validation functions to NetworkManagerUtils.c
21899                 - Add wireless access point accessor function
21900                 - Get/Set functions for "best ap"
21901
21902         * src/NetworkManagerPolicy.c
21903                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21904                 - Deal with per-device "best ap" rather than data->desired_apa
21905                 - Implement allowed access point worker thread
21906                 - Add nm_policy_essid_is_allowed() function
21907
21908         * src/NetworkManagerUtils.c
21909           src/NetworkManagerUtils.h
21910                 - Add nm_ethernet_address_is_valid() function
21911                 - Add IPv4/IPv6 address get functions
21912
21913         * src/NetworkManagerWireless.c
21914           src/NetworkManagerWireless.h
21915                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21916
21917 2004-06-29  Dan Williams <dcbw@redhat.com>
21918
21919         * dispatcher-daemon/NetworkManagerDispatcher.c
21920                 - Implement script callout functionality
21921
21922 2004-06-24  Dan Williams <dcbw@redhat.com>
21923
21924         * NetworkManager.c
21925             - Spacing cleanups
21926             - Flush device routes and ip addresses when added to the device list
21927
21928         * NetworkManagerDbus.c
21929             - Spacing cleanups
21930             - Add missing returns in the two signal functions
21931         
21932         * NetworkManagerPolicy.c
21933             - Spacing and variable cleanups
21934
21935 2004-06-24  Dan Williams <dcbw@redhat.com>
21936
21937         * Makefile.am
21938           Makefile.in
21939           configure.in
21940           dispatcher-daemon/Makefile.am
21941           dispatcher-daemon/Makefile.in
21942           dispatcher-daemon/NetworkManagerDispatcher.c
21943             - Add a daemon that receives signals from NetworkManager
21944                         and will (eventually) call scripts in /etc/somewhere
21945                         when devices go up or down.
21946         
21947         * NetworkManager.c
21948             - Spacing cleanups
21949             - Flush device routes and ip addresses when added to the device list
21950
21951         * NetworkManagerDbus.c
21952             - Spacing cleanups
21953             - Add missing returns in the two signal functions
21954         
21955         * NetworkManagerPolicy.c
21956             - Spacing and variable cleanups
21957             - Rename nm_policy_switch_interface->nm_policy_switch_device
21958             - nm_policy_switch_device():
21959                                 Use kill (pid) instead of system ("kill <pid>")
21960             - nm_state_modification_monitor():
21961                                 Add wireless essid to output of debug statements
21962                                 Correct typo in device compare to switch or not (should be !=)
21963                                 Don't sleep after sending "no longer active" signal, was useless
21964
21965 2004-06-24  Dan Williams <dcbw@redhat.com>
21966
21967         * Initial import