2008-12-05 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-12-05  Dan Williams  <dcbw@redhat.com>
2
3         Patch from Michael Biebl  <mbiebl@gmail.com>
4
5         * libnm-glib/Makefile.am
6                 - Bump libnm-glib revision to indicate new API
7                 - Give libnm-util version info
8
9         * libnm-util/Makefile.am
10                 - Bump libnm-util soname to indicate API/ABI break with 0.6
11
12 2008-11-26  Dan Williams  <dcbw@redhat.com>
13
14         * Release NetworkManager 0.7
15
16 2008-11-26  Dan Williams  <dcbw@redhat.com>
17
18         * libnm-glib/nm-settings.c
19           libnm-glib/nm-settings.h
20                 - (nm_exported_connection_delete): rename 'delete' to 'do_delete' to
21                         avoid using C++ reserved keywords in headers
22
23         * libnm-glib/nm-dbus-connection.c
24           system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
25           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
26           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
27           system-settings/plugins/keyfile/nm-keyfile-connection.c
28           system-settings/src/nm-sysconfig-connection.c
29                 - Change 'delete' to 'do_delete'
30
31 2008-11-25  Dan Williams  <dcbw@redhat.com>
32
33         * system-settings/plugins/ifcfg-rh
34                 - Rename 'ifcfg-fedora' to 'ifcfg-rh'; it's not just used on Fedora
35
36         * system-settings/src/main.c
37                 - (load_plugins): transparently handle ifcfg-fedora as ifcfg-rh
38
39 2008-11-25  Dan Williams  <dcbw@redhat.com>
40
41         Patch from Tambet Ingo <tambet@gmail.com>
42
43         Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507)
44
45         * src/nm-netlink-monitor.c
46                 - Remove bits for using a non-default GMainContext, which weren't used
47                 - (nm_netlink_monitor_error_handler): don't leak the GError, and report
48                         the actual error code
49
50         * src/NetworkManager.c
51                 - (nm_error_monitoring_device_link_state): disconnect error handler when
52                         an error flood occurs to avoid pegging the CPU
53
54 2008-11-23  Dan Williams  <dcbw@redhat.com>
55
56         * callouts/nm-dispatcher-action.c
57                 - (construct_envp, nm_dispatcher_action): pass connection UUID to
58                         scripts in the environment
59
60 2008-11-21  Dan Williams  <dcbw@redhat.com>
61
62         Patch from Tambet Ingo  <tambet@gmail.com>
63
64         * configure.in
65           libnm-util/libnm-util.ver
66           libnm-util/nm-setting-8021x.c
67           libnm-util/nm-setting-8021x.h
68                 - Add configure-time option for the system CA path
69                 - Add 'system-ca-certs' option to 802.1x setting, which directs
70                         NetworkManager to use system CA certificates instead of any
71                         connection-defined CA certificates
72
73         * src/supplicant-manager/nm-supplicant-config.c
74           src/supplicant-manager/nm-supplicant-settings-verify.c
75                 - Use system CA certificates if the connection says to do so
76
77 2008-11-21  Dan Williams  <dcbw@redhat.com>
78
79         * src/nm-dbus-manager.c
80           src/nm-dbus-manager.h
81                 - (nm_dbus_manager_get_name_owner): return error
82
83         * src/nm-manager.c
84                 - (impl_manager_activate_connection): perform additional validation on
85                         ActivateConnection calls of user connections
86                 - (is_user_request_authorized): ensure that the requestor is the same
87                         UID as the UID that owns the user settings service; users shouldn't
88                         be able to control another user's connections
89
90 2008-11-21  Dan Williams  <dcbw@redhat.com>
91
92         * gfilemonitor/inotify-sub.c
93                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
94
95 2008-11-21  Tambet Ingo  <tambet@gmail.com>
96
97         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
98         plugin compile again.
99
100 2008-11-20  Dan Williams  <dcbw@redhat.com>
101
102         Patch from Tambet Ingo <tambet@gmail.com>
103
104         * libnm-util/nm-setting.c
105           libnm-util/nm-setting.h
106                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
107                         all the GParamSpec flags of the property
108
109         * system-settings/plugins/keyfile/nm-keyfile-connection.c
110           system-settings/plugins/keyfile/reader.c
111           system-settings/plugins/keyfile/writer.c
112                 - Update for NMSettingValueIterFn change
113
114 2008-11-20  Dan Williams  <dcbw@redhat.com>
115
116         * libnm-util/nm-utils.c
117           libnm-util/nm-utils.h
118                 - More documentation updates
119
120 2008-11-20  Dan Williams  <dcbw@redhat.com>
121
122         * libnm-util/libnm-util.ver
123           libnm-util/nm-utils.c
124           libnm-util/nm-utils.h
125           libnm-util/nm-utils-private.h
126           libnm-util/nm-connection.c
127                 - (nm_utils_register_value_transformations): make private, called
128                         from NMConnection registration anyway
129
130 2008-11-20  Dan Williams  <dcbw@redhat.com>
131
132         * libnm-util/Makefile.am
133           libnm-util/nm-utils-private.h
134                 - New header for internal utils private functions
135
136         * libnm-util/libnm-util.ver
137           libnm-util/nm-utils.c
138           libnm-util/nm-utils.h
139                 - Document some functions
140                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
141                    nm_utils_string_slist_validate): un-export, only used within
142                         libnm-util or of limited use in general, and very easy to
143                         re-implement by apps if needed
144
145         * libnm-util/nm-setting-8021x.c
146           libnm-util/nm-setting-wired.c
147           libnm-util/nm-setting-wireless-security.c
148           libnm-util/nm-setting-wireless.c
149                 - Update for private nm_utils_string_* functions
150
151 2008-11-20  Dan Williams  <dcbw@redhat.com>
152
153         * libnm-util/libnm-util.ver
154           libnm-util/nm-setting.c
155           libnm-util/nm-setting.h
156                 - Add NMSetting errors
157                 - (nm_setting_update_secrets): return errors
158
159         * libnm-util/nm-connection.c
160           libnm-util/nm-connection.h
161                 - (nm_connection_update_secrets): return errors
162
163         * libnm-util/nm-setting-vpn.c
164           src/nm-activation-request.c
165           src/vpn-manager/nm-vpn-connection.c
166                 - Handle update secrets errors
167
168 2008-11-20  Dan Williams  <dcbw@redhat.com>
169
170         * libnm-util/nm-setting.c
171           libnm-util/nm-setting.h
172           libnm-util/libnm-util.ver
173                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
174                         consistent with nm_connection_new_from_hash()
175
176         * src/nm-activation-request.c
177           libnm-util/nm-connection.c
178                 - Handle rename
179
180 2008-11-19  Dan Williams  <dcbw@redhat.com>
181
182         * configure.in
183           Makefile.am
184           docs/libnm-util/Makefile.am
185           docs/libnm-util/libnm-util.types
186                 - Start to document libnm-util
187
188 2008-11-19  Dan Williams  <dcbw@redhat.com>
189
190         * libnm-util/nm-connection.h
191           libnm-util/nm-connection.c
192                 - Document public functions
193
194 2008-11-19  Dan Williams  <dcbw@redhat.com>
195
196         * libnm-util/nm-setting.h
197           libnm-util/nm-setting.c
198           src/nm-device.c
199           src/nm-manager.c
200           system-settings/plugins/ifcfg-fedora/plugin.c
201                 - Prefix compare flag defines with NM_SETTING_
202
203 2008-11-19  Dan Williams  <dcbw@redhat.com>
204
205         * libnm-util/nm-connection.c
206           libnm-util/nm-connection.h
207                 - (nm_connection_replace_settings): take a GError
208
209         * libnm-glib/nm-settings.c
210           libnm-glib/nm-dbus-connection.c
211           src/nm-manager.c
212           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
213           system-settings/plugins/keyfile/nm-keyfile-connection.c
214           system-settings/plugins/keyfile/plugin.c
215                 - Handle, or don't handle, errors from nm_connection_replace_settings()
216
217 2008-11-19  Dan Williams  <dcbw@redhat.com>
218
219         * libnm-util/libnm-util.ver
220           libnm-util/nm-connection.c
221                 - (nm_setting_register, nm_setting_unregister): unexport; they are
222                         private and don't have a use outside libnm-util
223
224 2008-11-17  Dan Williams  <dcbw@redhat.com>
225
226         * src/nm-hso-gsm-device.c
227                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
228                         devices
229
230 2008-11-17  Dan Williams  <dcbw@redhat.com>
231
232         * system-settings/plugins/ifcfg-fedora/reader.c
233                 - (read_mac_address): clean up
234                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
235                         expects
236
237         * system-settings/plugins/ifcfg-fedora/plugin.c
238                 - (read_one_connection): don't segfault on NULL errors
239
240 2008-11-14  Dan Williams  <dcbw@redhat.com>
241
242         * Tag 0.7.0-rc2
243
244 2008-11-14  Dan Williams  <dcbw@redhat.com>
245
246         Handle gateways on different subnets
247
248         * src/NetworkManagerSystem.c
249                 - (add_ip4_route_to_gateway): gateway route should be link scope and
250                         a host route
251                 - (replace_default_ip4_route): use a destination address too; gateway
252                         address should be /0; don't leak the gateway route object
253
254 2008-11-14  Dan Williams  <dcbw@redhat.com>
255
256         * libnm-glib/libnm_glib.ver
257           libnm-glib/nm-dbus-settings-system.c
258           libnm-glib/nm-dbus-settings-system.h
259                 - Add libnm-glib bits for CanModify
260
261 2008-11-14  Dan Williams  <dcbw@redhat.com>
262
263         * introspection/nm-settings-system.xml
264           system-settings/src/dbus-settings.c
265           system-settings/src/dbus-settings.h
266                 - Add a "CanModify" property to indicate if any plugins support
267                         connection modification
268
269 2008-11-14  Dan Williams  <dcbw@redhat.com>
270
271         Relicense libnm-glib to LGPLv2+ with agreement from contributors
272
273 2008-11-14  Dan Williams  <dcbw@redhat.com>
274
275         * vpn-manager/nm-vpn-connection.c
276                 - (plugin_state_changed): clear VPN secrets on error to ensure they
277                         are always requested from the settings service (rh #429287)
278
279 2008-11-13  Dan Williams  <dcbw@redhat.com>
280
281         * libnm-util/crypto.c
282                 - (crypto_get_private_key_data): fix bad initial arg type checking
283                         from pkcs#12 patch
284
285 2008-11-13  Dan Williams  <dcbw@redhat.com>
286
287         Add support for PKCS#12 private keys (bgo #558982)
288
289         * libnm-util/crypto.c
290           libnm-util/crypto.h
291                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
292                         take a GByteArray instead of a filename
293                 - (file_to_g_byte_array): handle private key files too
294                 - (decrypt_key): take a GByteArray rather than data + len
295                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
296                         one function that takes a filename, and one that takes raw data;
297                         detect pkcs#12 files as well
298                 - (crypto_load_and_verify_certificate): detect file type
299                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
300                         functions
301
302         * libnm-util/crypto_gnutls.c
303                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
304                         whereby tail padding was incorrectly handled, leading to erroneous
305                         successes when trying to decrypt the data
306                 - (crypto_verify_cert): rework somewhat
307                 - (crypto_verify_pkcs12): validate pkcs#12 keys
308
309         * libnm-util/crypto_nss.c
310                 - (crypto_init): enable various pkcs#12 ciphers
311                 - (crypto_decrypt): take a GByteArray rather than data + len
312                 - (crypto_verify_cert): clean up
313                 - (crypto_verify_pkcs12): validate pkcs#12 keys
314
315         * libnm-util/test-crypto.c
316                 - Handle pkcs#12 keys
317
318         * libnm-util/nm-setting-8021x.c
319           libnm-util/nm-setting-8021x.h
320           libnm-util/libnm-util.ver
321                 - Add two new properties, 'private-key-password' and
322                         'phase2-private-key-password', to be used in conjunction with
323                         pkcs#12 keys
324                 - (nm_setting_802_1x_set_ca_cert_from_file,
325                    nm_setting_802_1x_set_client_cert_from_file,
326                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
327                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
328                         type
329                 - (nm_setting_802_1x_get_private_key_password,
330                    nm_setting_802_1x_get_phase2_private_key_password): return private
331                         key passwords
332                 - (nm_setting_802_1x_set_private_key_from_file,
333                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
334                         key from a file, and update the private key password at the same time
335                 - (nm_setting_802_1x_get_private_key_type,
336                    nm_setting_802_1x_get_phase2_private_key_type): return the private
337                         key type
338
339         * src/supplicant-manager/nm-supplicant-settings-verify.c
340                 - Whitelist private key passwords
341
342         * src/supplicant-manager/nm-supplicant-config.c
343                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
344                         add the private key password to the supplicant config, but do not
345                         add the client certificate (as required by wpa_supplicant)
346
347 2008-11-12  Tambet Ingo  <tambet@gmail.com>
348
349         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
350         (add_secrets): Don't add empty secrets to the secrets hash table.
351
352 2008-11-07  Dan Williams  <dcbw@redhat.com>
353
354         * libnm-util/nm-setting-wireless.c
355                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
356                         that cased this function to return garbage, breaking hidden AP
357                         detection
358
359 2008-11-07  Dan Williams  <dcbw@redhat.com>
360
361         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
362
363         * src/NetworkManagerSystem.c
364           src/NetworkManagerSystem.h
365                 - (nm_system_device_set_ip4_route): return the route that was added
366                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
367                         public, clean up, and return the route that was added
368                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
369                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
370                         flags to allow only certain attributes of the NMIP4Config to be
371                         applied
372
373         * src/nm-device.c
374                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
375                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
376                         what's really changed between the old and new configs; don't export
377                         the new IP4 config on failure; always send the DNS info to the
378                         named manager
379
380         * src/vpn-manager/nm-vpn-connection.c
381                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
382                         parent device's IP4Config and re-add the VPN gateway route when it
383                         changes
384                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
385                         nm_system_apply_ip4_config() no longer does) and cache it for later
386                 - (connection_state_changed): move cleanup code to its own function
387                 - (vpn_cleanup): delete any previously added VPN gateway route; and
388                         re-apply the parent device's addresses and routes using
389                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
390
391 2008-11-07  Dan Williams  <dcbw@redhat.com>
392
393         * src/nm-ip4-config.c
394           src/nm-ip4-config.h
395                 - (nm_ip4_config_diff): new function; return the difference between two
396                         IP4 configs
397                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
398
399 2008-11-05  Dan Williams  <dcbw@redhat.com>
400
401         * nm-ip4-config.c
402           nm-ip4-config.h
403                 - (nm_ip4_config_compare): compare two IP4 configs
404
405 2008-11-05  Dan Williams  <dcbw@redhat.com>
406
407         * src/NetworkManagerPolicy.c
408                 - (update_etc_hosts): only add newline if not the last line of the file
409                         (Jonathan Miner)
410
411 2008-11-05  Dan Williams  <dcbw@redhat.com>
412
413         * src/dhcp-manager/nm-dhcp-dhclient.c
414                 - (get_leasefile_for_iface): move lease files back to where dhclient
415                         puts them
416
417 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
418
419         * initscripts/Debian/NetworkManager
420                 - Update to what Debian is actually using
421
422 2008-11-05  Tambet Ingo  <tambet@gmail.com>
423
424         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
425
426 2008-11-03  Dan Williams  <dcbw@redhat.com>
427
428         * system-settings/src/main.c
429                 - (add_default_dhcp_connection): make the fallback connection read-only
430
431         * libnm-glib/nm-settings.c
432           libnm-glib/nm-settings.h
433                 - Add detailed errors
434                 - (impl_exported_connection_update, impl_exported_connection_delete):
435                         return an error if the connection is read-only
436
437         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
438           system-settings/plugins/keyfile/nm-keyfile-connection.c
439           system-settings/src/main.c
440                 - Use more detailed errors
441
442         * system-settings/src/nm-system-config-error.c
443           system-settings/src/nm-system-config-error.h
444           system-settings/src/dbus-settings.c
445                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
446                         NM_SETTINGS_ERROR_INVALID_CONNECTION
447
448 2008-11-02  Dan Williams  <dcbw@redhat.com>
449
450         * Add license headers to everything in src/
451
452 2008-11-02  Dan Williams  <dcbw@redhat.com>
453
454         * Tag 0.7.0-rc1
455
456 2008-11-02  Dan Williams  <dcbw@redhat.com>
457
458         * src/NetworkManagerAP.c
459                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
460                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
461                         secrets when connecting to an encrypted network failed
462
463 2008-10-30  Dan Williams  <dcbw@redhat.com>
464
465         * libnm-util/libnm-util.ver
466           libnm-util/nm-setting-ip6-config.c
467           libnm-util/nm-setting-ip6-config.h
468           libnm-util/Makefile.am
469                 - Make properties private and add accessor functions
470                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
471
472         * libnm-util/nm-connection.c
473           libnm-util/nm-utils.c
474           libnm-util/nm-utils.h
475                 - Ignore IPv6 stuff for now
476
477 2008-10-30  Dan Williams  <dcbw@redhat.com>
478
479         * libnm-util/libnm-util.ver
480           libnm-util/nm-setting-8021x.c
481           libnm-util/nm-setting-8021x.h
482                 - Make properties private and add accessor functions
483
484         * src/supplicant-manager/nm-supplicant-config.c
485           system-settings/plugins/ifcfg-suse/parser.c
486                 - Use 802.1x setting accessors
487
488 2008-10-30  Dan Williams  <dcbw@redhat.com>
489
490         * libnm-util/libnm-util.ver
491           libnm-util/nm-setting-wireless-security.c
492           libnm-util/nm-setting-wireless-security.h
493                 - Make properties private and add accessor functions
494
495         * libnm-util/nm-setting-wireless.c
496           src/NetworkManagerAP.c
497           src/nm-device-wifi.c
498           src/supplicant-manager/nm-supplicant-config.c
499           system-settings/plugins/ifcfg-fedora/reader.c
500           system-settings/plugins/ifcfg-suse/parser.c
501                 - Use wireless security accessors
502
503 2008-10-30  Dan Williams  <dcbw@redhat.com>
504
505         * src/nm-device-ethernet.c
506           src/nm-device-wifi.c
507           src/nm-device.c
508           src/ppp-manager/nm-ppp-manager.c
509                 - Harmonize return checking of ioctl
510
511         * system-settings/plugins/ifcfg-fedora/reader.c
512                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
513
514 2008-10-30  Dan Williams  <dcbw@redhat.com>
515
516         * src/ppp-manager/nm-ppp-manager.c
517                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
518                         ppp_generic module to create it (bgo #533064)
519
520 2008-10-30  Dan Williams  <dcbw@redhat.com>
521
522         Patch from Alexander Sack <asac@canonical.com>
523
524         Fix "ppp connections don't honour ip4 connection settings"
525
526         * src/nm-device-ethernet.c
527                 - (real_act_stage4_get_ip4_config): merge ip4config settings
528                         with results from ppp manager
529
530         * src/nm-serial-device.c
531                 - (real_act_stage4_get_ip4_config): merge ip4config settings
532                         with results from ppp manager
533
534 2008-10-29  Dan Williams  <dcbw@redhat.com>
535
536         * libnm-util/libnm-util.ver
537           libnm-util/nm-setting-ip4-config.c
538           libnm-util/nm-setting-ip4-config.h
539                 - Make properties private and add accessor functions
540
541         * callouts/nm-dispatcher-action.c
542           libnm-glib/libnm-glib-test.c
543           libnm-util/nm-utils.c
544           src/NetworkManagerPolicy.c
545           src/NetworkManagerSystem.c
546           src/NetworkManagerUtils.c
547           src/dhcp-manager/nm-dhcp-dhclient.c
548           src/dhcp-manager/nm-dhcp-manager.c
549           src/dnsmasq-manager/nm-dnsmasq-manager.c
550           src/nm-device-wifi.c
551           src/nm-device.c
552           src/nm-hso-gsm-device.c
553           src/nm-ip4-config.c
554           src/nm-ip4-config.h
555           src/ppp-manager/nm-ppp-manager.c
556           src/vpn-manager/nm-vpn-connection.c
557           system-settings/plugins/ifcfg-fedora/reader.c
558           system-settings/plugins/ifcfg-suse/parser.c
559           system-settings/plugins/ifcfg-suse/plugin.c
560           system-settings/plugins/ifupdown/parser.c
561           test/nm-tool.c
562           vpn-daemons/vpnc/properties/nm-vpnc.c
563                 - Use IP4 accessor functions
564
565 2008-10-29  Tambet Ingo  <tambet@gmail.com>
566
567         Half of it by Dan Williams <dcbw@redhat.com>
568
569         * libnm-util/libnm-util.ver
570         libnm-util/nm-setting-vpn.c
571         libnm-util/nm-setting-vpn.h
572                 - Make properties private and add accessor functions.
573
574         * src/vpn-manager/nm-vpn-connection.c
575         src/vpn-manager/nm-vpn-manager.c
576         system-settings/plugins/keyfile/reader.c
577         vpn-daemons/openvpn/properties/auth-helpers.c
578         vpn-daemons/openvpn/properties/import-export.c
579         vpn-daemons/openvpn/properties/nm-openvpn.c
580         vpn-daemons/openvpn/src/nm-openvpn-service.c
581         vpn-daemons/pptp/auth-dialog/main.c
582         vpn-daemons/pptp/properties/advanced-dialog.c
583         vpn-daemons/pptp/properties/nm-pptp.c
584         vpn-daemons/pptp/src/nm-pptp-service.c
585         vpn-daemons/vpnc/properties/nm-vpnc.c
586         vpn-daemons/vpnc/src/nm-vpnc-service.c
587                 - Use VPN setting accessors.
588
589 2008-10-28  Dan Williams  <dcbw@redhat.com>
590
591         Patch from Tambet Ingo <tambet@gmail.com>
592
593         * libnm-util/libnm-util.ver
594           libnm-util/nm-setting-wireless.c
595           libnm-util/nm-setting-wireless.h
596                 - Make properties private and add accessor functions
597
598         * src/NetworkManagerAP.c
599           src/nm-device-wifi.c
600           src/nm-manager.c
601           src/supplicant-manager/nm-supplicant-config.c
602           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
603           system-settings/plugins/ifcfg-fedora/reader.c
604           system-settings/plugins/ifcfg-suse/parser.c
605           system-settings/plugins/ifupdown/parser.c
606                 - Use wireless setting accessors
607
608 2008-10-27  Dan Williams  <dcbw@redhat.com>
609
610         Patch from Tambet Ingo <tambet@gmail.com>
611
612         * libnm-util/libnm-util.ver
613           libnm-util/nm-setting-ppp.c
614           libnm-util/nm-setting-ppp.h
615                 - Make properties private and add accessor functions
616
617         * src/ppp-manager/nm-ppp-manager.c
618                 - Use ppp setting accessors
619
620 2008-10-27  Dan Williams  <dcbw@redhat.com>
621
622         Patch from Tambet Ingo <tambet@gmail.com>
623
624         * libnm-util/nm-setting.h
625           libnm-util/nm-setting.c
626                 - Make properties private and add accessor functions
627
628         * libnm-util/nm-connection.c
629           libnm-util/nm-setting-8021x.c
630           libnm-util/nm-setting-cdma.c
631           libnm-util/nm-setting-connection.c
632           libnm-util/nm-setting-gsm.c
633           libnm-util/nm-setting-ip4-config.c
634           libnm-util/nm-setting-ip6-config.c
635           libnm-util/nm-setting-ppp.c
636           libnm-util/nm-setting-pppoe.c
637           libnm-util/nm-setting-serial.c
638           libnm-util/nm-setting-template.c
639           libnm-util/nm-setting-vpn.c
640           libnm-util/nm-setting-wired.c
641           libnm-util/nm-setting-wireless-security.c
642           libnm-util/nm-setting-wireless.c
643           system-settings/plugins/keyfile/reader.c
644           system-settings/plugins/keyfile/writer.c
645                 - Use setting accessors
646
647 2008-10-27  Dan Williams  <dcbw@redhat.com>
648
649         * libnm-util/libnm-util.ver
650           libnm-util/nm-setting-connection.c
651           libnm-util/nm-setting-connection.h
652                 - Add a 'read-only' property that indicates the connection cannot be
653                         modified
654
655         * system-settings/plugins/ifcfg-fedora/reader.c
656           system-settings/plugins/ifcfg-suse/parser.c
657           system-settings/plugins/ifupdown/parser.c
658                 - These plugins are read-only at the moment
659
660         * system-settings/plugins/keyfile/reader.c
661           system-settings/plugins/keyfile/writer.c
662                 - Read-only shouldn't get saved out to files or read in from them
663
664 2008-10-27  Tambet Ingo  <tambet@gmail.com>
665
666         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
667         correct speed reporting for fast devices (kernel >= 2.6.27).
668
669 2008-10-26  Dan Williams  <dcbw@redhat.com>
670
671         Attempt to compensate for modems that don't enable full AT parsing before
672         the PIN has been entered.
673
674         * src/nm-gsm-device.c
675                 - (init_modem): accept different init strings
676                 - (init_done): try different init strings on failure
677                 - (check_pin_done): on PIN success, do full modem init
678
679 2008-10-26  Dan Williams  <dcbw@redhat.com>
680
681         Patch from Tambet Ingo <tambet@gmail.com>
682
683         * libnm-util/libnm-util.ver
684           libnm-util/nm-setting-connection.c
685           libnm-util/nm-setting-connection.h
686                 - Make properties private and add accessor functions
687
688         * src/NetworkManagerPolicy.c
689           src/nm-cdma-device.c
690           src/nm-device-ethernet.c
691           src/nm-device-interface.c
692           src/nm-device-wifi.c
693           src/nm-gsm-device.c
694           src/nm-manager.c
695           src/ppp-manager/nm-ppp-manager.c
696           src/vpn-manager/nm-vpn-connection.c
697           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
698           system-settings/plugins/ifcfg-fedora/plugin.c
699           system-settings/plugins/ifcfg-fedora/reader.c
700           system-settings/plugins/ifcfg-suse/parser.c
701           system-settings/plugins/ifupdown/parser.c
702           system-settings/plugins/keyfile/nm-keyfile-connection.c
703           system-settings/plugins/keyfile/plugin.c
704           system-settings/plugins/keyfile/writer.c
705           system-settings/src/main.c
706                 - Use those accessors
707
708 2008-10-26  Dan Williams  <dcbw@redhat.com>
709
710         Patch from Tambet Ingo <tambet@gmail.com>
711
712         * libnm-util/libnm-util.ver
713           libnm-util/nm-setting-gsm.c
714           libnm-util/nm-setting-gsm.h
715                 - Make properties private and add accessor functions
716
717         * src/nm-gsm-device.c
718           src/nm-hso-gsm-device.c
719           src/ppp-manager/nm-ppp-manager.c
720                 - Use those accessors
721
722 2008-10-26  Dan Williams  <dcbw@redhat.com>
723
724         Patch from Tambet Ingo <tambet@gmail.com>
725
726         * libnm-util/libnm-util.ver
727           libnm-util/nm-setting-cdma.c
728           libnm-util/nm-setting-cdma.h
729                 - Make properties private and add accessor functions
730
731         * src/nm-cdma-device.c
732           src/ppp-manager/nm-ppp-manager.c
733                 - Use those accessors
734
735 2008-10-26  Dan Williams  <dcbw@redhat.com>
736
737         Patch from Tambet Ingo <tambet@gmail.com>
738
739         * libnm-util/libnm-util.ver
740           libnm-util/nm-setting-pppoe.c
741           libnm-util/nm-setting-pppoe.h
742                 - Make properties private and add accessor functions
743
744         * src/nm-device-ethernet.c
745           src/ppp-manager/nm-ppp-manager.c
746                 - Use those accessors
747
748 2008-10-26  Dan Williams  <dcbw@redhat.com>
749
750         Patch from Tambet Ingo <tambet@gmail.com>
751
752         * libnm-util/libnm-util.ver
753           libnm-util/nm-setting-wired.c
754           libnm-util/nm-setting-wired.h
755                 - Make properties private and add accessor functions
756
757         * src/nm-device-ethernet.c
758           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
759           system-settings/plugins/ifcfg-suse/parser.c
760           system-settings/src/main.c
761                 - Use those accessors
762
763 2008-10-26  Dan Williams  <dcbw@redhat.com>
764
765         Patch from Tambet Ingo <tambet@gmail.com>
766
767         * libnm-util/libnm-util.ver
768           libnm-util/nm-setting-serial.c
769           libnm-util/nm-setting-serial.h
770           src/nm-serial-device.c
771                 - Make properties private and use accessors instead
772
773 2008-10-26  Dan Williams  <dcbw@redhat.com>
774
775         * src/supplicant-manager/nm-supplicant-interface.c
776           src/supplicant-manager/nm-supplicant-interface.h
777           src/supplicant-manager/nm-supplicant-manager.c
778           src/supplicant-manager/nm-supplicant-manager.h
779                 - Add state-to-string conversion functions
780
781         * src/nm-device-wifi.c
782           src/nm-device-ethernet.c
783                 - Normalize state info logging and use strings instead of numbers
784
785 2008-10-26  Dan Williams  <dcbw@redhat.com>
786
787         * src/NetworkManagerPolicy.c
788                 - (update_routing_and_dns): ignore host routes when determining whether
789                         a VPN connection should own the default route (bgo #552594)
790
791 2008-10-24  Dan Williams  <dcbw@redhat.com>
792
793         * src/nm-gsm-device.c
794                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
795
796 2008-10-23  Dan Williams  <dcbw@redhat.com>
797
798         * src/ppp-manager/nm-ppp-manager.c
799                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
800                         add really important stuff to the command line to ensure that NM
801                         overrides /etc/ppp/options (bgo #556781)
802
803 2008-10-22  Dan Williams  <dcbw@redhat.com>
804
805         * src/NetworkManagerSystem.c
806           src/nm-device.c
807                 - Use the device's IP interface where appropriate (Per Hallsmark)
808
809 2008-10-22  Dan Williams  <dcbw@redhat.com>
810
811         * src/nm-gsm-device.c
812                 - (schedule_automatic_registration_again): use a short timeout here
813                         instead of an idle handler to avoid using too much CPU polling for
814                         something we should be waiting a bit for anyway
815
816 2008-10-22  Dan Williams  <dcbw@redhat.com>
817
818         * include/NetworkManager.h
819           introspection/nm-device.xml
820                 - Add device state change reason for carrier changes
821
822         * src/nm-device-ethernet.c
823                 - (set_carrier): use the carrier change reason when changing device
824                         state in response to carrier changes
825
826 2008-10-21  Dan Williams  <dcbw@redhat.com>
827
828         * src/NetworkManagerPolicy.c
829                 - (update_etc_hosts): don't leak errors, and ensure that
830                         g_file_set_contents() gets a valid error placeholder (rh #461933)
831
832 2008-10-21  Dan Williams  <dcbw@redhat.com>
833
834         * src/nm-manager.c
835                 - (free_get_settings_info): don't use the DBusGProxy which could be
836                         disposed of by the time the function is called
837                 - (internal_new_connection_cb): save connection scope
838                 - (connection_get_settings_cb): don't replace a connection unless it's
839                         actually different from the existing one; fixes an issue where
840                         killing the settings service wouldn't deactivate an active connection
841                         provided by that settings service, because it was using a connection
842                         that had already been replaced in the system or user hash
843
844 2008-10-21  Dan Williams  <dcbw@redhat.com>
845
846         * src/NetworkManager.c
847                 - (main): keep the DHCP manager around since it's a singleton; fixes
848                         a use-after-free exposed by r4196 since the DHCP manager singleton
849                         variable isn't cleared when the DHCP manager object is finalized
850
851 2008-10-20  Dan Williams  <dcbw@redhat.com>
852
853         * libnm-util/nm-setting-wireless-security.c
854                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
855
856 2008-10-20  Dan Williams  <dcbw@redhat.com>
857
858         * src/supplicant-manager/nm-supplicant-config.c
859                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
860
861 2008-10-20  Dan Williams  <dcbw@redhat.com>
862
863         * src/dhcp-manager/nm-dhcp-manager.c
864                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
865                         manager object already refs it once
866                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
867                         also get cleaned up by nm_dhcp_device_destroy() to prevent
868                         double-frees
869
870 2008-10-20  Dan Williams  <dcbw@redhat.com>
871
872         * src/nm-manager.c
873                 - (initial_get_connections): use private dbus manager, don't keep
874                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
875                         manager object.
876
877 2008-10-18  Dan Williams  <dcbw@redhat.com>
878
879         * libnm-glib/nm-settings.c
880           libnm-glib/nm-settings.h
881                 - Rename the "get_secrets" virtual function "service_get_secrets" to
882                         clarify when it's used; NMExportedConnetion is a base-class for both
883                         the client and service side, which is sort of confusing, and
884                         get_secrets only makes sense on the service side.
885
886         * libnm-glib/nm-dbus-connection.c
887                 - (get_secrets): remove, unused, and clients need to do extra work to
888                         get secrets anyway since the call can block on the remote side
889
890         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
891           system-settings/plugins/keyfile/nm-keyfile-connection.c
892                 - Fix up for get_secrets -> service_get_secrets
893
894 2008-10-16  Dan Williams  <dcbw@redhat.com>
895
896         * src/nm-device-wifi.c
897                 - (constructor): correctly determine encryption capabilities
898
899 2008-10-15  Dan Williams  <dcbw@redhat.com>
900
901         * src/nm-device-wifi.c
902                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
903                         (Johannes Berg)
904
905 2008-10-15  Dan Williams  <dcbw@redhat.com>
906
907         * src/NetworkManagerSystem.c
908                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
909                         if the ip4_dest is in a smaller subnet contained within a subnet
910                         the machine is currently on, the destination is in the same subnet
911                 - (nm_system_device_set_ip4_route): move subnet checks to callers
912                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
913                         subnet as the parent device, and if so, don't add the direct
914                         host route via the parent device's gateway (bgo #481620)
915                 - (nm_system_apply_ip4_config): check whether the route to be added
916                         is contained within a subnet the device is already on
917
918 2008-10-11  Dan Williams  <dcbw@redhat.com>
919
920         * include/NetworkManager.h
921           introspection/nm-device.xml
922           include/NetworkManagerVPN.h
923                 - Add a few more state reasons for the device deactivated state
924
925         * src/nm-device-interface.c
926           src/nm-device-interface.h
927                 - (nm_device_interface_deactivate): add a 'reason' argument
928
929         * src/nm-device.c
930           src/nm-device.h
931                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
932                 - (nm_device_state_changed): pass the state change reason to
933                         nm_device_take_down()
934                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
935                         to the state change function
936
937         * src/nm-manager.c
938           src/nm-manager.h
939                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
940                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
941                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
942                         something reasonable along to VPN deactivation
943
944         * src/vpn-manager/nm-vpn-manager.c
945           src/vpn-manager/nm-vpn-manager.h
946                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
947                         pass that along to nm_vpn_connection_disconnect()
948
949 2008-10-11  Dan Williams  <dcbw@redhat.com>
950
951         * src/nm-device-wifi.c
952                 - (can_scan): remove old madwifi hack for not scanning while connected
953
954 2008-10-11  Dan Williams  <dcbw@redhat.com>
955
956         Add support for VPN subnet gateways (bgo #549196)
957
958         * include/NetworkManager.h
959                 - Add key for internal VPN subnet gateway
960
961         * src/vpn-manager/nm-vpn-connection.c
962                 - (ip_address_to_string): return a const from a static buffer so we
963                         don't leak a lot of strings
964                 - (print_vpn_config): print internal VPN gateway as well
965                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
966                         VPN service too
967                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
968
969         * src/NetworkManagerSystem.c
970           src/NetworkManagerSystem.h
971                 - (nm_system_device_replace_default_ip4_route): split into two, one for
972                         VPN connections and one for normal devices
973                 - (replace_default_ip4_route): break out route stuff into its own function
974                 - (nm_system_replace_default_ip4_route_vpn,
975                    nm_system_replace_default_ip4_route): simplify by having two cases,
976                         one for VPNs and one for normal devices
977
978         * src/NetworkManagerPolicy.c
979                 - (update_routing_and_dns): simplify, use split default route replacement
980                         functions
981
982 2008-10-10  Dan Williams  <dcbw@redhat.com>
983
984         Rework default route handling to consolidate decisions in the policy,
985         and to take active VPN connections into account when changing the default
986         route (bgo #545912)
987
988         * src/NetworkManager.c
989                 - (main): pass the vpn_manager to the policy so it knows about active
990                         VPN connections; clean up the named manager which wasn't done before
991
992         * src/NetworkManagerPolicy.c
993           src/NetworkManagerPolicy.h
994                 - (nm_policy_new): get a clue about the vpn_manager
995                 - (update_default_route): remove, fold into update_routing_and_dns()
996                 - (update_routing_and_dns): handle active VPN connections too; an
997                         active VPN connection becomes the default route if it does not have
998                         server-specified or user-specified custom routes.  Otherwise, the
999                         best active device gets the default route
1000                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
1001                    nm_policy_destroy): track VPN connection activation and deactivation
1002                         and update the default route when appropriate
1003
1004         * src/NetworkManagerSystem.c
1005           src/NetworkManagerSystem.h
1006                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
1007                         in the VPN connection itself
1008                 - (nm_system_vpn_device_set_from_ip4_config,
1009                    nm_system_device_set_from_ip4_config): merge together to make
1010                         nm_system_apply_ip4_config()
1011                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
1012                         via the parent device
1013                 - (nm_system_apply_ip4_config): simplify
1014                 - (add_ip4_route_to_gateway): new function; add a direct route to the
1015                         gateway if needed
1016                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
1017                         route stuff out into add_ip4_route_to_gateway() for clarity
1018
1019         * src/nm-device.c
1020                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
1021
1022         * src/vpn-manager/nm-vpn-connection.c
1023           src/vpn-manager/nm-vpn-connection.h
1024                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
1025                    nm_vpn_connection_get_parent_device): add
1026                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
1027                         device explicit
1028                 - (connection_state_changed): update the named manager now that
1029                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
1030                         useful on errors
1031
1032         * src/vpn-manager/nm-vpn-manager.c
1033           src/vpn-manager/nm-vpn-manager.h
1034                 - Add a 'connection-activated' signal
1035                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
1036                         policy to find out about active VPN connections
1037
1038 2008-10-10  Tambet Ingo  <tambet@gmail.com>
1039
1040         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
1041         a daemon to prevent NM logging spew on console on startup and shutdown (due
1042         to dependency loop between NM and syslog).
1043
1044 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1045
1046         Implement managed mode. We bind devices configured in /etc/network/interfaces
1047         to their connections by updating wired/wireless setting with the
1048         mac address of the device.
1049
1050         * system-settings/plugins/ifupdown/plugin.c
1051                 - (get_net_address_for_udi): implement function to retrieve MAC
1052                         address of udi from hal in GByteArray format
1053                 - (bind_device_to_connection): bind mac address of device to
1054                         wired/wireless system connection
1055                 - (hal_device_added_cb): call bind_device_to_connection for
1056                         system connections with a matching interface.name
1057                 - (hal_device_added_cb): ensure that all code paths
1058                         properly free the "iface" string.
1059
1060 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1061
1062         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
1063         mode of the ifupdown system config plugin.
1064
1065         * system-settings/plugins/ifupdown/plugin.c
1066                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
1067                         private unmanage_well_known state field accordingly
1068
1069 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1070
1071         Implement unmanaged mode that will prevent all devices in the
1072         well_known_udis set from being touched by NetworkManager
1073
1074         * system-settings/plugins/ifupdown/plugin.c
1075                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1076                         unmanage_well_known field used to turn on/off unmanaged
1077                         mode
1078                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1079                         signal when well_known_udis get added/removed
1080                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1081                         if we are in unmanaged mode
1082
1083 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1084
1085         Add support to track network devices that have a configuration
1086         with a matching interface.name in /etc/network/interfaces
1087
1088         * system-settings/plugins/ifupdown/plugin.c
1089                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1090                         to track |well_known_udis|
1091                 - (get_iface_for_udi): helper function to get interface.name
1092                         for a udi
1093                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1094                         that add and remove devices to and from the well_known_udis
1095                         set depending on whether their |interface.name| matches
1096                         any interface definition in /etc/network/interfaces
1097                 - (SCPluginIfupdown_init): connect callbacks from above with
1098                         hal_mgr and setup well_known_udis hashtable
1099                 - (GObject__dispose): destroy well_known_udis hashtable
1100                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1101                         signature. user_data is supposed to be a triple (hal_mgr,
1102                         config and devtype)
1103                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1104                         startup and call hal_device_added_cb2
1105
1106 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1107
1108         Remove implementation for not used NMSystemConfigInterface callback functions
1109         in ifupdown plugin
1110
1111         * system-settings/plugins/ifupdown/plugin.c
1112                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1113                 - (SCPluginIfupdown_connection_added): removed
1114
1115 2008-10-08  Dan Williams  <dcbw@redhat.com>
1116
1117         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1118
1119         * src/NetworkManagerUtils.c
1120                 - (nm_utils_call_dispatcher): add a 'hostname' action
1121
1122         * src/NetworkManagerPolicy.c
1123                 - (set_system_hostname): dispatch hostname changes
1124
1125         * callouts/nm-dispatcher-action.c
1126                 - (nm_dispatcher_action): handle 'hostname' actions
1127
1128 2008-10-08  Dan Williams  <dcbw@redhat.com>
1129
1130         * src/NetworkManagerSystem.c
1131                 - (find_route): ref the route so it doesn't get destroyed when the cache
1132                         is cleared
1133                 - (nm_system_device_set_priority): unref the route here after it's done
1134                         being used
1135
1136 2008-10-08  Dan Williams  <dcbw@redhat.com>
1137
1138         * src/nm-serial-device.c
1139                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1140
1141 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1142
1143         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1144         connection with new settings before saving it.
1145
1146 2008-10-06  Dan Williams  <dcbw@redhat.com>
1147
1148         * src/nm-ip4-config.c
1149           src/nm-ip4-config.h
1150                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1151
1152         * src/nm-device-interface.c
1153                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1154                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1155                         by using '/' for the object path
1156
1157         * src/nm-device.c
1158                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1159                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1160                         dbus handle NULL object paths
1161
1162 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1163
1164         Implement system hostname support for debian/ubuntu
1165
1166         * system-settings/plugins/ifupdown/plugin.c
1167                 - (GObject__get_property): extend announced capabilities; add
1168                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1169                 - (GObject__set_property,write_system_hostname): implement
1170                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1171                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1172                    update_system_hostname, get_hostname):
1173                         implement hostname property that watches and
1174                         parses /etc/hostname
1175
1176 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1177
1178         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1179           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1180           system-settings/plugins/ifcfg-fedora/Makefile.am
1181           system-settings/src/nm-inotify-helper.c
1182           system-settings/src/nm-inotify-helper.h
1183           src/Makefile.am
1184                 - Move ifcfg-fedora inotify helpers to the system settings service so
1185                         they are available to all plugins
1186
1187 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1188
1189         Implement support for wep-tx-keyidx in ifupdown system
1190         config plugin.
1191
1192         * system-settings/plugins/ifupdown/parser.c
1193                 - (update_wireless_security_setting_from_if_block): introduce
1194                         free_type_mapping func table; rename a few local
1195                         variables to improve readability; add wpa security mapping
1196                         for wep-tx-keyidx property
1197                 - (string_to_gpointerint): new function used for the auto_type_mapping
1198                         of new wep-tx-keyidx property
1199                 - (slist_free_all): free func used for mapped slist types
1200
1201 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1202
1203         * system-settings/src/main.c:
1204                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1205                         always used as the hash key; fixes a crash when removing wired
1206                         devices
1207
1208 2008-10-02  Dan Williams  <dcbw@redhat.com>
1209
1210         * src/nm-gsm-device.c
1211                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1212                         pass the required GSM secret along via user_data rather than keeping
1213                         it around in the private data where it sometimes didn't get cleared
1214                 - (real_get_ppp_name): implement using the GSM username
1215
1216 2008-10-02  Dan Williams  <dcbw@redhat.com>
1217
1218         * src/ppp-manager/nm-ppp-manager.c
1219           src/ppp-manager/nm-ppp-manager.h
1220                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1221                         the settings daemon for completely new ones
1222                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1223                         local PPP peer name; allow PPP debuging by launching NM with
1224                         the environment variable NM_PPP_DEBUG defined
1225                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1226                         create_pppd_cmd_line()
1227
1228         * src/nm-serial-device.c
1229           src/nm-serial-device.h
1230                 - New 'get_ppp_name' function for subclasses to implement to return the
1231                         local PPP peer name
1232                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1233                         and pass that name to the PPP manager
1234
1235         * src/nm-device-ethernet.c
1236                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1237                         the local peer name
1238
1239         * src/nm-cdma-device.c
1240                 - (real_get_ppp_name): implement using the CDMA username
1241
1242 2008-10-02  Dan Williams  <dcbw@redhat.com>
1243
1244         Patch from Alexander Sack <asac ubuntu com>
1245
1246         * system-settings/plugins/ifupdown/parser.c
1247                 - Implement more graceful ip4 config parsing for cases where
1248                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1249                   by using default values
1250
1251 2008-10-02  Dan Williams  <dcbw@redhat.com>
1252
1253         * src/NetworkManagerPolicy.c
1254                 - (device_state_changed): when marking a connection invalid, clear its
1255                         secrets too so that fresh secrets get requested the next time
1256
1257 2008-10-01  Dan Williams  <dcbw@redhat.com>
1258
1259         * system-settings/src/dbus-settings.c
1260                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1261                         a fallback if no plugin provides a hostname
1262                 - (get_property): fall back to cached hostname if no plugin provides
1263                         a hostname
1264
1265 2008-10-01  Dan Williams  <dcbw@redhat.com>
1266
1267         Fix setting value comparison issue that caused some settings to look the
1268         same when they were really different (rh #464417)
1269
1270         * libnm-util/nm-param-spec-specialized.c
1271                 - (type_is_fixed_size): return fundamental size of the fixed type too
1272                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1273                         in the comparison so that the _entire_ fixed type collection gets
1274                         compared rather than just the first 'len1' bytes
1275
1276 2008-09-30  Dan Williams  <dcbw@redhat.com>
1277
1278         * src/NetworkManagerPolicy.c
1279                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1280                         idle handler could have already run and freed the LookupThread
1281                         structure
1282
1283 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1284
1285         * src/nm-device.c (nm_device_get_priority): Implement.
1286         (nm_device_set_ip4_config): Send the device priority to system ip4 
1287         config setter.
1288
1289         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1290         Add priority argument and if it's >= 0, set the priority of the network
1291         route added automatically by netlink (or kernel?).
1292         (nm_system_device_set_priority): Implement.
1293
1294         * src/NetworkManagerPolicy.c (get_best_device): Use 
1295         nm_device_get_priority() instead of home-grown version. Revert the
1296         meaning, best priority is the lowest one.
1297
1298 2008-09-29  Dan Williams  <dcbw@redhat.com>
1299
1300         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1301         when it returns EAGAIN (rh #362421)
1302
1303         * src/nm-device-wifi.c
1304                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1305                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1306
1307 2008-09-28  Dan Williams  <dcbw@redhat.com>
1308
1309         * src/nm-serial-device.c
1310           src/nm-serial-device.h
1311                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1312                         cleaned at the right times when subclasses close the serial port too
1313                 - (nm_serial_device_send_command): use a default send delay; don't
1314                         spin forever on EAGAIN
1315                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1316                         remove, no longer used
1317                 - (find_response): return the matched response if any
1318                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1319                         while doing so
1320                 - (wait_for_reply_done): pass the matched response to the callback
1321                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1322                         handling
1323                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1324                         const since they never get modified
1325                 - (cleanup_device): split out common cleanup stuff to a new function
1326                 - (real_deactivate_quickly, finalize): use cleanup_device()
1327
1328         * src/nm-gsm-device.c
1329                 - (modem_get_reply): remove, unused
1330                 - (set_apn): give the card a bit more time to respond
1331                 - (manual_registration_again, schedule_manual_registration_again,
1332                    manual_registration_response, manual_registration): handle manual
1333                         registration timeouts better by retrying registration a few times
1334                         because cards are a bit slow after CFUN=1
1335                 - (automatic_registration_get_network, get_network_response): use
1336                         modem_wait_for_reply() because it interacts better with the serial
1337                         buffer and does more intelligent matching; need to wait for 'OK'
1338                         rather than just matching terminators
1339                 - (schedule_automatic_registration_again,
1340                    automatic_registration_response, automatic_registration): retry
1341                         registration a few times on timeout or "searching" because cards
1342                         take a bit to find a network after being powered up with CFUN=1
1343                 - (power_up_response, power_up, init_full_done, enter_pin,
1344                    check_pin_done): power up the card with CFUN=1 before trying to
1345                         register with the network
1346                 - (init_modem_full, init_modem): use more standard 3G init strings
1347
1348         * src/nm-hso-gsm-device.c
1349                 - (modem_get_reply): remove, unused
1350                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1351                         modem_wait_for_reply() to match actual responses instead of single
1352                         termination characters; it doesn't leave stuff in the serial buffer
1353                         that might confuse later calls
1354                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1355                         to ensure that the call is really disconnected and not leave extra
1356                         stuff in the serial buffer
1357
1358         * src/nm-cdma-device.c
1359                 - (power_up_response, power_up, init_done): try Sierra-style modem
1360                         power up before attempting to connect
1361
1362 2008-09-27  Dan Williams  <dcbw@redhat.com>
1363
1364         * libnm-util/nm-setting-gsm.c
1365                 - (verify): verify GSM network ID
1366
1367 2008-09-25  Dan Williams  <dcbw@redhat.com>
1368
1369         * libnm-util/nm-setting-gsm.c
1370           libnm-util/nm-setting-gsm.h
1371                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1372                         technology terms (bgo #551361)
1373
1374 2008-09-25  Dan Williams  <dcbw@redhat.com>
1375
1376         Fix bgo #549401 (inspired by patch from Alexander Sack)
1377
1378         * src/nm-device-ethernet.c
1379                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1380                 - (remove_supplicant_interface_error_handler): remove the supplicant
1381                         error idle callback too
1382                 - (supplicant_interface_release): rename from supplicant_interface_clean
1383                         to match nm-device-wifi.c; clean up supplicant interface-related
1384                         state tasks when the supplicant interface is disposed of
1385                 - (schedule_state_handler): add scheduled tasks to a list so they can
1386                         be cleaned up later
1387                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1388                    supplicant_iface_connection_state_cb_handler): use
1389                         finish_supplicant_task() to clean up each completed task
1390                 - (supplicant_iface_connection_error_cb_handler,
1391                    supplicant_connection_timeout_cb): clear source id when the task is
1392                         complete
1393                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1394                         later cleanup
1395                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1396                         tasks
1397
1398         * src/nm-device-wifi.c
1399                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1400                 - (remove_supplicant_interface_error_handler): remove the supplicant
1401                         error idle callback too
1402                 - (supplicant_interface_release): clean up supplicant interface-related
1403                         state tasks when the supplicant interface is disposed of
1404                 - (schedule_state_handler): add scheduled tasks to a list so they can
1405                         be cleaned up later
1406                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1407                    supplicant_iface_connection_state_cb_handler): use
1408                         finish_supplicant_task() to clean up each completed task
1409                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1410                         the task is complete
1411                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1412                         later cleanup
1413                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1414
1415 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1416
1417         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1418         method and get/set hostname property.
1419
1420 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1421
1422         * src/supplicant-manager/nm-supplicant-interface.c
1423         (nm_supplicant_interface_disconnect): Don't increment the reference 
1424         count when disconnecting. The problem is on shutdown, when the replies
1425         to these commands do not arrive before NM exits, resulting on never
1426         calling supplicant interface's dispose(), which removes the interface
1427         from supplicant.
1428
1429 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1430
1431         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1432         all the public function arguments.
1433
1434 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1435
1436         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1437         "Failure" signal from VPN plugins, store the failure reason, and
1438         use it when the state is changed to failure.
1439
1440         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1441         description.
1442
1443         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1444         reason to the end of the list to not break the API.
1445         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1446         so it can be shared by plugins and daemon.
1447
1448 2008-09-18  Dan Williams  <dcbw@redhat.com>
1449
1450         Patch from Alexander Sack <asac@ubuntu.com>
1451
1452         * configure.in
1453           system-settings/plugins/Makefile.am
1454           system-settings/plugins/ifupdown/Makefile.am
1455           system-settings/plugins/ifupdown/interface_parser.c
1456           system-settings/plugins/ifupdown/interface_parser.h
1457           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1458           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1459           system-settings/plugins/ifupdown/parser.c
1460           system-settings/plugins/ifupdown/parser.h
1461           system-settings/plugins/ifupdown/plugin.c
1462           system-settings/plugins/ifupdown/plugin.h
1463                 - Implement a Debian/Ubuntu legacy network configuration plugin
1464                         (gnome.org #551941)
1465
1466 2008-09-18  Dan Williams  <dcbw@redhat.com>
1467
1468         Implement support for honoring configured and automatic hostnames, and for
1469         setting the configured hostname.
1470
1471         * introspection/nm-ip4-config.xml
1472           src/nm-ip4-config.c
1473           src/nm-ip4-config.h
1474           src/dhcp-manager/nm-dhcp-manager.c
1475                 - Remove useless hostname property; it's not really part of the IPv4
1476                         config
1477
1478         * introspection/nm-settings-system.xml
1479           libnm-glib/nm-dbus-settings-system.c
1480           libnm-glib/nm-dbus-settings-system.h
1481                 - Add SetHostname() call to system settings D-Bus interface
1482                 - Add Hostname property to system settings D-Bus interface
1483                 - (nm_dbus_settings_system_save_hostname,
1484                    nm_dbus_settings_system_get_hostname): implement
1485
1486         * src/nm-device.c
1487           src/nm-device.h
1488                 - (nm_device_get_dhcp4_config): implement
1489
1490         * src/nm-manager.c
1491           src/nm-manager.h
1492                 - Fetch and track system settings service hostname changes, and proxy
1493                         the changes via a GObject property of the manager
1494
1495         * system-settings/src/nm-system-config-interface.c
1496           system-settings/src/nm-system-config-interface.h
1497                 - Replace nm_system_config_interface_supports_add() with a capabilities
1498                         bitfield
1499
1500         * system-settings/src/nm-system-config-error.c
1501           system-settings/src/nm-system-config-error.h
1502                 - Add additional errors
1503
1504         * system-settings/src/dbus-settings.c
1505           system-settings/src/dbus-settings.h
1506                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1507                         property; first plugin returning a hostname wins
1508                 - (impl_settings_add_connection): use plugin capabilities instead of
1509                         nm_system_config_interface_supports_add()
1510                 - (impl_settings_save_hostname): implement hostname saving
1511
1512         * src/NetworkManagerPolicy.c
1513                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1514                    lookup_thread_die): implement an asynchronous hostname lookup thread
1515                         which given an IPv4 address tries to look up the hostname for that
1516                         address with reverse DNS
1517                 - (get_best_device): split out best device code from
1518                         update_routing_and_dns()
1519                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1520                         to preserve the 127.0.0.1 reverse mapping that so many things require
1521                 - (set_system_hostname): set a given hostname
1522                 - (update_system_hostname): implement hostname policy; a configured
1523                         hostname (from the system settings service) is used if available,
1524                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1525                         If there was no automatically determined hostname, reverse DNS of
1526                         the best device's IP address will be used, and as a last resort the
1527                         hostname 'localhost.localdomain' is set.
1528                 - (update_routing_and_dns): use get_best_device(); update the system
1529                         hostname when the network config changes
1530                 - (hostname_changed): update system hostname if the system settings
1531                         service signals a hostname change
1532                 - (nm_policy_new): list for system settings service hostname changes
1533                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1534                         gets told to die
1535
1536         * system-settings/plugins/keyfile/plugin.c
1537           system-settings/plugins/ifcfg-suse/plugin.c
1538                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1539                         capabilities properties
1540
1541         * system-settings/plugins/ifcfg-fedora/shvar.c
1542                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1543                         writes out /etc/sysconfig/network now
1544
1545         * system-settings/plugins/ifcfg-fedora/plugin.c
1546                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1547                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1548                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1549                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1550                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1551                         hostname get/set and capabilities get
1552
1553 2008-09-18  Dan Williams  <dcbw@redhat.com>
1554
1555         * libnm-util/nm-setting-wireless.c
1556                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1557                         group ciphers if the wireless-security setting explicitly specified
1558                         them, effectively making the default be "all ciphers"  (idea from
1559                         Alexander Sack)
1560
1561 2008-09-15  Dan Williams  <dcbw@redhat.com>
1562
1563         Patch from Alexander Sack <asac@ubuntu.com>
1564
1565         * src/named-manager/nm-named-manager.c
1566                 - (dispatch_resolvconf): respect resolvconf exit code
1567
1568 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1569
1570         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1571         again. Add some debugging.
1572
1573 2008-09-11  Dan Williams  <dcbw@redhat.com>
1574
1575         * system-settings/plugins/keyfile/plugin.c
1576                 - (update_connection_settings): update connection manually, since
1577                         nm_exported_connection_update() does authentication
1578                 - (dir_changed): update_connection_settings() doesn't need to return
1579                         an error
1580
1581 2008-09-09  Dan Williams  <dcbw@redhat.com>
1582
1583         * libnm-glib/nm-vpn-plugin-ui-interface.c
1584           libnm-glib/nm-vpn-plugin-ui-interface.h
1585           libnm-glib/libnm_glib_vpn.ver
1586                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1587                         should clean up resources related to the connection (like keyring
1588                         secrets)
1589                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1590                         should save user-scope secrets (like to the keyring)
1591
1592 2008-09-08  Dan Williams  <dcbw@redhat.com>
1593
1594         Patch from Alexander Sack <asac@ubuntu.com>
1595
1596         * libnm-util/crypto_gnutls.c
1597           libnm-util/crypto_nss.c
1598                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1599
1600         * libnm-util/nm-utils.c
1601           libnm-util/nm-utils.h
1602           libnm-util/libnm-util.ver
1603                 - (nm_utils_init): initialize libnm-util
1604                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1605
1606         * libnm-util/nm-setting-8021x.c
1607                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1608
1609 2008-09-05  Dan Williams  <dcbw@redhat.com>
1610
1611         Patch from Roy Marples <roy@marples.name> and others
1612
1613         * configure.in
1614           src/named-manager/nm-named-manager.c
1615                 - Add support for resolvconf; use --with-resolvconf at configure time
1616                         to enable it
1617
1618 2008-09-05  Dan Williams  <dcbw@redhat.com>
1619
1620         * libnm-util/crypto_nss.c
1621           libnm-util/crypto_gnutls.c
1622           libnm-util/crypto.h
1623                 - (crypto_init): return error when init fails
1624
1625 2008-09-05  Dan Williams  <dcbw@redhat.com>
1626
1627         * libnm-glib/nm-device-wifi.c
1628                 - (access_point_removed_proxy): clean up the active access point too
1629                         just in case the active ap changed signal didn't come through yet
1630                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1631
1632 2008-09-05  Dan Williams  <dcbw@redhat.com>
1633
1634         * libnm-glib/nm-client.c
1635                 - (constructor): get initial state after we know whether NM is running
1636                         or not
1637
1638 2008-09-05  Dan Williams  <dcbw@redhat.com>
1639
1640         * libnm-glib/nm-ip4-config.c
1641           libnm-glib/nm-dhcp4-config.c
1642                 - (finalize): clean up the DBusGProxy
1643
1644 2008-09-04  Dan Williams  <dcbw@redhat.com>
1645
1646         * src/nm-ip4-config.c
1647           src/nm-ip4-config.h
1648                 - (nm_ip4_config_new): don't export over D-Bus here
1649                 - (nm_ip4_config_export): new function; export the config over D-Bus
1650                 - (nm_ip4_config_is_exported): new function
1651
1652         * src/nm-device.c
1653                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1654                         objects by balancing the IP4Config constructor; the device holds
1655                         a reference to the IP4Config already
1656                 - (nm_device_set_ip4_config): export the IP4Config when needed
1657
1658 2008-09-04  Dan Williams  <dcbw@redhat.com>
1659
1660         * src/supplicant-manager/nm-supplicant-settings-verify.c
1661                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1662
1663 2008-09-04  Dan Williams  <dcbw@redhat.com>
1664
1665         * libnm-util/nm-setting-vpn.c
1666           libnm-util/nm-setting-vpn.h
1667                 - Split VPN secrets from VPN data so that settings services can actually
1668                         figure out that they are secrets and store them accordingly
1669
1670         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1671           system-settings/plugins/keyfile/reader.c
1672           system-settings/plugins/keyfile/reader.h
1673           system-settings/plugins/keyfile/writer.c
1674                 - Store VPN secrets separately from VPN data so that they can be fetched
1675                         on demand
1676                 - Implement the get_secrets() call so that (a) secrets don't leak out
1677                         to unprivileged callers, and (b) secrets can be sent to privileged
1678                         callers when needed
1679
1680         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1681                 - Handle split VPN secrets
1682
1683 2008-08-27  Dan Williams  <dcbw@redhat.com>
1684
1685         * system-settings/plugins/ifcfg-fedora/reader.c
1686                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1687
1688 2008-08-27  Dan Williams  <dcbw@redhat.com>
1689
1690         Ensure zombie children get cleaned up.  To get notifications when children
1691         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1692         that requires calling waitpid() yourself if you've removed the child watch
1693         handler before the process has actually died, which NM needs to do in a few
1694         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1695         cleans up after the child when required.  Should fix problems trying to
1696         activate mobile broadband connections after a previous failure.
1697
1698         * src/dhcp-manager/nm-dhcp-dhclient.c
1699           src/dhcp-manager/nm-dhcp-dhcpcd.c
1700                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1701
1702         * src/dhcp-manager/nm-dhcp-manager.c
1703                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1704                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1705                         block on child quitting, since the non-blocking functionality was
1706                         never actually used
1707
1708         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1709                 - (dm_watch_cb): child is already reaped here
1710                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1711
1712         * src/nm-device.c
1713                 - (aipd_cleanup): block until child is dead
1714
1715         * src/named-manager/nm-named-manager.c
1716                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1717                         event bothering to watch the child
1718
1719         * src/ppp-manager/nm-ppp-manager.c
1720                 - (ppp_watch_cb): child is already reaped here
1721                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1722
1723         * src/vpn-manager/nm-vpn-service.c
1724                 - (vpn_service_watch_cb): child is already reaped here
1725                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1726                         status of the child is actually tracked
1727                 - (ensure_killed, finalize): block until child is dead
1728
1729 2008-08-26  Dan Williams  <dcbw@redhat.com>
1730
1731         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1732                 - (update): Update filename of the connection if the connection id
1733                         was changed
1734
1735         * system-settings/plugins/keyfile/plugin.c
1736                 - (dir_changed): first pass at handling connection renames correctly
1737
1738         * system-settings/plugins/keyfile/writer.c
1739           system-settings/plugins/keyfile/writer.h
1740                 - (write_connection): replace '/' with '*' when writing out the filename
1741                         from the connection id
1742
1743 2008-08-26  Dan Williams  <dcbw@redhat.com>
1744
1745         Add connection UUIDs, since connection names can be changed, and since
1746         old-style connection IDs could change over the life of the connection.  The
1747         UUID should be assigned at connection creation time, be stable for a given
1748         connection, and should be unique among all connections for a given settings
1749         service.
1750
1751         * configure.in
1752           libnm-util/Makefile.am
1753                 - Require libuuid
1754
1755         * introspection/nm-exported-connection.xml
1756                 - Remove "GetID" method
1757
1758         * libnm-glib/nm-dbus-connection.c
1759           libnm-glib/nm-settings.c
1760           libnm-glib/nm-settings.h
1761                 - Remove id-related stuff
1762
1763         * libnm-util/nm-utils.c
1764           libnm-util/nm-utils.h
1765           libnm-util/libnm-util.ver
1766                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1767                         utility functions to generate UUIDs
1768
1769         * libnm-util/nm-setting-connection.c
1770           libnm-util/nm-setting-connection.h
1771                 - Add 'uuid' member to the connection setting
1772                 - (verify): require valid 'uuid' for a valid connection
1773
1774         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1775           system-settings/plugins/ifcfg-fedora/reader.c
1776           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1777           system-settings/plugins/ifcfg-suse/parser.c
1778           system-settings/plugins/keyfile/nm-keyfile-connection.c
1779           system-settings/src/main.c
1780                 - Remove id-related stuff
1781                 - Give connections UUIDs where needed
1782
1783 2008-08-25  Dan Williams  <dcbw@redhat.com>
1784
1785         * libnm-util/crypto_gnutls.c
1786           libnm-util/crypto_nss.c
1787                 - (crypto_init, crypto_deinit): refcount init/deinit
1788                 - (crypto_md5_hash): allow NULL salt
1789
1790 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1791
1792         * libnm-glib/Makefile.am
1793           libnm-util/Makefile.am
1794           libnm-glib/libnm_glib.ver
1795           libnm-glib/libnm_glib_vpn.ver
1796           libnm-util/libnm-util.ver
1797                 - Use linker version scripts to control the list of exported 
1798                 symbols. List each exported symbol explicitely.
1799         * libnm-util/Makefile.am
1800                 - Fix compilation of the test-crypto binary. The crypto
1801                 functions are no longer part of the libnm-util API. Add 
1802                 crypto_*.c to test_crypto_SOURCES and link against the correct
1803                 crypto libraries.
1804
1805 2008-08-19  Dan Williams  <dcbw@redhat.com>
1806
1807         * configure.in
1808           test/Makefile.am
1809                 - Don't build test/test-common
1810                 - Remove unused stuff
1811
1812         * test/nm-set-fallback
1813           test/nmtestdevices.c
1814           test/test-common/.cvsignore
1815           test/test-common/Makefile.am
1816           test/test-common/test-common.c
1817           test/test-common/test-common.h
1818                 - delete
1819
1820 2008-08-18  Dan Williams  <dcbw@redhat.com>
1821
1822         * libnm-util/nm-utils.c
1823           libnm-util/nm-utils.h
1824                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1825                         export anything that needs to be converted with this function
1826
1827         * src/dhcp-manager/nm-dhcp-manager.c
1828                 - (garray_to_string): convert a byte array to a UTF-8 string with
1829                         minimal validation; the DHCP client sends it in ASCII anyway
1830                 - (get_option, copy_option): use garray_to_string()
1831
1832 2008-08-18  Dan Williams  <dcbw@redhat.com>
1833
1834         * include/NetworkManager.h
1835           introspection/nm-device.xml
1836                 - Add a "missing firmware" device state reason
1837
1838         * src/NetworkManagerSystem.c
1839           src/NetworkManagerSystem.h
1840                 - (nm_system_device_set_up_down): add a no_firmware argument
1841                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1842                         IFF_UP is ENOENT, that almost always means missing firmware
1843
1844         * src/backends/NetworkManagerGeneric.c
1845           src/nm-device-ethernet.c
1846           src/nm-device-private.h
1847           src/nm-device-wifi.c
1848           src/nm-device.c
1849           src/nm-device.h
1850           src/nm-hso-gsm-device.c
1851           src/vpn-manager/nm-vpn-connection.c
1852                 - Pass no_firmware along; check it where appropriate
1853
1854 2008-08-18  Dan Williams  <dcbw@redhat.com>
1855
1856         Patch from Robert Buchholz <rbu@gentoo.org>
1857
1858         * autogen.sh
1859           configure.in
1860                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1861                         1003.1-1988, allowing for file names longer than 99 characters
1862
1863 2008-08-17  Dan Williams  <dcbw@redhat.com>
1864
1865         * include/NetworkManager.h
1866           introspection/nm-device.xml
1867           src/nm-gsm-device.c
1868                 - Finer-grained GSM registration failure error codes
1869
1870 2008-08-17  Dan Williams  <dcbw@redhat.com>
1871
1872         * callouts/Makefile.am
1873           src/Makefile.am
1874                 - Move dispatcher directory creation to callouts/Makefile.am
1875
1876         * system-settings/plugins/keyfile/Makefile.am
1877                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1878
1879 2008-08-15  Dan Williams  <dcbw@redhat.com>
1880
1881         Do connection sharing in a cleaner manner; all required iptables rules
1882         are now stored in the activation request and pertain only to the device
1883         which is being shared to other computers. (rh #458625)
1884
1885         * src/nm-activation-request.c
1886           src/nm-activation-request.h
1887                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1888                         the activation request which will get torn down automatically when
1889                         the activation request dies
1890                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1891                         is started, and tear them down when sharing is stopped
1892
1893         * src/nm-device.c
1894                 - (start_sharing): start up sharing by doing the required iptables magic
1895                 - (share_init): poke the right bits of the kernel and load the right
1896                         modules for NAT
1897                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1898                         connection if it's a 'shared' connection
1899
1900         * src/NetworkManagerPolicy.c
1901                 - Remove all sharing stuff; done in the device code itself
1902
1903 2008-08-15  Dan Williams  <dcbw@redhat.com>
1904
1905         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1906                 - (create_dm_cmd_line): send the right router address
1907
1908 2008-08-15  Dan Williams  <dcbw@redhat.com>
1909
1910         * src/ppp-manager/nm-ppp-manager.c
1911                 - (pppd_timed_out): ensure timeouts fail the connection
1912
1913 2008-08-14  Dan Williams  <dcbw@redhat.com>
1914
1915         * src/nm-properties-changed-signal.c
1916           src/nm-properties-changed-signal.h
1917                 - Add a property spec flag for "don't export this property" in
1918                         property changed signals
1919
1920         * src/nm-hso-gsm-device.c
1921           src/nm-gsm-device.c
1922           src/nm-cdma-device.c
1923                 - Don't export monitor interface or netdev interface properties
1924
1925 2008-08-14  Dan Williams  <dcbw@redhat.com>
1926
1927         * src/NetworkManagerPolicy.c
1928                 - (update_routing_and_dns): 'hso' devices can be default even if they
1929                         don't have a gateway
1930
1931 2008-08-14  Dan Williams  <dcbw@redhat.com>
1932
1933         * src/nm-device.c
1934                 - (nm_device_deactivate_quickly): tear down activation request after
1935                         calling device-specific deactivation
1936
1937         * src/nm-hso-gsm-device.c
1938                 - (real_deactivate_quickly): terminate connection when deactivating
1939
1940 2008-08-14  Dan Williams  <dcbw@redhat.com>
1941
1942         * src/nm-activation-request.h
1943                 - Add HSO secrets caller
1944
1945         * src/nm-gsm-device.c
1946           src/nm-gsm-device.h
1947                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1948                         something to the callback function
1949                 - (set_apn, set_apn_done): call class dial function, not a static one
1950                 - (nm_gsm_device_class_init): add a class 'dial' function
1951
1952         * src/nm-hal-manager.c
1953                 - (get_hso_netdev): find the hso-driven hardware's net device
1954                 - (modem_device_creator): recognize hso-driven hardware and create the
1955                         right type of device object for it
1956
1957         * src/Makefile.am
1958           src/nm-hso-gsm-device.c
1959           src/nm-hso-gsm-device.h
1960                 - Implement support for devices driven by the 'hso' driver as a subclass
1961                         of NMGsmDevice
1962
1963 2008-08-14  Dan Williams  <dcbw@redhat.com>
1964
1965         * src/NetworkManagerSystem.c
1966                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1967                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1968                         success if the operation really was successful
1969
1970 2008-08-14  Dan Williams  <dcbw@redhat.com>
1971
1972         * src/nm-netlink-monitor.c
1973           src/nm-netlink-monitor.h
1974           src/nm-device-ethernet.c
1975                 - (nm_netlink_monitor_request_status): return an error on failure
1976                 - (constructor): don't segfault on missing error
1977
1978 2008-08-13  Dan Williams  <dcbw@redhat.com>
1979
1980         * callouts/nm-dispatcher-action.c
1981                 - Add IP4 config info to script environment
1982
1983 2008-08-12  Dan Williams  <dcbw@redhat.com>
1984
1985         * src/nm-device.c
1986                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1987                         that want to use DHCP hostnames should use dispatcher scripts
1988                         for that
1989
1990         * src/NetworkManagerSystem.h
1991           src/backends/NetworkManagerArch.c
1992           src/backends/NetworkManagerDebian.c
1993           src/backends/NetworkManagerFrugalware.c
1994           src/backends/NetworkManagerGeneric.c
1995           src/backends/NetworkManagerGeneric.h
1996           src/backends/NetworkManagerGentoo.c
1997           src/backends/NetworkManagerMandriva.c
1998           src/backends/NetworkManagerPaldo.c
1999           src/backends/NetworkManagerRedHat.c
2000           src/backends/NetworkManagerSlackware.c
2001           src/backends/NetworkManagerSuSE.c
2002                 - Remove nm_system_set_hostname(), no longer used
2003           
2004         * src/backends/Makefile.am
2005           src/backends/shvar.c
2006           src/backends/shvar.h
2007                 - Remove shvar.*; no longer used
2008
2009 2008-08-12  Dan Williams  <dcbw@redhat.com>
2010
2011         Revert most of the 'hostname' patch.  Too much stuff still breaks when
2012         hostname is updated at runtime.  Distros or users who want hostname updates
2013         can use dispatcher scripts to update the hostname if they need it.
2014
2015 2008-08-12  Dan Williams  <dcbw@redhat.com>
2016
2017         * introspection/nm-settings-system.xml
2018           system-settings/src/dbus-settings.c
2019           system-settings/src/dbus-settings.h
2020                 - Add a 'Hostname' property (rw) which represents the configured
2021                         hostname and domain of the system, if any
2022
2023         * system-settings/src/nm-system-config-error.c
2024           system-settings/src/nm-system-config-error.h
2025           system-settings/src/nm-system-config-interface.c
2026           system-settings/src/nm-system-config-interface.h
2027                 - Add a 'hostname' property to the plugin interface
2028                 - Add a method to send updated hostname to plugins to save in their
2029                         backing configuration store
2030
2031         * system-settings/plugins/keyfile/nm-keyfile-connection.c
2032           system-settings/plugins/keyfile/plugin.c
2033           system-settings/plugins/keyfile/writer.c
2034           system-settings/plugins/keyfile/writer.h
2035           system-settings/plugins/ifcfg-suse/plugin.c
2036                 - Add minimal hostname support
2037
2038         * system-settings/plugins/ifcfg-fedora/plugin.c
2039                 - Add support for updating system hostname in /etc/sysconfig/network
2040
2041 2008-08-12  Dan Williams  <dcbw@redhat.com>
2042
2043         * system-settings/plugins/ifcfg-fedora/shvar.c
2044           system-settings/plugins/ifcfg-fedora/shvar.c
2045                 - Fix double-free caused by svSetValue() followed by svCloseFile()
2046
2047 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2048
2049         * Makefile.am: Fix distcheck.
2050
2051 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2052
2053         * libnm-glib/*.c. Document some more.
2054
2055 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2056
2057         Start documenting libnm-glib public API using gtk-doc.
2058
2059         * libnm-glib/nm-serial-device.c: 
2060         * libnm-glib/nm-object.c: 
2061         * libnm-glib/nm-gsm-device.c: 
2062         * libnm-glib/nm-device.c: 
2063         * libnm-glib/nm-device-wifi.c: 
2064         * libnm-glib/nm-device-ethernet.c: 
2065         * libnm-glib/nm-client.c: 
2066         * libnm-glib/nm-cdma-device.c: Document the public API.
2067
2068         * docs/libnm-glib/libnm-glib.types: Implement.
2069
2070         * docs/libnm-glib/Makefile.am: Implement.
2071
2072         * autogen.sh: 
2073         * configure.in: 
2074         * Makefile.am: Add gtk-doc support.
2075
2076 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2077
2078         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2079
2080         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2081         the composite result of all the IP4 configurations and call a distro
2082         specific update_resolv_conf().
2083         (update_resolv_conf): Implement one for directly writing to 
2084         /etc/resolv.conf and one for opensuse to call netconfig.
2085
2086 2008-08-11  Dan Williams  <dcbw@redhat.com>
2087
2088         * src/ppp-manager/nm-ppp-manager.c
2089                 - (impl_ppp_manager_need_secrets): pass interface as required
2090
2091 2008-08-11  Dan Williams  <dcbw@redhat.com>
2092
2093         Merge the vpn-properties setting with the vpn setting since it was pointless
2094         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2095         of string:string (instead of string:variant) so that system settings plugins
2096         can have an easier time dealing with the arbitrary key/value pairs.
2097
2098 2008-08-11  Dan Williams  <dcbw@redhat.com>
2099
2100         * libnm-util/nm-utils.c
2101                 - (nm_utils_register_value_transformations): add value transform for
2102                         a hash table of string:string
2103
2104 2008-08-10  Dan Williams  <dcbw@redhat.com>
2105
2106         * libnm-glib/nm-vpn-plugin.c
2107                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2108                         an idle handler so the Connect reply gets delivered before the
2109                         stop StateChanged signal
2110
2111 2008-08-10  Dan Williams  <dcbw@redhat.com>
2112
2113         * src/nm-ip4-config.c
2114                 - (get_property): use common ip4 address/route conversion functions
2115                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2116                         copy the new route here, not take ownership
2117
2118 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2119
2120         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2121         Update the IP4 setting's method name.
2122
2123 2008-08-07  Dan Williams  <dcbw@redhat.com>
2124
2125         * introspection/nm-ip4-config.xml
2126           libnm-glib/libnm-glib-test.c
2127           libnm-glib/nm-ip4-config.c
2128           libnm-glib/nm-ip4-config.h
2129           src/NetworkManagerSystem.h
2130           src/backends/NetworkManagerArch.c
2131           src/backends/NetworkManagerDebian.c
2132           src/backends/NetworkManagerFrugalware.c
2133           src/backends/NetworkManagerGeneric.c
2134           src/backends/NetworkManagerGeneric.h
2135           src/backends/NetworkManagerGentoo.c
2136           src/backends/NetworkManagerMandriva.c
2137           src/backends/NetworkManagerPaldo.c
2138           src/backends/NetworkManagerRedHat.c
2139           src/backends/NetworkManagerSlackware.c
2140           src/backends/NetworkManagerSuSE.c
2141           src/dhcp-manager/nm-dhcp-manager.c
2142           src/nm-device.c
2143           src/nm-ip4-config.c
2144           src/nm-ip4-config.h
2145                 - Remove NIS logic; should be done from dispatcher scripts instead
2146
2147 2008-08-07  Dan Williams  <dcbw@redhat.com>
2148
2149         * src/dhcp-manager/nm-dhcp-manager.c
2150                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2151                         mis-handling of DHCP responses that returned more than one router
2152                         (found by Grant Williamson)
2153
2154 2008-08-07  Dan Williams  <dcbw@redhat.com>
2155
2156         * callouts/nm-dispatcher-action.c
2157                 - (nm_dispatcher_action): grab device path and create the device; pass
2158                         the device's DHCP4 config to script caller
2159                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2160                         scripts
2161
2162         * libnm-glib/nm-dhcp4-config.c
2163           libnm-glib/nm-dhcp4-config.h
2164                 - (nm_dhcp4_config_get_options): expose
2165                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2166
2167 2008-08-07  Dan Williams  <dcbw@redhat.com>
2168
2169         * include/NetworkManager.h
2170                 - Add the DHCP4Config D-Bus interface
2171
2172         * libnm-glib/Makefile.am
2173           libnm-glib/nm-dhcp4-config.c
2174           libnm-glib/nm-dhcp4-config.h
2175                 - Handle DHCP4 config objects exported by NM over D-Bus
2176
2177         * libnm-glib/nm-device.c
2178           libnm-glib/nm-device.h
2179                 - Add a 'dhcp4-config' property
2180
2181         * libnm-glib/libnm-glib-test.c
2182                 - Print out DHCP4 config for devices
2183                 - Fix some crashes when no connections are active
2184
2185         * src/nm-device-interface.c
2186           src/nm-device.c
2187           src/nm-dhcp4-config.c
2188           src/nm-dhcp4-config.h
2189                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2190                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2191                         doesn't let us do when the property type is G_TYPE_OBJECT
2192
2193 2008-08-07  Dan Williams  <dcbw@redhat.com>
2194
2195         * src/NetworkManager.c
2196           src/NetworkManagerSystem.h
2197           src/backends/NetworkManagerArch.c
2198           src/backends/NetworkManagerDebian.c
2199           src/backends/NetworkManagerFrugalware.c
2200           src/backends/NetworkManagerGeneric.c
2201           src/backends/NetworkManagerGeneric.h
2202           src/backends/NetworkManagerGentoo.c
2203           src/backends/NetworkManagerMandriva.c
2204           src/backends/NetworkManagerPaldo.c
2205           src/backends/NetworkManagerRedHat.c
2206           src/backends/NetworkManagerSlackware.c
2207           src/backends/NetworkManagerSuSE.c
2208                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2209
2210 2008-08-06  Dan Williams  <dcbw@redhat.com>
2211
2212         * libnm-glib/nm-ip4-config.c
2213           libnm-glib/nm-ip4-config.h
2214                 - Add 'routes' property
2215
2216         * libnm-util/nm-setting-vpn.c
2217           libnm-util/nm-setting-vpn.h
2218                 - Remove 'routes' property
2219
2220         * libnm-util/nm-setting-ip4-config.c
2221           libnm-util/nm-setting-ip4-config.h
2222                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2223                 - Add 'ignore-auto-routes' property
2224                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2225                         accomodate route metrics
2226                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2227
2228         * libnm-util/nm-utils.c
2229           libnm-util/nm-utils.h
2230                 - Add helpers for marshalling IP4 routes
2231
2232         * src/NetworkManagerUtils.c
2233                 - (nm_utils_merge_ip4_config): handle property renames and new route
2234                         structure
2235
2236         * src/NetworkManagerSystem.c
2237                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2238                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2239
2240         * src/dhcp-manager/nm-dhcp-manager.c
2241                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2242
2243         * system-settings/plugins/ifcfg-fedora/reader.c
2244           system-settings/plugins/ifcfg-fedora/writer.c
2245                 - Handle routes separately from addresses now that routes have a different
2246                         format
2247
2248         * introspection/nm-ip4-config.xml
2249           src/nm-ip4-config.c
2250           src/nm-ip4-config.h
2251                 - Rename internal routing functions
2252                 - 'static-routes' renamed to 'routes'
2253
2254 2008-08-04  Dan Williams  <dcbw@redhat.com>
2255
2256         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2257
2258         * src/NetworkManager.c
2259           src/nm-manager.c
2260           src/nm-manager.h
2261                 - More explicitly make the NMManager a singleton
2262
2263 2008-08-04  Dan Williams  <dcbw@redhat.com>
2264
2265         * libnm-util/nm-connection.c
2266           libnm-util/nm-connection.h
2267                 - (nm_connection_verify): return error on missing 'connection' setting
2268                         (found by Sjoerd Simons)
2269
2270 2008-08-04  Dan Williams  <dcbw@redhat.com>
2271
2272         Handle multiple concurrent PPP connections.
2273
2274         * src/ppp-manager/nm-ppp-manager.c
2275           src/ppp-manager/nm-ppp-manager.h
2276                 - (constructor): only PPP Manager request bus name once; each
2277                         NMPPPManager object gets a unique object path
2278                 - (nm_ppp_manager_class_init, get_property, set_property,
2279                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2280                         at construct time
2281                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2282                         remove timeout until PPP manager gets an IP4 config
2283                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2284                         the plugin can call back to this specific PPP manager instance
2285
2286         * src/nm-device-ethernet.c
2287           src/nm-serial-device.c
2288                 - Pass parent device in nm_ppp_manager_new()
2289
2290         * src/nm-gsm-device.c
2291           src/nm-cdma-device.c
2292                 - (device_state_changed): don't close serial device on NEED_AUTH
2293                         state changed, that's not a failure case like the rest are
2294
2295         * src/ppp-manager/nm-pppd-plugin.c
2296                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2297                         binds one interface to any pppd process, thus the correct index
2298                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2299                         problems; try harder to get a peer address in spite of pppd
2300                 - (plugin_init): use 'ipparam' as the object path back to our specific
2301                         PPP manager instance
2302
2303 2008-08-04  Dan Williams  <dcbw@redhat.com>
2304
2305         * src/ppp-manager/nm-ppp-manager.c
2306                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2307                         since the GSM and CDMA settings now implement need_secrets, we can
2308                         rely on them to do the right thing.  Where secrets are not required,
2309                         just pass empty strings back to the pppd plugin.
2310                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2311                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2312                         on successful IP4 config receipt
2313
2314 2008-08-04  Dan Williams  <dcbw@redhat.com>
2315
2316         * libnm-util/nm-setting-cdma.c
2317           libnm-util/nm-setting-gsm.c
2318                 - (verify): validate username & password if they exist
2319                 - (need_secrets): if username given, require a password too
2320
2321 2008-08-04  Dan Williams  <dcbw@redhat.com>
2322
2323         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2324                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2325                         manpage says about --listen-address without --interface
2326                         (bgo #546033)
2327
2328 2008-08-01  Dan Williams  <dcbw@redhat.com>
2329
2330         * libnm-glib/nm-device.c
2331                 - (proxy_get_string): util function for querying a HAL property
2332                 - (get_ancestor_device): split out from get_product_and_vendor()
2333                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2334                         from PCI devices by querying subsys properties
2335                 - (nm_device_update_description): simplify
2336
2337 2008-08-01  Dan Williams  <dcbw@redhat.com>
2338
2339         * libnm-util/nm-setting-ip4-config.c
2340           libnm-util/nm-setting-ip4-config.h
2341                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2342                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2343                         settings, and they don't necessarily use DHCP.
2344
2345         * src/NetworkManagerPolicy.c
2346           src/nm-device.c
2347           system-settings/plugins/ifcfg-fedora/reader.c
2348           system-settings/plugins/ifcfg-suse/parser.c
2349                 - Fixup for method changes
2350
2351 2008-07-31  Dan Williams  <dcbw@redhat.com>
2352
2353         * src/nm-activation-request.c
2354           src/vpn-manager/nm-vpn-connection.c
2355                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2356                         itself should be attached to the activation request or the VPN
2357                         connection, not the NMConnection object, since the call is not
2358                         expected to live as long as the NMConnection itself
2359
2360 2008-07-31  Dan Williams  <dcbw@redhat.com>
2361
2362         * src/nm-device-wifi.c
2363                 - (real_act_stage2_config): fix issue where association would continue
2364                         even though secrets were needed; 'goto out' was in wrong scope and
2365                         result of handle_auth_or_fail() should have been dumped directly to
2366                         'ret' to ensure that the association was postponed until secrets
2367                         are available
2368
2369 2008-07-31  Dan Williams  <dcbw@redhat.com>
2370
2371         * system-settings/plugins/ifcfg-fedora/plugin.c
2372           system-settings/plugins/ifcfg-fedora/reader.c
2373                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2374                         valid NM connection
2375
2376 2008-07-29  Dan Williams  <dcbw@redhat.com>
2377
2378         * src/nm-gsm-device.c
2379                 - (automatic_registration_response, automatic_registration): recognize
2380                         denied registration and reorder responses
2381
2382 2008-07-29  Dan Williams  <dcbw@redhat.com>
2383
2384         * src/nm-serial-device.c
2385                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2386                         time(2) is used for current time, which returns seconds, we shouldn't
2387                         be multiplying by 1000.
2388
2389 2008-07-28  Dan Williams  <dcbw@redhat.com>
2390
2391         Patch from Fabrice Bellet <fabrice@bellet.info>
2392
2393         * src/NetworkManagerSystem.c
2394                 - (route_in_same_subnet): mask addresses and compare them so that the
2395                         function actually does what it says it's going to do (rh #456685)
2396
2397 2008-07-27  Dan Williams  <dcbw@redhat.com>
2398
2399         * libnm-util/nm-setting-ip6-config.c
2400                 - (set_property): add missing break that caused routes to be overwritten
2401                         with addresses
2402
2403         * libnm-util/nm-setting-ip6-config.c
2404                 - (verify): validate routes and return GError everywhere on invalid setting
2405                 - (finalize): don't leak routes
2406                 - (set_property): add missing break that caused routes to be overwritten
2407                         with addresses
2408
2409 2008-07-27  Dan Williams  <dcbw@redhat.com>
2410
2411         * libnm-util/*
2412                 - Relicense to LGPLv2+
2413
2414 2008-07-27  Dan Williams  <dcbw@redhat.com>
2415
2416         * system-settings/plugins/ifcfg-fedora/reader.c
2417                 - (make_ip4_setting): fix parsing automatic configs
2418
2419 2008-07-27  Dan Williams  <dcbw@redhat.com>
2420
2421         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2422           src/nm-device.c
2423           src/ppp-manager/nm-ppp-manager.c
2424                 - Ensure child process gets reaped.  The child watch function may be
2425                         removed from the mainloop before the child gets killed, so we have
2426                         to make sure the child is reaped when it's told to die intentionally
2427
2428 2008-07-27  Dan Williams  <dcbw@redhat.com>
2429
2430         Patch from Roy Marples <roy@marples.name>
2431
2432         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2433                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2434
2435 2008-07-27  Dan Williams  <dcbw@redhat.com>
2436
2437         * src/nm-gsm-device.c
2438                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2439                         Huawei devices turn echo back on after CPIN (rh #456770)
2440
2441 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2442
2443         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2444         format argument to g_set_error() call.
2445
2446         * src/backends/interface_parser.[ch]: Remove.
2447
2448         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2449
2450 2008-07-21  Dan Williams  <dcbw@redhat.com>
2451
2452         * src/ppp-manager/nm-ppp-manager.c
2453                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2454                         to prevent pppd from picking up some random local address from an
2455                         interface that doesn't have anything to do with the one we're
2456                         interested in (rh #455348)
2457
2458 2008-07-17  Dan Williams  <dcbw@redhat.com>
2459
2460         * libnm-util/nm-utils.c
2461                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2462                         by locale
2463                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2464                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2465
2466 2008-07-17  Dan Williams  <dcbw@redhat.com>
2467
2468         * introspection/Makefile.am
2469           introspection/nm-device.xml
2470           introspection/nm-dhcp4-config.xml
2471                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2472                         itself
2473         * src/nm-device-interface.c
2474           src/nm-device-interface.h
2475                 - Add the DHCP4Config property
2476
2477         * src/nm-device.c
2478                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2479                         D-Bus clients when it changes
2480
2481         * src/nm-dhcp4-config.c
2482           src/nm-dhcp4-config.h
2483                 - Simple object to store DHCP4 options, export them over D-Bus, and
2484                         notify when they change
2485
2486         * src/dhcp-manager/nm-dhcp-manager.c
2487           src/dhcp-manager/nm-dhcp-manager.h
2488                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2489                         filter server-returned DHCP options into an NMDHCP4Config object
2490
2491 2008-07-16  Dan Williams  <dcbw@redhat.com>
2492
2493         * introspection/nm-device.xml
2494                 - Add device state reasons
2495
2496 2008-07-16  Dan Williams  <dcbw@redhat.com>
2497
2498         Patch from Roy Marples <roy@marples.name>
2499
2500         * configure.in
2501                 - Add --with-dhcp-client option
2502
2503         * src/dhcp-manager/Makefile.am
2504                 - pass DHCP_CLIENT_PATH on compile line
2505
2506         * src/dhcp-manager/nm-dhcp-manager.c
2507           src/dhcp-manager/nm-dhcp-manager.h
2508                 - Genericize for both dhcpcd and dhclient
2509
2510         * src/dhcp-manager/nm-dhcp-dhclient.c
2511                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2512
2513         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2514                 - Implement support for dhcpcd too
2515
2516 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2517
2518         * system-settings/src/nm-system-config-interface.c 
2519         (nm_system_config_interface_supports_add): Implement.
2520         (nm_system_config_interface_add_connection): Return a boolean to notify
2521         of errors.
2522
2523         * system-settings/src/nm-polkit-helpers.c: 
2524         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2525         a separate file.
2526
2527         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2528         Return an error when none of the plugins support add or if addition
2529         failed for some reason.
2530
2531         * system-settings/src/nm-system-config-error.h: 
2532         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2533         here from nm-polkit-helpers.[ch].
2534
2535         * system-settings/src/Makefile.am: Build new files.
2536
2537         * system-settings/plugins/keyfile/reader.c 
2538         (read_array_of_array_of_uint): Make it more general so that it would
2539         work for routes as well.
2540
2541         * system-settings/plugins/keyfile/writer.c
2542         (write_array_of_array_of_uint): Ditto.
2543         Fix the netmask/prefix writing.
2544
2545         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2546         boolean to notify errors.
2547
2548         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2549         Return more specific error.
2550         (delete): Ditto.
2551
2552 2008-07-11  Dan Williams  <dcbw@redhat.com>
2553
2554         Modify the NMDevice::state-changed signal to include the previous state
2555         and reason. Enables the applet to provide more information why device
2556         activation failed.
2557
2558 2008-07-09  Dan Williams  <dcbw@redhat.com>
2559
2560         * callouts/Makefile.am
2561           callouts/nm-avahi-autoipd-action.c
2562           callouts/nm-avahi-autoipd.conf
2563                 - avahi-autoipd callout to send options back to NM
2564
2565         * src/autoip.c
2566           src/autoip.h
2567                 - remove
2568
2569         * src/nm-device.c
2570           src/nm-device-private.h
2571           src/nm-manager.c
2572                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2573                         old custom stuff
2574
2575 2008-07-07  Dan Williams  <dcbw@redhat.com>
2576
2577         * system-settings/plugins/ifcfg-fedora/reader.c
2578                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2579                         handle PREFIX too; clean up
2580
2581 2008-07-07  Dan Williams  <dcbw@redhat.com>
2582
2583         Convert to using IPv4 prefixes instead of netmasks.
2584
2585 2008-07-03  Dan Williams  <dcbw@redhat.com>
2586
2587         * libnm-util/nm-setting-ip4-config.c
2588           libnm-util/nm-setting-ip4-config.h
2589                 - Add properties for DHCP Client Identifier and DHCP Hostname
2590
2591         * src/dhcp-manager/nm-dhcp-manager.c
2592           src/dhcp-manager/nm-dhcp-manager.h
2593                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2594                         setting as an argument to pass on to the dhclient config file
2595                         creation function
2596                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2597                         DHCP is torn down
2598                 - (dhclient_run): punt config file handling to create_dhclient_config()
2599                 - (create_dhclient_config): create an interface-specific dhclient
2600                         config file since there may need to be interface-specific options
2601                         passed to dhclient
2602                 - (merge_dhclient_config): merge normal distro dhclient config file and
2603                         add options from the connection
2604                 - (nm_dhcp_device_new): generate the interface specific dhclient
2605                         config file path once
2606                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2607                         dhclient config file path
2608
2609         * src/nm-device.c
2610                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2611                         DHCP manager when starting DHCP
2612
2613 2008-07-02  Dan Williams  <dcbw@redhat.com>
2614
2615         * libnm-util/nm-setting-8021x.c
2616                 - (verify): allow forcing the PEAP label to 0
2617
2618 2008-07-02  Dan Williams  <dcbw@redhat.com>
2619
2620         * introspection/nm-active-connection.xml
2621           introspection/nm-vpn-connection.xml
2622           libnm-glib/nm-active-connection.c
2623           src/nm-activation-request.c
2624           src/nm-active-connection.h
2625           src/vpn-manager/nm-vpn-connection.c
2626                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2627                         and libnm-glib API since sharing didn't get implemented that way
2628
2629 2008-07-02  Dan Williams  <dcbw@redhat.com>
2630
2631         * src/nm-device-wifi.c
2632                 - (can_scan): don't scan when a shared connection is activated since
2633                         that makes drivers mad (causing disconnects); also NM doesn't need
2634                         to hedge against disconnects by keeping up-to-date network topology
2635                         because the connection originates from the local machine, and thus
2636                         there should be no disconnects
2637
2638 2008-07-01  Dan Williams  <dcbw@redhat.com>
2639
2640         Fix mobile broadband username/password issues.  NM was never requesting
2641         mobile broadband secrets, nor was it passing back the username and password
2642         if it had them.
2643
2644         * marshallers/nm-marshal.list
2645                 - Add some new types for activation request objects
2646
2647         * src/nm-activation-request.c
2648           src/nm-activation-request.h
2649                 - (get_secrets_cb): pass the caller type in the signal
2650                 - (nm_act_request_request_connection_secrets): take a caller type, so
2651                         that GetSecrets() reply handlers know who asked for the secrets in
2652                         the first place; use secret hints too so the settings service can
2653                         figure out exactly what NM wants (ie, PIN or the PPP password)
2654
2655         * src/ppp-manager/nm-ppp-manager.c
2656           src/ppp-manager/nm-ppp-manager.h
2657                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2658                         detect needed secrets when the secret could be blank, like GSM/CDMA
2659                         passwords.  So always ask for secrets, and send a hint as to what
2660                         secret we really want.
2661                 - (nm_ppp_manager_update_secrets): make function more generic by making
2662                         the device specific class figure out the username and password, and
2663                         accept an error argument to return back over D-Bus
2664
2665         * src/nm-device-wifi.c
2666                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2667                         nm_act_request_request_connection_secrets()
2668                 - (real_connection_secrets_updated): update for 'caller' changes
2669
2670         * src/nm-device.c
2671           src/nm-device.h
2672                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2673                         for 'caller' changes
2674
2675         * src/nm-device-ethernet.c
2676                 - (real_connection_secrets_updated): update for 'caller' changes and
2677                         move logic for getting PPPoE username and password here before
2678                         calling nm_ppp_manager_update_secrets()
2679                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2680                         nm_act_request_request_connection_secrets()
2681
2682         * src/nm-cdma-device.c
2683                 - (real_connection_secrets_updated): pass username and password back
2684                         to the PPP manager when required
2685
2686         * src/nm-gsm-device.c
2687                 - (enter_pin): send the required secret name to the settings service
2688                 - (real_connection_secrets_updated): pass username and password back
2689                         to the PPP manager when required
2690
2691 2008-06-30  Dan Williams  <dcbw@redhat.com>
2692
2693         * src/nm-device-wifi.c
2694                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2695
2696 2008-06-30  Dan Williams  <dcbw@redhat.com>
2697
2698         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2699         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2700         priv->supplicant.iface.  When either condition is false, the device should
2701         transition back to UNAVAILABLE because it cannot be used.
2702
2703         * src/nm-device-wifi.c
2704                 - (constructor): cleanup; connect to supplicant manager here since the
2705                         supplicant manager is always around
2706                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2707                         ensure the supplicant manager is in the IDLE state
2708                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2709                         cancel any pending scans too
2710                 - (real_bring_up): don't set up the supplicnat interface here, because
2711                         we need the supplicant interface at times when the device may not
2712                         be "up"
2713                 - (real_take_down): just remove the periodic source
2714                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2715                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2716                         do anything if there's no supplicant interface
2717                 - (cleanup_association_attempt): cleanup
2718                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2719                         the interface enters the READY state; transition to UNAVAILABLE
2720                         state when the interface goes down because the device can't be used
2721                         without a supplicant interface
2722                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2723                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2724                         acquire the supplicant interface and transition to DISCONNECTED
2725                         if the radio isn't killed
2726                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2727                 - (state_changed_cb): release any existing supplicant interface; if the
2728                         radio is enabled then try to acquire a new supplicant interface;
2729                         if the radio is enabled and a supplicant interface has been acquired,
2730                         we can transition to DISCONNECTED
2731                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2732                         don't enable the radio, because HAL probably lied to us about the
2733                         killswitch being off.  If bringing the hardware up worked, then
2734                         try to grab a supplicant interface, and if that was successful,
2735                         transition to DISCONNECTED
2736
2737 2008-06-30  Dan Williams  <dcbw@redhat.com>
2738
2739         * src/supplicant-manager/nm-supplicant-interface.c
2740                 - (request_scan_results, nm_supplicant_interface_dispose,
2741                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2742                         the id of the timeout, not a GSource
2743
2744 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2745
2746         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2747         bunch of typoes introduced by "Patch from David Cantrell 
2748         <dcantrell@redhat.com> and me".
2749
2750 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2751
2752         * src/nm-serial-device.c: 
2753         * src/nm-gsm-device.c: 
2754         * src/nm-cdma-device.c: Move the pending call handling to a common location
2755         in serial device. Handle setting device state to failed in one place as well.
2756
2757 2008-06-29  Dan Williams <dcbw@redhat.com>
2758
2759         * src/nm-hal-manager.c
2760                 - Rework killswitch handling to query killswitch status immediately
2761                         when the first killswitch is added, so that rfkill state is
2762                         known as early as possible
2763                 - Also treat failure of GetPower() as rfkill when the dbus method
2764                         call times out (but not when the HAL callout returns an error)
2765
2766 2008-06-26  Dan Williams <dcbw@redhat.com>
2767
2768         Patch from David Cantrell <dcantrell@redhat.com> and me
2769
2770         * include/nm-dbus-glib-types.h
2771                 - Add IP6 address types
2772
2773         * libnm-util/Makefile.am
2774           libnm-util/nm-setting-ip6-config.c
2775           libnm-util/nm-setting-ip6-config.h
2776                 - Add IP6 settings object
2777
2778         * libnm-util/nm-connection.c
2779                 - (register_default_settings): register ip6 settings object
2780
2781         * libnm-util/nm-utils.c
2782           libnm-util/nm-utils.h
2783                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2784                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2785                         ip6 address conversion functions
2786         
2787 2008-06-26  Dan Williams <dcbw@redhat.com>
2788
2789         Patch from David Cantrell <dcantrell@redhat.com>
2790         
2791         * Use inet_ntop() and inet_pton() everwhere and check for errors
2792
2793 2008-06-26  Dan Williams <dcbw@redhat.com>
2794
2795         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2796
2797 2008-06-26  Dan Williams <dcbw@redhat.com>
2798
2799         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2800
2801         * src/nm-device-wifi.c
2802                 - (link_timeout_cb): don't ignore disconnects due to scanning
2803                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2804                         a longer timeout when scanning; avoids case where supplicant can't
2805                         find the AP and just keeps scanning forever but isn't connected
2806
2807 2008-06-26  Dan Williams <dcbw@redhat.com>
2808
2809         Patch from Michael Biebl <biebl@debian.org>
2810
2811         * Clean up build system stuff
2812
2813 2008-06-23  Christian Persch  <chpe@gnome.org>
2814
2815         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2816         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2817         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2818         (impl_get_object):
2819         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2820         (impl_get_object):
2821         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2822         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2823         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2824         (impl_get_object):
2825         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2826         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2827         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2828         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2829         * vpn-daemons/pptp/properties/vpnui_opt.c:
2830         (vpnui_opt_connect_signals):
2831         * vpn-daemons/pptp/properties/vpnui_opt.h:
2832         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2833         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2834         deprecated gtk type macros. Bug #539325.
2835
2836 2008-06-20  Dan Williams  <dcbw@redhat.com>
2837
2838         * libnm-glib/nm-vpn-plugin-ui-interface.c
2839           libnm-glib/nm-vpn-plugin-ui-interface.h
2840                 - 'validity-changed' -> 'changed' to work better with the connection
2841                         editor.  Plugin UI widgets should emit 'changed' whenever their
2842                         UI values change in a meaningful way.
2843                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2844                         update_connection member now returns validity of the UI widget
2845
2846 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2847
2848         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2849
2850 2008-06-17  Dan Williams  <dcbw@redhat.com>
2851
2852         * libnm-glib/nm-vpn-plugin-ui-interface.c
2853           libnm-glib/nm-vpn-plugin-ui-interface.h
2854                 - Add "desc" property for longer descriptions of the VPN plugin
2855
2856 2008-06-16  Dan Williams  <dcbw@redhat.com>
2857
2858         * configure.in
2859           libnm-glib/libnm_glib_vpn.pc.in
2860                 - add a .pc file for libnm_glib_vpn
2861
2862         * libnm-glib/nm-vpn-plugin-ui-interface.c
2863           libnm-glib/nm-vpn-plugin-ui-interface.h
2864                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2865                         rework it substantially
2866
2867 2008-06-12  Dan Williams  <dcbw@redhat.com>
2868
2869         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2870         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2871         returns a descriptive GError when verification fails.
2872
2873 2008-06-11  Dan Williams  <dcbw@redhat.com>
2874
2875         Patch from Tambet Ingo <tambet@gmail.com>
2876
2877         * libnm-util/nm-setting-gsm.c
2878                 - (verify): validate APN
2879
2880         * src/nm-gsm-device.c
2881                 - (manual_registration_done): start setting APN if needed
2882                 - (set_apn, set_apn_done): set the APN
2883                 - (do_dial): use the APN when dialing
2884
2885 2008-06-11  Dan Williams  <dcbw@redhat.com>
2886
2887         * src/NetworkManagerSystem.c
2888                 - (nm_system_device_set_ip4_route,
2889                    nm_system_device_replace_default_ip4_route): check for the right
2890                         return value from rtnl_route_add() to know when to add a gateway
2891                         route (from Tambet)
2892
2893 2008-06-11  Dan Williams  <dcbw@redhat.com>
2894
2895         * src/NetworkManagerPolicy.c
2896                 - do_ipt_cmd -> do_cmd
2897                 - (sharing_init): use do_cmd() instead of system()
2898
2899 2008-06-10  Dan Williams  <dcbw@redhat.com>
2900
2901         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2902         and use "wifi" everwhere instead.
2903
2904 2008-06-10  Dan Williams  <dcbw@redhat.com>
2905
2906         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2907
2908 2008-06-10  Dan Williams  <dcbw@redhat.com>
2909
2910         Patch from Tambet Ingo <tambet@gmail.com>
2911
2912         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2913                 changes.
2914
2915         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2916                 a signal to emit these changes over dbus.
2917
2918         * src/Makefile.am: Genereate nm-serial-device-glue.
2919
2920         * libnm-glib/nm-serial-device.[ch]: Implement.
2921
2922         * libnm-glib/nm-cdma-device.[ch]
2923           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2924
2925         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2926
2927         * introspection/nm-device-serial.xml: Implement.
2928
2929         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2930
2931         * introspection/Makefile.am: Add nm-device-serial.xml.
2932
2933         * include/NetworkManager.h: Add a DBus interface for serial device.
2934
2935 2008-06-10  Dan Williams  <dcbw@redhat.com>
2936
2937         * configure.in
2938                 - Add TARGET_* define to config.h to distinguish distros
2939
2940         * src/dhcp-manager/nm-dhcp-manager.c
2941                 - (dhclient_run): use distro-specific path for dhclient config file
2942
2943 2008-06-09  Dan Williams  <dcbw@redhat.com>
2944
2945         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2946           src/dnsmasq-manager/nm-dnsmasq-manager.h
2947                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2948                         calculate the addresses passed to dnsmasq instead of hard-coding
2949                         them
2950
2951         * src/nm-device.c
2952                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2953                         IP addresses for shared connections to guard against shared
2954                         connection address collisions
2955                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2956                         error conditions
2957                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2958                         the dnsmasq manager
2959
2960 2008-06-09  Dan Williams  <dcbw@redhat.com>
2961
2962         * src/NetworkManagerPolicy.c
2963                 - (update_routing_and_dns): set the default connection _after_ unsetting
2964                         default on all non-default connections so that two connections can
2965                         never be default at the same time
2966                 - (device_state_changed): start and stop connection sharing when
2967                         needed
2968                 - (active_connection_default_changed): restart or stop sharing when
2969                         the default connection changes to keep shared connections always
2970                         NAT-ed through the default connection
2971                 - (check_sharing): handle activation/deactivation of shared connections
2972                 - (sharing_restart): atom-bomb approach to connection sharing until we
2973                         can use libnl; reinit all sharing when the default connection or
2974                         shared connections change
2975                 - (sharing_init, sharing_stop): evil functions that init and deinit
2976                         iptables
2977
2978 2008-06-09  Dan Williams  <dcbw@redhat.com>
2979
2980         * src/nm-activation-request.c
2981           src/nm-activation-request.h
2982                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2983                    nm_act_request_get_device): new functions to facilitate connection
2984                         sharing
2985
2986 2008-06-09  Dan Williams  <dcbw@redhat.com>
2987
2988         * src/nm-device.c
2989                 - (clear_act_request): unset the 'default' property of the activation
2990                         request when clearing it to ensure the property changed signal gets
2991                         delivered and handled
2992
2993 2008-06-09  Dan Williams  <dcbw@redhat.com>
2994
2995         * libnm-glib/nm-device-802-11-wireless.c
2996                 - (access_point_removed_proxy): actually unref the AP after removing
2997                         it from the device's AP list.  Fixes refcounting bug for APs that
2998                         caused them to get mixed up in the applet's menu.
2999
3000 2008-06-09  Tambet Ingo  <tambet@gmail.com>
3001
3002         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
3003         (nm_dhcp_device_destroy): Destroy the device options hash table.
3004
3005 2008-06-06  Dan Williams <dcbw@redhat.com>
3006
3007         * system-settings/src/nm-polkit-helpers.c
3008                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
3009                         unref the context if the initialization fails; also avoid spew when
3010                         the error isn't set
3011
3012 2008-06-06  Dan Williams <dcbw@redhat.com>
3013
3014         Patch from Tambet Ingo  <tambet@gmail.com>
3015
3016         * src/NetworkManagerSystem.c
3017           src/NetworkManagerSystem.h
3018                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
3019                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
3020                 - (nm_system_device_set_ip4_route): clean up
3021                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
3022
3023         * src/nm-device.c
3024                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
3025
3026         * src/vpn-manager/nm-vpn-connection.c
3027                 - (ip_address_to_string): new function
3028                 - (print_vpn_config): use ip_address_to_string
3029                 - (merge_vpn_routes): add user-defined routes to the ip4 config
3030                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
3031
3032         * include/NetworkManagerVPN.h
3033                 - Add 'routes' key
3034
3035 2008-06-05  Dan Williams <dcbw@redhat.com>
3036
3037         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3038
3039         * test/nm-tool.c
3040                 - Show which device is the default device
3041
3042 2008-06-05  Tambet Ingo  <tambet@gmail.com>
3043
3044         Fix memory leaks.
3045
3046         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
3047         Free data returned from dbus method call.
3048
3049         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
3050         dbus_g_method_get_sender() returns a duplicated string, free it 
3051         when done.
3052         (check_polkit_privileges): Looks like policykit sometimes returns
3053         error and non-null return value, don't leak errors in that case.
3054
3055         * system-settings/src/main.c (find_plugin): Don't leak existing 
3056         plugin names.
3057         (load_stuff): Don't leak device list and list items.
3058         (have_connection_for_device): Don't leak connection list.
3059
3060         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
3061         Free the data received from g_keyfile_get_*.
3062
3063         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
3064         the key when the security object is updated.
3065
3066         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
3067         Free data returned from dbus method call.
3068         (iface_state_cb): Ditto.
3069         (add_network_cb): Ditto.
3070         (nm_supplicant_interface_add_cb): Don't make another copy of already
3071         duplicated object path.
3072         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
3073         when done.
3074
3075         * src/supplicant-manager/nm-supplicant-config.c 
3076         (ADD_STRING_LIST_VAL): Fix a memory leak.
3077
3078         * src/nm-manager.c (free_get_settings_info): Free the allocated
3079         memory slice.
3080         (list_connections_cb): Free data returned from dbus method call.
3081         (system_settings_get_unmanaged_devices_cb): Ditto.
3082
3083         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3084
3085         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3086         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3087         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3088         of the GList.
3089
3090         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3091         arguments after the object is created.
3092
3093 2008-06-04  Dan Williams <dcbw@redhat.com>
3094
3095         * libnm-util/Makefile.am
3096                 - Don't distribute nm-param-spec-specialized.h
3097
3098 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3099
3100         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3101
3102         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3103         NMIP4Address, update the getters and setters.
3104
3105         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3106         Use the updated NMIP4Config routes api.
3107
3108         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3109         static routes as well.
3110
3111         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3112         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3113         routes api.
3114
3115 2008-05-30  Dan Williams <dcbw@redhat.com>
3116
3117         * src/named-manager/nm-named-manager.c
3118           src/named-manager/nm-named-manager.h
3119                 - Remove stale/obsolete bits for controlling bind over DBus
3120
3121 2008-05-29  Dan Williams <dcbw@redhat.com>
3122
3123         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3124           src/dnsmasq-manager/nm-dnsmasq-manager.h
3125                 - (nm_dnsmasq_manager_new): move iface argument here
3126                 - (constructor): remove, not needed
3127                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3128                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3129
3130         * src/nm-device.c
3131                 - (real_act_stage4_get_ip4_config,
3132                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3133                         changes
3134
3135 2008-05-29  Dan Williams <dcbw@redhat.com>
3136
3137         * src/nm-device.c
3138                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3139                         something happens to dnsmasq
3140                 - (nm_device_new_ip4_shared_config): new function; create a new
3141                         ip4-config for shared connections.  Shared connections always use a
3142                         fixed static IP address.
3143                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3144                         autoip connections by actually using the returned ip4-config and
3145                         not leaking it
3146                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3147                         connections
3148                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3149                         if its active
3150
3151 2008-05-29  Dan Williams <dcbw@redhat.com>
3152
3153         * src/nm-device-802-11-wireless.c
3154                 - (real_get_best_auto_connection): auto-activate 'shared' method
3155                         connections too
3156
3157 2008-05-29  Dan Williams <dcbw@redhat.com>
3158
3159         * libnm-util/nm-setting-ip4-config.c
3160           libnm-util/nm-setting-ip4-config.h
3161                 - Add a 'shared' method to indicate that this connection should be
3162                         brought up with a DHCP and proxy DNS server to facilitate
3163                         connection sharing.
3164                 - (verify): 'shared' method doesn't allow DNS or searches either
3165
3166 2008-05-29  Dan Williams <dcbw@redhat.com>
3167
3168         * configure.in
3169           src/Makefile.am
3170           src/dnsmasq-manager/Makefile.am
3171           src/dnsmasq-manager/nm-dnsmasq-manager.c
3172           src/dnsmasq-manager/nm-dnsmasq-manager.h
3173                 - Add a dnsmasq daemon manager to facilitate connection sharing
3174
3175 2008-05-29  Dan Williams <dcbw@redhat.com>
3176
3177         * src/nm-device-private.h
3178                 - Remove unused prototypes and clean up
3179
3180         * src/nm-device.c
3181                 - Remove anything related to system_config_data, which is no longer used
3182                 - (nm_device_new_ip4_autoip_config): make static
3183
3184 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3185
3186         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3187         (file_changed): Fix a bug where suse system settings plugin didn't
3188         update the connections automatically when the files changed.
3189
3190 2008-05-28  Dan Williams  <dcbw@redhat.com>
3191
3192         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3193
3194 2008-05-28  Dan Williams  <dcbw@redhat.com>
3195
3196         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3197
3198         * src/NetworkManagerSystem.c
3199                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3200                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3201                         was causing -EINVAL errors since the libnl code actually does flush
3202                         the routes on VPN interfaces now
3203
3204         * src/backends/NetworkManagerArch.c
3205           src/backends/NetworkManagerDebian.c
3206           src/backends/NetworkManagerFrugalware.c
3207           src/backends/NetworkManagerGeneric.c
3208           src/backends/NetworkManagerGentoo.c
3209           src/backends/NetworkManagerMandriva.c
3210           src/backends/NetworkManagerPaldo.c
3211           src/backends/NetworkManagerRedHat.c
3212           src/backends/NetworkManagerSlackware.c
3213           src/backends/NetworkManagerSuSE.c
3214                 - (nm_system_device_flush_ip4_routes,
3215                    nm_system_device_flush_ip4_routes_with_iface): remove
3216
3217 2008-05-28  Dan Williams  <dcbw@redhat.com>
3218
3219         * libnm-util/nm-setting-wireless.c
3220           libnm-util/nm-setting-wireless.h
3221                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3222                         'adhoc-create' property, which when TRUE indicates that NM should
3223                         create this connection as an adhoc wifi network if it's not found
3224                         as an adhoc network during scanning.  Can be used to auto-create
3225                         adhoc networks when used in combination with autoconnect.
3226
3227 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3228
3229         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3230
3231         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3232         checked, it doesn't work on some devices.
3233
3234 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3235
3236         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3237         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3238
3239         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3240         Use inet_aton() everywhere to improve error detection.
3241         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3242         provided.
3243
3244 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3245
3246         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3247         Fix a typo.
3248
3249 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3250
3251         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3252         reference counting issue.
3253
3254 2008-05-23  Dan Williams  <dcbw@redhat.com>
3255
3256         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3257
3258         * src/backends/NetworkManagerGeneric.c
3259                 - (nm_generic_enable_loopback): use libnl
3260
3261 2008-05-23  Dan Williams  <dcbw@redhat.com>
3262
3263         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3264
3265         * src/NetworkManagerSystem.h
3266           src/backends/NetworkManagerArch.c
3267           src/backends/NetworkManagerDebian.c
3268           src/backends/NetworkManagerFrugalware.c
3269           src/backends/NetworkManagerGentoo.c
3270           src/backends/NetworkManagerMandriva.c
3271           src/backends/NetworkManagerPaldo.c
3272           src/backends/NetworkManagerRedHat.c
3273           src/backends/NetworkManagerSlackware.c
3274           src/backends/NetworkManagerSuSE.c
3275                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3276                    nm_system_flush_arp_cache): remove, unused
3277
3278         * src/backends/NetworkManagerGeneric.c
3279           src/backends/NetworkManagerGeneric.h
3280                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3281                    nm_generic_flush_arp_cache): remove, unused
3282
3283 2008-05-23  Dan Williams  <dcbw@redhat.com>
3284
3285         * system-settings/plugins/ifcfg-fedora/reader.c
3286                 - (make_ip4_setting): honor PEERDNS setting
3287
3288 2008-05-23  Dan Williams  <dcbw@redhat.com>
3289
3290         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3291
3292         * src/NetworkManagerSystem.c
3293                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3294                         libnl
3295
3296         * src/backends/NetworkManagerArch.c
3297           src/backends/NetworkManagerDebian.c
3298           src/backends/NetworkManagerFrugalware.c
3299           src/backends/NetworkManagerGentoo.c
3300           src/backends/NetworkManagerMandriva.c
3301           src/backends/NetworkManagerPaldo.c
3302           src/backends/NetworkManagerRedHat.c
3303           src/backends/NetworkManagerSlackware.c
3304           src/backends/NetworkManagerSuSE.c
3305                 - (nm_system_device_flush_ip4_addresses,
3306                    nm_system_device_flush_ip4_addresses_with_iface): remove
3307
3308         * src/backends/NetworkManagerGeneric.c
3309                 - (nm_generic_device_flush_ip4_addresses,
3310                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3311
3312 2008-05-23  Dan Williams  <dcbw@redhat.com>
3313
3314         * src/supplicant-manager/nm-supplicant-settings-verify.c
3315                 - Switch 'bssid' from bytes to keyword type
3316                 - (validate_type_keyword): allow NULL keyword lists
3317
3318         * src/supplicant-manager/nm-supplicant-config.c
3319                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3320                         a byte array to string form, which is what the supplicant expects
3321
3322 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3323
3324         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3325         information received from DHCP.
3326
3327         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3328         to make it possible to ignore the DNS information (both servers and 
3329         searches) returned by DHCP server.
3330
3331         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3332         name servers and searches if "ignore_dhcp_dns" is set.
3333
3334         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3335         (nm_ip4_config_reset_searches): Implement.
3336
3337 2008-05-22  Dan Williams  <dcbw@redhat.com>
3338
3339         Remove anything mDNS related.  This is better done from a distro-specific
3340         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3341         avahi, since avahi can handle interface changes just fine using netlink.
3342
3343         * configure.in
3344                 - Remove --with-mdns-provider
3345
3346         * src/NetworkManagerPolicy.c
3347                 - (global_state_changed): don't restart the mdns provider
3348
3349         * src/NetworkManagerSystem.h
3350           src/backends/NetworkManagerArch.c
3351           src/backends/NetworkManagerDebian.c
3352           src/backends/NetworkManagerFrugalware.c
3353           src/backends/NetworkManagerGentoo.c
3354           src/backends/NetworkManagerMandriva.c
3355           src/backends/NetworkManagerPaldo.c
3356           src/backends/NetworkManagerRedHat.c
3357           src/backends/NetworkManagerSlackware.c
3358           src/backends/NetworkManagerSuSE.c
3359                 - (nm_system_restart_mdns_responder): remove
3360
3361         * src/backends/NetworkManagerGeneric.c
3362           src/backends/NetworkManagerGeneric.h
3363                 - (nm_generic_restart_mdns_responder): remove
3364
3365 2008-05-22  Dan Williams  <dcbw@redhat.com>
3366
3367         * configure.in
3368                 - clean up crypto options; just use --with-crypto=nss or
3369                         --with-crypto=gnutls
3370
3371 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3372
3373         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3374         anymore, do it right away.
3375
3376 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3377
3378         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3379         serial device open when we're not connecting or connected.
3380
3381         * src/nm-cdma-device.c (device_state_changed): Ditto.
3382
3383 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3384
3385         Don't remove all devices on waking up, sync with HAL.
3386
3387         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3388         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3389         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3390
3391 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3392
3393         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3394         If the default gateway is unreachable, add a route to gateway and try
3395         again.
3396
3397 2008-05-20  Dan Williams  <dcbw@redhat.com>
3398
3399         * system-settings/plugins/ifcfg-fedora/reader.c
3400                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3401
3402 2008-05-19  Dan Williams  <dcbw@redhat.com>
3403
3404         * system-settings/plugins/ifcfg-fedora/reader.c
3405                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3406                         if the ifcfg doesn't specify one (rh #446527)
3407
3408 2008-05-19  Dan Williams  <dcbw@redhat.com>
3409
3410         Make the system settings service exit when the bus goes away.  Since it's
3411         a bus-activated service, it's lifetime is limited to the bus that activated
3412         it (rh #444976).
3413
3414         * system-settings/src/Makefile.am
3415           system-settings/src/nm-system-config-hal-manager-private.h
3416                 - Remove nm-system-config-hal-manager-private.h
3417
3418         * system-settings/src/nm-system-config-hal-manager.c
3419                 - (nm_system_config_hal_manager_reinit_dbus,
3420                    nm_system_config_hal_manager_deinit_dbus): remove
3421
3422         * system-settings/src/main.c
3423                 - (dbus_reconnect): remove
3424                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3425                 - (destroy_cb): just quit when the bus goes away
3426                 - (start_dbus_service, dbus_init): simplify
3427                 - (main): destroy the wired devices hash table after destroying
3428                         the HAL manager so we don't have to disconnect signals from the
3429                         HAL manager
3430
3431 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3432
3433         Move crypto functions from nm-applet to libnm-util.
3434
3435         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3436         (nm_setting_802_1x_set_client_cert)
3437         (nm_setting_802_1x_set_phase2_ca_cert)
3438         (nm_setting_802_1x_set_phase2_client_cert)
3439         (nm_setting_802_1x_set_private_key)
3440         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3441         file (or private key and it's password), read the certificate data.
3442
3443         * libnm-util/crypto_nss.c: 
3444         * libnm-util/crypto_gnutls.c: 
3445         * libnm-util/crypto.[ch]: Move here from nm-applet.
3446
3447         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3448
3449         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3450         Imlement WPA-EAP configuration reading from sysconfig.
3451
3452 2008-05-16  Dan Williams  <dcbw@redhat.com>
3453
3454         * src/nm-device-802-11-wireless.c
3455                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3456                         wireless
3457
3458 2008-05-14  Dan Williams  <dcbw@redhat.com>
3459
3460         Fix Linus' bug in rh #134886
3461
3462         * src/nm-device-802-3-ethernet.c
3463                 - (constructor): request initial carrier state
3464
3465         * src/nm-netlink-monitor.c
3466                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3467                         signals after refilling the link cache.  Because the refill is a 
3468                         synchronous operation, the normal message hander won't get called
3469                         since libnl has already consumed the messages.
3470                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3471
3472 2008-05-14  Dan Williams  <dcbw@redhat.com>
3473
3474         * src/NetworkManagerSystem.c
3475                 - (nm_system_device_is_up_with_iface): clean up
3476
3477 2008-05-13  Dan Williams  <dcbw@redhat.com>
3478
3479         Fix refcounting issues over sleep/wake when a VPN connection was active that
3480         caused NM to try registering an object path for a device upon wake that was
3481         the same as an already registered object path.
3482
3483         * src/nm-device.c
3484                 - (nm_device_take_down): properly handle cases where the device is
3485                         no longer active but was just active, and therefore must be
3486                         deactivated.  When a device moves to unmanaged mode, this function
3487                         previously would not deactivate the device, because the state was
3488                         already unmanaged by the time this function was called.
3489
3490         * src/vpn-manager/nm-vpn-connection.c
3491                 - (device_state_changed): properly handle multiple devices states in
3492                         which the device is now deactivated.  Code previously didn't handle
3493                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3494                         UNMANAGED states.
3495
3496 2008-05-13  Dan Williams  <dcbw@redhat.com>
3497
3498         * src/nm-device-private.h
3499           src/nm-device.c
3500                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3501
3502         * src/nm-device-802-11-wireless.c
3503                 - (nm_device_802_11_wireless_set_enabled): take devices up
3504                         and down as appropriate for the rfkill state
3505
3506 2008-05-13  Dan Williams  <dcbw@redhat.com>
3507
3508         * marshallers/nm-marshal.list
3509                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3510
3511         * system-settings/plugins/ifcfg-fedora/Makefile.am
3512           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3513           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3514                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3515                         events.  Solely for use watching ifcfg files to pick up changes
3516                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3517
3518         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3519                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3520                         file contents change
3521                 - (finalize): clean up inotify watches
3522                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3523                         and the connection ifcfg for changes on their hardlinks
3524                 - (files_changed_cb): proxy the changed signal back out to listeners
3525
3526         * system-settings/plugins/ifcfg-fedora/plugin.c
3527                 - (dir_changed): 
3528                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3529                         changes
3530                 - (read_one_connection): connect to change signals on the new connection
3531                 - (dir_changed, connection_changed_handler,
3532                    handle_connection_remove_or_new): break out connection change
3533                         handling and connection new/remove handling so it can be used from
3534                         both the GFileMonitor callback and the NMIfcfgConnection changed
3535                         signals
3536
3537         * system-settings/plugins/ifcfg-fedora/reader.c
3538           system-settings/plugins/ifcfg-fedora/reader.h
3539                 - (connection_from_file): return the keyfile path the connection would use
3540
3541 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3542
3543         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3544         single PolKitContext which is shared by all. PolKitContext::unref leaks
3545         just about everything, including all open file descriptiors and results
3546         in 99% cpu usage when data arrives to any of the fds that don't belong
3547         to any context anymore.
3548
3549 2008-05-12  Dan Williams  <dcbw@redhat.com>
3550
3551         * gfilemonitor/glocaldirectorymonitor.c
3552           gfilemonitor/glocaldirectorymonitor.h
3553                 - (g_local_directory_monitor_constructor): actually subscribe to the
3554                         watch
3555                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3556
3557         * gfilemonitor/glocalfilemonitor.c
3558           gfilemonitor/glocalfilemonitor.h
3559                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3560                 - (_g_local_file_monitor_new): ensure that inotify is started up
3561
3562 2008-05-11  Dan Williams  <dcbw@redhat.com>
3563
3564         * configure.in
3565                 - record PolicyKit version
3566
3567         * system-settings/src/nm-polkit-helpers.c
3568                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3569                         with PolicyKit <= 0.6
3570
3571 2008-05-11  Dan Williams  <dcbw@redhat.com>
3572
3573         Update Fedora system-settings plugin to support latest API and use
3574         GFileMonitor rather than home-rolled inotify code.
3575
3576         * system-settings/plugins/ifcfg-fedora/Makefile.am
3577           system-settings/plugins/ifcfg-fedora/common.h
3578           system-settings/plugins/ifcfg-fedora/plugin.c
3579                 - Update to latest system settings plugin API; use GIO instead of
3580                         custom inotify code; use NMIfcfgConnection objects instead of
3581                         ConnectionData structures tacked onto NMConnection objects
3582
3583         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3584           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3585                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3586                         connections
3587
3588         * system-settings/plugins/ifcfg-fedora/reader.c
3589           system-settings/plugins/ifcfg-fedora/reader.h
3590                 - Move ifcfg parsing bits here from parser.c
3591
3592         * system-settings/plugins/ifcfg-fedora/parser.c
3593           system-settings/plugins/ifcfg-fedora/parser.h
3594                 - Remove; most code moved to reader.c
3595
3596 2008-05-11  Dan Williams  <dcbw@redhat.com>
3597
3598         * configure.in
3599           Makefile.am
3600           gfilemonitor/*
3601                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3602                         implementation, so that the same change monitoring code can be used
3603                         on systems without glib-2.14 (like Fedora 8)
3604
3605         * system-settings/plugins/keyfile/Makefile.am
3606           system-settings/plugins/keyfile/plugin.c
3607           system-settings/plugins/ifcfg-suse/Makefile.am
3608           system-settings/plugins/ifcfg-suse/plugin.c
3609                 - Use private gfilemonitor code if GIO is not present
3610
3611 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3612
3613         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3614         NMExportedConnection's 'update' and 'delete' and return error with
3615         descriptive message.
3616
3617 2008-05-08  Dan Williams  <dcbw@redhat.com>
3618
3619         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3620
3621         * src/nm-gsm-device.c
3622           src/nm-cdma-device.c
3623                 - (real_get_best_auto_connection): implement; allow autoconnection
3624                         to GSM & CDMA devices
3625
3626 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3627
3628         Use PolicyKit to authorize the system settings' AddConnection method
3629         and the system settings connections' Update and Delete methods.
3630         
3631         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3632         (impl_exported_connection_delete, nm_exported_connection_update)
3633         (nm_exported_connection_delete): Return boolean and fill GError
3634         to notify the callers of the reasons why it might have failed.
3635
3636         * libnm-glib/nm-dbus-settings-system.c
3637         (nm_dbus_settings_system_add_connection): Return the error from dbus
3638         call so that the callers can see why it failed.
3639
3640         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3641         signatures.
3642
3643         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3644
3645         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3646         abstract base class that checks PolicyKit permissions.
3647
3648         * system-settings/src/dbus-settings.c:
3649         (impl_settings_add_connection): Check the policy before carring out
3650         the request.
3651
3652         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3653         Inherit from NMSysconfigConnection, check the policies before
3654         allowing updating or removing.
3655
3656         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3657         Inherit from NMSysconfigConnection.
3658
3659         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3660         "Delete" methods with async flag so that the implementations can get
3661         access to DBusGMethodInvocation.
3662
3663         * system-settings/src/dbus-settings.c 
3664         (settings_add_connection_check_privileges): Implement.
3665         (impl_settings_add_connection): Check the privileges before adding a new
3666         connection. Improve error reporting.
3667
3668         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3669         async so that the implementation can access DBusGMethodInvocation.
3670
3671         * configure.in: Check for PolicyKit.
3672
3673         * policy/org.freedesktop.network-manager-settings.system.policy: 
3674         New file.
3675
3676         * policy/Makefile.am: Install the policy file.
3677
3678         * configure.in: Add 'policy' subdir.
3679
3680 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3681
3682         Rewrite the suse system settings plugin.
3683
3684         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3685
3686         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3687
3688         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3689
3690         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3691
3692         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3693
3694         * system-settings/src/main.c (load_plugins): Improve error reporting.
3695
3696         * system-settings/src/sha1.[ch] Add.
3697
3698         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3699
3700 2008-05-07  Dan Williams  <dcbw@redhat.com>
3701
3702         * system-settings/plugins/keyfile/reader.c
3703                 - (read_one_setting_value): handle IP address items separately
3704                 - (read_array_of_uint): read IPv4 DNS option as a string array
3705                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3706                         array
3707
3708         * system-settings/plugins/keyfile/writer.c
3709                 - (write_setting_value): handle IP address items separately
3710                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3711                         not an array of uint, so that it's user-editable
3712                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3713                         arrays, so they are user-editable
3714
3715 2008-05-07  Dan Williams  <dcbw@redhat.com>
3716
3717         * system-settings/plugins/keyfile/Makefile.am
3718                 - Change location of the keyfile plugin settings to
3719                         /etc/NetworkManager/system-connections
3720
3721 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3722
3723         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3724
3725         * system-settings/plugins/keyfile/plugin.c: Work with
3726         NMKeyfileConnections.
3727
3728         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3729         Plugins are supposed to return NMExportedConnections now and handle the
3730         updated(), removed(), and GetSecrets().
3731         Store the internal list of connections in hash table to make it easier
3732         to find duplicates.
3733
3734 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3735
3736         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3737         for multiple IP addresses.
3738
3739 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3740
3741         Patch from André Lemos.
3742
3743         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3744         corruption.
3745
3746 2008-05-06  Dan Williams  <dcbw@redhat.com>
3747
3748         * src/dhcp-manager/nm-dhcp-manager.c
3749                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3750                         NMIP4Config to support multiple IP addresses
3751
3752         * src/NetworkManagerUtils.c
3753                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3754
3755         * src/nm-ip4-config.c
3756           src/nm-ip4-config.h
3757                 - Store a list of IPv4 address/netmask/gateway tuples
3758                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3759                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3760                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3761                    nm_ip4_config_set_address): remove
3762                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3763                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3764                         new functions; handle multiple IPv4 addresses
3765
3766         * src/nm-device.c
3767           src/ppp-manager/nm-ppp-manager.c
3768           src/vpn-manager/nm-vpn-connection.c
3769           src/NetworkManagerPolicy.c
3770           test/nm-tool.c
3771           libnm-glib/libnm-glib-test.c
3772                 - update for changes to NMIP4Config for multiple IPv4 addresses
3773
3774         * src/NetworkManagerSystem.c
3775                 - (nm_system_device_set_ip4_route): don't add the route if any address
3776                         is on the same subnet as the destination
3777                 - (check_one_address): ignore the exact match, just match family and
3778                         interface index
3779                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3780                         an interface
3781                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3782                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3783
3784         * introspection/nm-ip4-config.xml
3785                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3786                 - Add 'addresses' property which is an array of (uuu) tuples of
3787                         address/netmask/gateway
3788
3789         * libnm-util/nm-setting-ip4-config.c
3790                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3791
3792         * libnm-glib/nm-ip4-config.c
3793           libnm-glib/nm-ip4-config.h
3794                 - Handle D-Bus interface changes to support multiple IP addresses
3795
3796 2008-05-06  Dan Williams  <dcbw@redhat.com>
3797
3798         * libnm-util/nm-utils.c
3799           libnm-util/nm-utils.h
3800                 - (nm_utils_ip4_addresses_from_gvalue,
3801                    nm_utils_ip4_addresses_to_gvalue): new functions
3802
3803 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3804
3805         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3806         the returned connection paths.
3807
3808 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3809
3810         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3811         "PropertiesChanged" signal signature.
3812
3813         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3814         defined in nm-dbus-glib-types.h.
3815         Don't register the connection on dbus, we're a proxy class to 
3816         communicate with an already registered connection over dbus.
3817
3818 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3819
3820         Implement new subclasses of NMSettings and NMExportedConnection to make
3821         it easier for the applet to access and modify system settings.
3822
3823         * libnm-glib/nm-dbus-connection.[ch]:
3824         * libnm-glib/nm-dbus-settings.[ch]:
3825         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3826
3827         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3828         bindings and glue.
3829
3830         * include/NetworkManager.h: Define the system settings DBus interface.
3831
3832 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3833
3834         Implement additional C API for exported connections to make them identical
3835         with the DBus API. Change the (list_connections) virtual function to be
3836         more usable from C - instead of requiring implementers to return a GPtrArray
3837         of dbus paths, return a list of connections.
3838
3839         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3840         (nm_settings_list_connections):
3841         (nm_exported_connection_new):
3842         (nm_exported_connection_update):
3843         (nm_exported_connection_delete): Implement.
3844
3845         (impl_settings_list_connections):
3846         (impl_exported_connection_update):
3847         (impl_exported_connection_delete): Use the new public functions to make 
3848         sure the C and dbus interfaces stay in sync.
3849
3850         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3851         connections.
3852
3853 2008-05-02  Dan Williams  <dcbw@redhat.com>
3854
3855         * system-settings/plugins/ifcfg-fedora/plugin.c
3856                 - (dispose): use right unref call on the DBusGConnection
3857
3858 2008-05-02  Dan Williams  <dcbw@redhat.com>
3859
3860         * src/nm-serial-device.c
3861                 - (find_terminator): don't compare the whole line, just the size of the
3862                         terminator, since some modems put stuff after the terminator, like
3863                         "CONNECT 9600"
3864
3865 2008-05-01  Dan Williams  <dcbw@redhat.com>
3866
3867         Patch from Michael Biebl <biebl@debian.org>
3868
3869         * callouts/Makefile.am
3870           callouts/org.freedesktop.nm_dispatcher.service.in
3871           system-settings/src/Makefile.am
3872           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3873                 - use the right install location for dbus-activated stuff
3874
3875 2008-04-30  Dan Williams  <dcbw@redhat.com>
3876
3877         * src/nm-gsm-device.c
3878                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3879                         PIN or PUK
3880
3881 2008-04-30  Dan Williams  <dcbw@redhat.com>
3882
3883         * src/nm-manager.c
3884                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3885
3886 2008-04-30  Dan Williams  <dcbw@redhat.com>
3887
3888         * src/nm-device-802-3-ethernet.c
3889           src/nm-device-802-11-wireless.c
3890                 - (real_is_up): return true instead of chaining up to unimplemented
3891                         parent method
3892
3893 2008-04-30  Dan Williams  <dcbw@redhat.com>
3894
3895         * src/NetworkManagerSystem.c
3896           src/NetworkManagerSystem.h
3897                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3898                         functions to check device flags for IFF_UP
3899
3900         * src/nm-serial-device.c
3901                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3902                         implement is_up
3903
3904         * src/nm-device-802-3-ethernet.c
3905           src/nm-device-802-11-wireless.c
3906                 - (real_hw_is_up): call nm_system_device_is_up()
3907
3908         * src/nm-device.c
3909                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3910                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3911                         does not implement
3912
3913 2008-04-29  Dan Williams  <dcbw@redhat.com>
3914
3915         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3916
3917         * marshallers/nm-marshal.list
3918                 - Add marshaller
3919
3920         * src/NetworkManager.c
3921                 - (main): let the NMManager handle the NMHalManager
3922
3923         * src/nm-hal-manager.c
3924           src/nm-hal-manager.h
3925                 - convert to a GObject, and emit singals when stuff changes.  Let the
3926                         NMManager handle the signals, instead of the NMHalManager calling
3927                         into the NMManager.  
3928
3929         * src/nm-manager.c
3930           src/nm-manager.h
3931                 - (remove_one_device): consolidate device removals here
3932                 - (dispose): use remove_one_device()
3933                 - (nm_manager_get_device_by_udi): make static
3934                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3935                         manager for devices at startup or wakeup time
3936                 - (nm_manager_new): create and monitor the HAL manager
3937                 - (hal_manager_udi_added_cb): new function; do what
3938                         nm_manager_add_device() used to do when signalled by the hal manager
3939                 - (hal_manager_udi_removed_cb): new function; do what
3940                         nm_manager_remove_device() used to do when signalled by the hal
3941                         manager
3942                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3943                         hal manager
3944                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3945                         in our device list that aren't known to HAL
3946                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3947                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3948                         commits ago
3949                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3950                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3951                    nm_manager_wireless_hardware_enabled,
3952                    nm_manager_set_wireless_hardware_enabled): remove, unused
3953
3954 2008-04-28  Dan Williams  <dcbw@redhat.com>
3955
3956         Fix the device up/down ambiguities.  Up/down state used to be a
3957         conglomeration of hardware state (IFF_UP) and any device-specific things
3958         (supplicant, periodic timers, etc) that the device used to indicate
3959         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3960         reason, then the device specific stuff wouldn't get run, and the device
3961         would be stuck.
3962
3963         * src/nm-device.c
3964           src/nm-device.h
3965                 - Create hw_is_up, hw_bring_up, and hw_take_down
3966                 - Rename bring_down -> take_down
3967                 - (real_hw_is_up): check interface flags for IFF_UP
3968                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3969                 - (nm_device_is_up): make static; only used locally
3970                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3971                         if the device is already up; if the device isn't up, bring it up
3972                 - (nm_device_hw_take_down): just take down hardware
3973                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3974                 - (nm_device_take_down): always deactivate device when called; always
3975                         try to take hardware down too
3976                 - (nm_device_state_changed): take device down when entering unmanaged
3977                         state from a higher state
3978
3979         * src/nm-device-802-11-wireless.c
3980                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3981                         check IFF_UP really
3982                 - (real_take_down, supplicant_iface_state_cb_handler, 
3983                    supplicant_iface_connection_state_cb_handler,
3984                    supplicant_mgr_state_cb_handler): fix some messages
3985
3986         * src/nm-device-802-3-ethernet.c
3987                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3988                         check IFF_UP really
3989
3990 2008-04-28  Dan Williams  <dcbw@redhat.com>
3991
3992         * src/nm-manager.c
3993           src/nm-manager.h
3994                 - (nm_manager_error_get_type): add new error
3995                 - (nm_manager_remove_device): don't bother taking down the device here,
3996                         the state change from unmanaging the device will do it
3997                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3998                         uses it; when going to sleep, just unmanage the device instead of
3999                         taking it down, because stuff will cleaned up correctly when the
4000                         device gets unmanaged
4001
4002 2008-04-28  Dan Williams  <dcbw@redhat.com>
4003
4004         * src/nm-hal-manager.c
4005                 - (add_initial_devices): convert to a GSourceFunc prototype
4006                 - (nm_manager_state_changed): when coming out of sleep, punt the
4007                         device re-addition to an idle handler to let D-Bus events go out
4008                         first, fixing a potential dbus-glib assert if the old device was
4009                         not yet disposed (due to references held while emitting the D-Bus
4010                         signals) but the new device was found, because the mainloop didn't
4011                         run between signal emission and add_initial_devices()
4012
4013 2008-04-27  Dan Williams  <dcbw@redhat.com>
4014
4015         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4016
4017         * initscript/paldo/NetworkManager.in
4018           initscript/SUSE/networkmanager.in
4019                 - Remove last bits of dhcdbd
4020
4021 2008-04-27  Dan Williams  <dcbw@redhat.com>
4022
4023         * src/nm-device-802-11-wireless.c
4024                 - (link_timeout_cb): don't ask for secrets when disconnected during
4025                         association/authentication phase, drivers are still just too crappy
4026
4027 2008-04-27  Dan Williams  <dcbw@redhat.com>
4028
4029         * Makefile.am
4030           configure.in
4031           dispatcher-daemon/Makefile.am
4032           dispatcher-daemon/NetworkManagerDispatcher.c
4033           initscript/Arch/Makefile.am
4034           initscript/Arch/networkmanager-dispatcher.in
4035           initscript/Gentoo/Makefile.am
4036           initscript/Gentoo/NetworkManagerDispatcher.in
4037           initscript/Mandriva/Makefile.am
4038           initscript/Mandriva/networkmanagerdispatcher.in
4039           initscript/RedHat/Makefile.am
4040           initscript/RedHat/NetworkManagerDispatcher.in
4041           initscript/SUSE/Makefile.am
4042           initscript/SUSE/networkmanager-dispatcher.in
4043           initscript/Slackware/Makefile.am
4044           initscript/Slackware/rc.networkmanager-dispatcher.in
4045           initscript/paldo/Makefile.am
4046           initscript/paldo/NetworkManagerDispatcher.in
4047           man/Makefile.am
4048           man/NetworkManagerDispatcher.8.in
4049                 - Remove the dispatcher daemon
4050
4051 2008-04-27  Dan Williams  <dcbw@redhat.com>
4052
4053         * callouts/Makefile.am
4054           callouts/nm-dispatcher-action.c
4055           callouts/nm-dispatcher-action.h
4056           callouts/nm-dispatcher.conf
4057           callouts/nm-dispatcher.xml
4058           callouts/org.freedesktop.nm_dispatcher.service
4059                 - Re-implement the dispatcher as a system-bus activated service that
4060                         NM calls on-demand, rather than an always running daemon
4061
4062         * src/Makefile.am
4063                 - Add callouts dir to includes to pick up dispatcher defines
4064
4065         * src/nm-device.c
4066                 - (nm_device_state_changed): call dispatcher on device activated/
4067                         deactivated
4068
4069         * src/vpn-manager/nm-vpn-connection.c
4070                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
4071                         go up and down
4072
4073         * src/NetworkManagerUtils.c
4074           src/NetworkManagerUtils.h
4075                 - (nm_utils_call_dispatcher): helper to call dispatcher
4076
4077 2008-04-27  Dan Williams  <dcbw@redhat.com>
4078
4079         * src/NetworkManagerUtils.c
4080           src/NetworkManagerUtils.h
4081                 - remove unneeded includes
4082                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4083                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4084                    nm_timeval_cmp, nm_timeval_add): remove, unused
4085                 - clean up formatting
4086                 - (nm_spawn_process): de-uglify
4087
4088         * src/nm-device-802-11-wireless.c
4089                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4090
4091 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4092
4093         * initscript/Gentoo/NetworkManager.in:
4094                 Fix for starting the daemon.
4095
4096 2008-04-25  Dan Williams  <dcbw@redhat.com>
4097
4098         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4099
4100         * src/NetworkManagerSystem.c
4101                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4102
4103 2008-04-25  Dan Williams  <dcbw@redhat.com>
4104
4105         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4106
4107         * src/NetworkManagerSystem.c
4108                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4109                         implementation of nm_system_device_replace_default_route()
4110
4111         * src/NetworkManagerPolicy.c
4112                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4113
4114         * src/backends/NetworkManagerArch.c
4115           src/backends/NetworkManagerDebian.c
4116           src/backends/NetworkManagerFrugalware.c
4117           src/backends/NetworkManagerGeneric.c
4118           src/backends/NetworkManagerGeneric.h
4119           src/backends/NetworkManagerGentoo.c
4120           src/backends/NetworkManagerMandriva.c
4121           src/backends/NetworkManagerPaldo.c
4122           src/backends/NetworkManagerRedHat.c
4123           src/backends/NetworkManagerSlackware.c
4124           src/backends/NetworkManagerSuSE.c
4125                 - (nm_system_device_replace_default_route): remove
4126
4127 2008-04-25  Dan Williams  <dcbw@redhat.com>
4128
4129         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4130
4131         * src/NetworkManagerSystem.c
4132                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4133                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4134                         replace nm_system_device_add_route_via_device_with_iface() in the
4135                         backends
4136
4137         * src/backends/NetworkManagerArch.c
4138           src/backends/NetworkManagerDebian.c
4139           src/backends/NetworkManagerFrugalware.c
4140           src/backends/NetworkManagerGeneric.c
4141           src/backends/NetworkManagerGeneric.h
4142           src/backends/NetworkManagerGentoo.c
4143           src/backends/NetworkManagerMandriva.c
4144           src/backends/NetworkManagerPaldo.c
4145           src/backends/NetworkManagerRedHat.c
4146           src/backends/NetworkManagerSlackware.c
4147           src/backends/NetworkManagerSuSE.c
4148                 - Remove nm_system_device_add_route_via_device_with_iface()
4149
4150 2008-04-25  Dan Williams  <dcbw@redhat.com>
4151
4152         * system-settings/plugins/ifcfg-fedora/parser.c
4153                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4154
4155 2008-04-24  Dan Williams  <dcbw@redhat.com>
4156
4157         * dispatcher-daemon/NetworkManagerDispatcher.c
4158                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4159
4160 2008-04-24  Dan Williams  <dcbw@redhat.com>
4161
4162         * initscript/RedHat/NetworkManager.in
4163           initscript/RedHat/NetworkManagerDispatcher.in
4164                 - Be active at runlevel 2
4165                 - Adjust priorities earlier
4166
4167 2008-04-22  Dan Williams  <dcbw@redhat.com>
4168
4169         * src/NetworkManagerPolicy.c
4170                 - (update_routing_and_dns): when checking for a gateway, look at the
4171                         composite IP4 config, not the connection's ip4-config setting, which
4172                         doesn't include DHCP-returned information
4173
4174 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4175
4176         Implement GKeyFile system settings plugin.
4177         Implement writing system settings (currently supported only by GKeyFile plugin).
4178
4179         * system-settings/src/main.c: 
4180         * system-settings/src/dbus-settings.c: Move the communication with plugins
4181         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4182         plugins for adding/updating/removing connections.
4183
4184         * system-settings/src/nm-system-config-interface.c
4185         (nm_system_config_interface_add_connection): Implement
4186         (nm_system_config_interface_update_connection): Implement.
4187         (nm_system_config_interface_remove_connection): Implement.
4188
4189         * system-settings/plugins/keyfile/Makefile.am:
4190         * system-settings/plugins/keyfile/plugin.[ch]:
4191         * system-settings/plugins/keyfile/writer.[ch]:
4192         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4193
4194         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4195
4196         * configure.in: Generate GKeyFile Makefile.
4197
4198         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4199         corruption, need to duplicate the returned string.
4200         (impl_exported_connection_update): Implement.
4201         (impl_exported_connection_delete): Implement.
4202
4203         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4204
4205         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4206
4207 2008-04-22  Dan Williams  <dcbw@redhat.com>
4208
4209         Patch from Charles R. Anderson (cra@wpi.edu)
4210
4211         * src/NetworkManagerPolicy.c
4212                 - (update_routing_and_dns): don't select devices without a gateway
4213                         as having the default route (rh #437338)
4214
4215 2008-04-21  Dan Williams  <dcbw@redhat.com>
4216
4217         * src/nm-activation-request.c
4218           src/nm-activation-request.h
4219                 - (dispose): ensure to disconnect from the device's state-changed signal
4220                         when appropriate so the signal doesn't get handled by an already
4221                         disposed NMActRequest
4222                 - (device_state_changed): update is_default here too just to make sure
4223                         default is only True when the child device is activated
4224                 - (nm_act_request_set_default): new function
4225
4226         * src/NetworkManagerPolicy.c
4227                 - (update_routing_and_dns): set 'default' on the active connection which
4228                         has the default route and DNS
4229
4230 2008-04-21  Dan Williams  <dcbw@redhat.com>
4231
4232         * src/NetworkManagerPolicy.c
4233                 - (device_state_changed): update routing and DNS when a device goes
4234                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4235
4236 2008-04-21  Dan Williams  <dcbw@redhat.com>
4237
4238         * include/NetworkManager.h
4239                 - Add NMActiveConnectionState enum
4240
4241         * introspection/nm-active-connection.xml
4242           introspection/nm-vpn-connection.xml
4243                 - Add 'State' property for overall active connection state
4244                 - Add 'Default' property, when True means this active connection
4245                         has the default route
4246                 - Add PropertyChanged signals so changes actually go out over the bus
4247
4248         * src/nm-active-connection.h
4249                 - Add defines for State & Default properties
4250
4251         * src/nm-activation-request.c
4252                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4253                         signal to determine active connection state
4254
4255         * src/vpn-manager/nm-vpn-connection.c
4256           src/vpn-manager/nm-vpn-connection.h
4257           src/vpn-manager/nm-vpn-manager.c
4258           src/vpn-manager/nm-vpn-service.c
4259                 - Rename old 'state' to 'vpn-state'
4260                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4261                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4262                         'vpn-state-changed' signal
4263
4264         * libnm-glib/nm-active-connection.c
4265           libnm-glib/nm-active-connection.h
4266                 - Add new 'state' and 'default' properties and accessors
4267
4268         * libnm-glib/nm-vpn-connection.c
4269           libnm-glib/nm-vpn-connection.h
4270                 - Rename old 'state' property to 'vpn-state'
4271                 - Add new 'state' and 'default' properties and accessors
4272
4273 2008-04-21  Dan Williams  <dcbw@redhat.com>
4274
4275         * src/nm-ip4-config.c
4276                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4277                         not specified (rh #443474)
4278
4279 2008-04-20  Dan Williams  <dcbw@redhat.com>
4280
4281         * src/NetworkManagerUtils.c
4282           src/NetworkManagerUtils.h
4283                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4284                         NMSettingIP4Config to an NMIP4Config object
4285
4286         * src/nm-device.c
4287                 - (merge_ip4_config): move to NetworkManagerUtils.c
4288
4289         * src/vpn-manager/nm-vpn-connection.c
4290                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4291                         too
4292
4293 2008-04-18  Dan Williams  <dcbw@redhat.com>
4294
4295         * libnm-util/nm-setting-ppp.c
4296           libnm-util/nm-setting-ppp.h
4297                 - Add 'no-vj-comp' option for TCP header compression
4298                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4299                         uint32
4300
4301 2008-04-18  Dan Williams  <dcbw@redhat.com>
4302
4303         * libnm-util/nm-setting-ppp.c
4304           libnm-util/nm-setting-ppp.h
4305           src/ppp-manager/nm-ppp-manager.c
4306                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4307
4308 2008-04-18  Dan Williams  <dcbw@redhat.com>
4309
4310         * libnm-util/nm-setting-ppp.c
4311           libnm-util/nm-setting-ppp.h
4312           src/ppp-manager/nm-ppp-manager.c
4313                 - Remove the 'usepeerdns' option and always request DNS servers from
4314                         the PPP server; the connection chooses to use/override/ignore the
4315                         DNS servers returned from the PPP server
4316
4317 2008-04-18  Dan Williams  <dcbw@redhat.com>
4318
4319         * libnm-util/nm-setting-ppp.c
4320           libnm-util/nm-setting-ppp.h
4321           src/ppp-manager/nm-ppp-manager.c
4322                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4323                         it seems to have been an erroneous addition to the PPTP plugin in
4324                         the first place (from which the ppp-manager is derived)
4325
4326 2008-04-17  Dan Williams  <dcbw@redhat.com>
4327
4328         * libnm-util/nm-setting-pppoe.c
4329                 - (verify): require a PPP setting too
4330
4331         * src/ppp-manager/nm-ppp-manager.c
4332                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4333                         segfaulting
4334
4335 2008-04-17  Dan Williams  <dcbw@redhat.com>
4336
4337         * src/nm-device.c
4338                 - (nm_device_state_changed): do deactivation and and promotion to
4339                         unavailable here, so that the device gets cleaned up before the
4340                         manager runs and starts emitting signals; do the
4341                         FAILED->DISCONNECTED transition from an idle handler rather than
4342                         immediately to guard against recursion
4343                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4344                         FAILED->DISCONNECTED handler if it's scheduled
4345
4346 2008-04-17  Dan Williams  <dcbw@redhat.com>
4347
4348         * src/nm-device-802-11-wireless.c
4349                 - (state_changed_cb): clear AP list when device transitions to
4350                         unavailable or unmanaged
4351                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4352                         since this is already done in device_cleanup()
4353                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4354                         isn't available or managed
4355                 - (device_cleanup): use remove_all_aps()
4356                 - (remove_all_aps): consolidate code removing all APs
4357
4358 2008-04-17  Dan Williams  <dcbw@redhat.com>
4359
4360         * src/nm-serial-device.c
4361           src/nm-serial-device.h
4362                 - (wait_for_reply_got_data): break input into lines, and search each
4363                         line for responses _and_ terminator strings; also make sure that
4364                         the read loop doesn't continue after the timeout is supposed to fire
4365                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4366
4367         * src/nm-gsm-device.c
4368           src/nm-cdma-device.c
4369                 - Send terminators to nm_serial_device_wait_for_reply()
4370
4371 2008-04-16  Dan Williams  <dcbw@redhat.com>
4372
4373         Patch from 陈鑫 <znscnchen@gmail.com>
4374
4375         * src/ppp-manager/nm-pppd-plugin.c
4376                 - (get_credentials): return correct value for success; handle case where
4377                         pppd just does some checking but doesn't want a password
4378                 - (plugin_init): make CHAP work too
4379
4380 2008-04-16  Dan Williams  <dcbw@redhat.com>
4381
4382         Patch from 陈鑫 <znscnchen@gmail.com>
4383
4384         * src/ppp-manager/nm-ppp-manager.c
4385                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4386
4387 2008-04-16  Dan Williams  <dcbw@redhat.com>
4388
4389         Patch from 陈鑫 <znscnchen@gmail.com>
4390
4391         * src/nm-device-802-3-ethernet.c
4392                 - (real_deactivate_quickly): clear the IP interface name on
4393                         deactivation, otherwise the wrong interface might get used later
4394                         for routing and IP management
4395
4396 2008-04-15  Dan Williams  <dcbw@redhat.com>
4397
4398         * libnm-glib/nm-device.c
4399                 - (get_product_and_vendor): handle serial devices correctly
4400                 - (nm_device_update_description): pass device to get_product_and_vendor()
4401
4402 2008-04-15  Dan Williams  <dcbw@redhat.com>
4403
4404         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4405
4406         * src/NetworkManagerSystem.h
4407           src/backends/NetworkManagerArch.c
4408           src/backends/NetworkManagerDebian.c
4409           src/backends/NetworkManagerFrugalware.c
4410           src/backends/NetworkManagerGeneric.c
4411           src/backends/NetworkManagerGeneric.h
4412           src/backends/NetworkManagerGentoo.c
4413           src/backends/NetworkManagerMandriva.c
4414           src/backends/NetworkManagerPaldo.c
4415           src/backends/NetworkManagerRedHat.c
4416           src/backends/NetworkManagerSlackware.c
4417           src/backends/NetworkManagerSuSE.c
4418           src/nm-device.c
4419                 - (nm_generic_device_add_ip6_link_address,
4420                    nm_system_device_add_ip6_link_address): remove
4421
4422 2008-04-15  Dan Williams  <dcbw@redhat.com>
4423
4424         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4425
4426         * src/backends/NetworkManagerArch.c
4427           src/backends/NetworkManagerDebian.c
4428           src/backends/NetworkManagerFrugalware.c
4429           src/backends/NetworkManagerGeneric.c
4430           src/backends/NetworkManagerGeneric.h
4431           src/backends/NetworkManagerGentoo.c
4432           src/backends/NetworkManagerMandriva.c
4433           src/backends/NetworkManagerPaldo.c
4434           src/backends/NetworkManagerRedHat.c
4435           src/backends/NetworkManagerSlackware.c
4436           src/backends/NetworkManagerSuSE.c
4437           src/NetworkManagerSystem.h
4438                 - flush_routes -> flush_ip4_routes
4439                 - flush_addresses -> flush_ip4_addresses
4440
4441         * src/NetworkManagerSystem.c
4442           src/nm-device.c
4443           src/vpn-manager/nm-vpn-connection.c
4444                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4445
4446 2008-04-15  Dan Williams  <dcbw@redhat.com>
4447
4448         Remove exposure of wireless-tools mode types in the API.
4449
4450         * include/NetworkManager.h
4451                 - Define NM80211Mode enum
4452
4453         * introspection/generic-types.xml
4454                 - Describe NM_802_11_MODE enum
4455                 - Remove IW_MODE_* enum
4456
4457         * introspection/nm-access-point.xml
4458           libnm-glib/nm-access-point.c
4459           libnm-glib/nm-access-point.h
4460                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4461
4462         * introspection/nm-device-802-11-wireless.xml
4463           libnm-glib/nm-device-802-11-wireless.c
4464           libnm-glib/nm-device-802-11-wireless.h
4465                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4466
4467         * libnm-util/nm-setting-wireless.c
4468           src/NetworkManagerAP.c
4469           src/NetworkManagerAP.h
4470           src/nm-device-802-11-wireless.c
4471           src/nm-device-802-11-wireless.h
4472           test/nm-tool.c
4473                 - Use NM80211Mode not IW_MODE_*
4474
4475 2008-04-15  Dan Williams  <dcbw@redhat.com>
4476
4477         Enhance nm-online based on a patch from Bill Nottingham.
4478
4479         * test/nm-online.c
4480                 - Add a '-q' option
4481                 - Add help messages and option summary
4482                 - Add long-format options
4483                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4484
4485 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4486
4487         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4488
4489         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4490
4491 2008-04-15  Dan Williams  <dcbw@redhat.com>
4492
4493         * nm-setting-ip4-config.c
4494                 - (ip4_addresses_from_gvalue): handle NULL address array
4495
4496         * nm-setting-8021x.c
4497                 - (verify_tls, verify_ttls): warn on failed verification
4498
4499 2008-04-10  Dan Williams  <dcbw@redhat.com>
4500
4501         * src/nm-gsm-device.c
4502                 - (automatic_registration): accept "+CREG: 0,0"
4503                 - (automatic_registration_response): fail on "+CREG: 0,0"
4504
4505 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4506
4507         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4508
4509 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4510
4511         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4512         Make it compile again by commenting out broken code that at first didn't work and
4513         now didn't compile either.
4514
4515 2008-04-08  Dan Williams  <dcbw@redhat.com>
4516
4517         * libnm-glib/nm-object-cache.c
4518           libnm-glib/nm-settings.c
4519           src/dhcp-manager/nm-dhcp-manager.c
4520           system-settings/plugins/ifcfg-fedora/plugin.c
4521           system-settings/plugins/ifcfg-suse/plugin.c
4522           system-settings/src/nm-system-config-hal-manager.c
4523           libnm-util/nm-utils.c
4524                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4525                         not threadsafe anyway
4526
4527 2008-04-08  Dan Williams  <dcbw@redhat.com>
4528
4529         * system-settings/src/main.c
4530                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4531                         callbacks take a device type too
4532
4533 2008-04-08  Dan Williams  <dcbw@redhat.com>
4534
4535         The system settings service will now create a new default DHCP connection
4536         for wired devices that have no existing applicable connection.
4537
4538         * system-settings/src/nm-system-config-hal-manager.c
4539           system-settings/src/nm-system-config-hal-manager.h
4540                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4541
4542         * system-settings/src/dbus-settings.c
4543           system-settings/src/dbus-settings.h
4544                 - (nm_sysconfig_settings_get_connections): new function
4545                 - (nm_sysconfig_settings_is_device_managed): new function
4546
4547         * system-settings/src/main.c
4548                 - (load_stuff): check for wired devices that need a default connection
4549                 - (get_details_for_udi): get interface and MAC address from HAL
4550                 - (add_default_dhcp_connection): add a default connection for a wired
4551                         device if needed
4552                 - (device_added_cb, device_removed_cb): do the right thing with
4553                         wired devices and their default connections on HAL device events
4554
4555 2008-04-07  Dan Williams  <dcbw@redhat.com>
4556
4557         * libnm-glib/nm-device.c
4558           libnm-glib/nm-device.h
4559                 - Proxy the 'managed' property
4560
4561 2008-04-07  Dan Williams  <dcbw@redhat.com>
4562
4563         * src/nm-gsm-device.c
4564           src/nm-cdma-device.c
4565                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4566                         handler to transition to DISCONNECTED
4567
4568 2008-04-07  Dan Williams  <dcbw@redhat.com>
4569
4570         Patch from Bill Nottingham
4571
4572         * dispatcher-daemon/NetworkManagerDispatcher.c
4573                 - ignore backup/packaging crufy (rh #440143)
4574
4575 2008-04-07  Dan Williams  <dcbw@redhat.com>
4576
4577         * include/NetworkManager.h
4578                 - Remove the DOWN and CANCELLED device states
4579                 - Add UNMANAGED and UNAVAILABLE device states
4580                 - Document the device states
4581
4582         * introspection/nm-device.xml
4583           src/nm-device-interface.c
4584           src/nm-device-interface.h
4585                 - Add the 'managed' property
4586
4587         * test/nm-tool.c
4588                 - (detail_device): print out device state
4589
4590         * src/NetworkManagerSystem.h
4591           src/backends/NetworkManagerArch.c
4592           src/backends/NetworkManagerDebian.c
4593           src/backends/NetworkManagerFrugalware.c
4594           src/backends/NetworkManagerGentoo.c
4595           src/backends/NetworkManagerMandriva.c
4596           src/backends/NetworkManagerPaldo.c
4597           src/backends/NetworkManagerRedHat.c
4598           src/backends/NetworkManagerSlackware.c
4599           src/backends/NetworkManagerSuSE.c
4600                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4601                    nm_system_device_free_system_config): remove; they were unused and
4602                         their functionality should be re-implemented in each distro's
4603                         system settings service plugin 
4604
4605         * src/nm-gsm-device.c
4606           src/nm-gsm-device.h
4607           src/nm-cdma-device.c
4608           src/nm-cdma-device.h
4609                 - (*_new): take the 'managed' argument
4610
4611         * src/nm-device.c
4612                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4613                 - (nm_device_init): start in unmanaged state, not disconnected
4614                 - (constructor): don't start device until the system settings service
4615                         has had a chance to figure out if the device is managed or not
4616                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4617                         don't set device state here, let callers handle that as appropriate
4618                 - (nm_device_dispose): don't touch the device if it's not managed
4619                 - (set_property, get_property, nm_device_class_init): implement the
4620                         'managed' property
4621                 - (nm_device_state_changed): bring the device up if its now managed,
4622                         and deactivate it if it used to be active
4623                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4624                         with the managed state
4625
4626         * src/nm-hal-manager.c
4627                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4628                         take initial managed state and pass it along to device constructors
4629                 - (create_device_and_add_to_list): get managed state and pass to
4630                         type creators
4631
4632         * src/nm-device-802-11-wireless.c
4633                 - (real_can_activate): fold in most of
4634                         nm_device_802_11_wireless_can_activate()
4635                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4636                 - (link_timeout_cb): instead of deactivating, change device state and
4637                         let the device state handler to it
4638                 - (real_update_hw_address): clean up
4639                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4640                         handler to transition to DISCONNECTED if the device isn't rfkilled
4641
4642         * src/nm-device-802-3-ethernet.c
4643                 - (set_carrier): move above callers and get rid of prototype
4644                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4645                         idle handler to transition to DISCONNECTED if the device has a
4646                         carrier
4647                 - (real_update_hw_address): clean up
4648                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4649                         deactivation directly as deactivation doesn't change state anymore
4650
4651         * src/NetworkManagerPolicy.c
4652                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4653                         the NMManager and wireless devices work that out themselves now
4654                 - (device_state_changed): change to a switch and update for new device
4655                         states
4656                 - (device_carrier_changed): remove; device handles this now through
4657                         state changes
4658                 - (device_added): don't care about carrier any more; the initial
4659                         activation check will happen when the device transitions to
4660                         DISCONNECTED
4661
4662         * src/nm-manager.c
4663                 - (dispose): clear unmanaged devices
4664                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4665                         the managed property on each device when needed
4666                 - (system_settings_properties_changed_cb): handle signals from the
4667                         system settings service
4668                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4669                         getting the unmanaged device list method call
4670                 - (query_unmanaged_devices): ask the system settings service for its
4671                         list of unmanaged devices
4672                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4673                         devices
4674                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4675                         devices directly and let them handle the necessary state transitions
4676                 - (manager_device_state_changed): update for new device states
4677                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4678                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4679                 - (nm_manager_activate_connection): return error if the device is
4680                         unmanaged
4681                 - (nm_manager_sleep): handle new device states correctly; don't change
4682                         the state of unavailable/unmanaged devices
4683
4684         * libnm-glib/nm-device-802-11-wireless.c
4685                 - (state_changed_cb): update for new device states
4686
4687 2008-04-07  Dan Williams  <dcbw@redhat.com>
4688
4689         * marshallers/nm-marshal.list
4690                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4691
4692 2008-04-07  Dan Williams  <dcbw@redhat.com>
4693
4694         * system-settings/src/main.c
4695                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4696                         plugins to the dbus settings object
4697                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4698                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4699                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4700                 - (main): switch default logging to syslog with a 'debug' option to
4701                         output to console; start up the HAL manager
4702
4703 2008-04-07  Dan Williams  <dcbw@redhat.com>
4704
4705         * introspection/nm-settings-system.xml
4706           introspection/Makefile.am
4707                 - Define the unmanaged devices interface for the system settings service
4708
4709         * system-settings/src/nm-system-config-hal-manager.c
4710           system-settings/src/nm-system-config-hal-manager.h
4711           system-settings/src/nm-system-config-hal-manager-private.h
4712           system-settings/src/Makefile.am
4713                 - Add a lightweight HAL manager object for tracking network devices for
4714                         the purpose of determining unmanaged devices and which devices need
4715                         the default DHCP connections
4716
4717         * system-settings/src/nm-system-config-interface.c
4718           system-settings/src/nm-system-config-interface.h
4719                 - (nm_system_config_interface_init): add the HAL manager as an argument
4720                 - (nm_system_config_interface_get_unmanaged_devices): implement
4721                 - Define 'unmanaged-devices-changed' signal
4722
4723         * system-settings/src/dbus-settings.c
4724           system-settings/src/dbus-settings.h
4725                 - Implement the unmanaged devices interface; some cleanups
4726
4727         * system-settings/plugins/ifcfg-suse/plugin.c
4728                 - Fixup for plugin interface changes
4729
4730         * system-settings/plugins/ifcfg-fedora/plugin.c
4731                 - (get_ether_device_udi): new function; find the device that has
4732                         a specified MAC address and return its UDI
4733                 - (get_udi_for_connection): new function; try to find the specific
4734                         device a connection is locked to, if any
4735                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4736                         response to HAL events
4737                 - (get_unmanaged_devices): new function; return unmanaged device list
4738                 - (build_one_connection): set the connection's locked device, if any
4739                 - (write_auto_wired_connection): remove
4740                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4741                 - (handle_connection_changed): alert listeners that the unmanaged device
4742                         list has changed
4743                 - (init): fixup for plugin interface changes, implement unmanaged devices
4744
4745         * system-settings/plugins/ifcfg-fedora/parser.c
4746           system-settings/plugins/ifcfg-fedora/parser.h
4747                 - (connection_data_free): clean up connection UDI
4748
4749 2008-04-07  Dan Williams  <dcbw@redhat.com>
4750
4751         * system-settings/plugins/ifcfg-fedora/parser.c
4752                 - (make_ip4_setting): fix parsing of DNS servers
4753
4754 2008-04-05  Dan Williams  <dcbw@redhat.com>
4755
4756         * Makefile.am
4757           configure.in
4758           marshallers/Makefile.am
4759           marshallers/nm-marshal-main.c
4760           marshallers/nm-marshal.list
4761                 - Consolidate marshallers
4762
4763         * libnm-glib/nm-marshal-main.c
4764           libnm-glib/nm-marshal.list
4765           src/marshallers/Makefile.am
4766           src/marshallers/nm-marshal-main.c
4767           src/marshallers/nm-marshal.list
4768                 - Remove
4769
4770         * libnm-glib/Makefile.am
4771           src/Makefile.am
4772           src/dhcp-manager/Makefile.am
4773           src/ppp-manager/Makefile.am
4774           src/supplicant-manager/Makefile.am
4775           src/vpn-manager/Makefile.am
4776                 - Use consolidated marshallers
4777
4778 2008-04-04  Dan Williams  <dcbw@redhat.com>
4779
4780         * src/nm-hal-manager.c
4781           src/nm-hal-manager.h
4782                 - (hal_init): don't look for hardware here
4783                 - (nm_hal_manager_start): new function; look for hardware here instead,
4784                         which can be done at a later time than hal_init()
4785
4786         * src/NetworkManager.c
4787                 - (main): start HAL manager after entering the main loop
4788
4789 2008-04-03  Dan Williams  <dcbw@redhat.com>
4790
4791         * libnm-glib/nm-settings.c
4792           libnm-glib/nm-settings.h
4793             - (nm_exported_connection_get_id): new function
4794                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4795
4796 2008-04-02  Dan Williams  <dcbw@redhat.com>
4797
4798         * src/nm-device-interface.c
4799           src/nm-device-interface.h
4800           src/nm-device.c
4801           src/nm-device.h
4802                 - Rename check_connection_conflicts() to check_connection_compatible()
4803
4804         * src/nm-device-802-11-wireless.c
4805                 - (real_check_connection_conflicts): remove
4806                 - (real_check_connection_compatible): implement; match MAC address
4807
4808         * src/nm-device-802-3-ethernet.c
4809                 - (real_check_connection_conflicts): remove
4810                 - (real_check_connection_compatible): implement; match MAC address
4811                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4812
4813         * src/nm-manager.c
4814                 - (check_connection_allowed): remove; unused until PolicyKit integration
4815                 - (internal_activate_device): check whether the connection is compatible
4816                         with the device before trying to activate it
4817
4818 2008-04-02  Dan Williams  <dcbw@redhat.com>
4819
4820         * system-settings/plugins/ifcfg-fedora/parser.c
4821                 - (read_mac_address): new function; read in MAC address and stuff it
4822                         into the connection
4823                 - (add_one_wep_key): remove debug spew
4824                 - (make_wireless_security_setting): validate the default TX key; don't
4825                         add the wireless-security setting if the connection doesn't need
4826                         security; don't leak the keys shvarFile on error cases
4827                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4828                         address
4829
4830 2008-04-02  Dan Williams  <dcbw@redhat.com>
4831
4832         * libnm-util/nm-setting-connection.c
4833           libnm-util/nm-setting-connection.h
4834                 - (set_property, get_property, nm_setting_connection_class_init): remove
4835                         the 'lockdown' property; it's functionality will be replaced by
4836                         PolicyKit instead
4837
4838 2008-04-01  Dan Williams  <dcbw@redhat.com>
4839
4840         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4841
4842         * configure.in
4843           initscript/Makefile.am
4844           initscript/Mandriva/Makefile.am
4845           initscript/Mandriva/networkmanager.in
4846           initscript/Mandriva/networkmanagerdispatcher.in
4847           src/backends/Makefile.am
4848           src/backends/NetworkManagerMandriva.c
4849           system-settings/plugins/Makefile.am
4850                 - Add Mandriva support
4851
4852 2008-03-31  Dan Williams  <dcbw@redhat.com>
4853
4854         * src/vpn-manager/nm-vpn-service.c
4855                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4856                         errors can be passed back to the caller; also no longer scheduled
4857                         as an idle handler, but called directly; and bump up VPN service
4858                         spawn timeout, 2s is really short
4859                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4860                         but call it directly so that errors are reported on return from
4861                         ActivateConnection() and don't get lost.  If scheduled as an idle
4862                         handler, clients don't have the time to query NM for the new VPN
4863                         connection's properties before the VPN connection is torn down again
4864                         if the service couldn't be launched, and therefore launch errors
4865                         get lost.
4866
4867 2008-03-31  Dan Williams  <dcbw@redhat.com>
4868
4869         * src/vpn-manager/nm-vpn-connection.c
4870                 - (device_state_changed): send correct state on device failure too
4871                 - (plugin_state_changed): failed state means unexpected disconnection,
4872                         thus if the service goes away while the VPN connection is activated
4873                         that's a failure too
4874
4875 2008-03-31  Dan Williams  <dcbw@redhat.com>
4876
4877         * src/vpn-manager/nm-vpn-manager.c
4878           src/vpn-manager/nm-vpn-manager.h
4879                 - Make VPNManager errors more available; add a service-start-failed error
4880
4881 2008-03-31  Dan Williams  <dcbw@redhat.com>
4882
4883         * libnm-glib/nm-client.c
4884           libnm-glib/nm-client.h
4885                 - (activate_cb): pass the new active connection to callback; fix
4886                         message when no callback is specified
4887
4888 2008-03-30  Dan Williams  <dcbw@redhat.com>
4889
4890         * libnm-util/nm-setting-wireless-security.c
4891                 - (need_secrets): only require key0 if the transmit key index is also
4892                         0
4893                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4894
4895 2008-03-29  Dan Williams  <dcbw@redhat.com>
4896
4897         * libnm-util/nm-setting-8021x.c
4898           libnm-util/nm-setting-ip4-config.c
4899           libnm-util/nm-setting-vpn-properties.c
4900           libnm-util/nm-setting-vpn.c
4901           libnm-util/nm-setting-wireless-security.c
4902           libnm-util/nm-setting-wireless.c
4903           libnm-util/nm-utils.c
4904           src/dhcp-manager/nm-dhcp-manager.c
4905           src/nm-activation-request.c
4906           src/nm-ip4-config.c
4907           src/nm-manager.c
4908           src/nm-properties-changed-signal.c
4909           src/ppp-manager/nm-pppd-plugin.c
4910           src/supplicant-manager/nm-supplicant-interface.c
4911           src/vpn-manager/nm-vpn-connection.c
4912                 - consistently use nm-dbus-glib-types.h
4913
4914 2008-03-29  Dan Williams  <dcbw@redhat.com>
4915
4916         * src/vpn-manager/nm-vpn-connection.c
4917                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4918                         not string
4919
4920         * src/nm-activation-request.c
4921                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4922                         not string
4923
4924 2008-03-29  Dan Williams  <dcbw@redhat.com>
4925
4926         * libnm-glib/nm-device-802-11-wireless.c
4927                 - (access_point_added_proxy): create new APs if not found
4928
4929 2008-03-29  Dan Williams  <dcbw@redhat.com>
4930
4931         * libnm-glib/nm-client.c
4932                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4933                         before freeing them
4934
4935 2008-03-29  Dan Williams  <dcbw@redhat.com>
4936
4937         * system-settings/plugins/ifcfg-fedora/parser.c
4938                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4939                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4940
4941 2008-03-29  Dan Williams  <dcbw@redhat.com>
4942
4943         * system-settings/plugins/ifcfg-fedora/parser.c
4944                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4945
4946 2008-03-27  Dan Williams  <dcbw@redhat.com>
4947
4948         * nm-object.c
4949                 - (nm_object_queue_notify): don't notify multiple times for the same
4950                         property
4951
4952         * nm-object-private.h
4953                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4954                         if it has zero elements
4955
4956         * nm-ip4-config.c
4957                 - (finalize): use g_ptr_array_foreach() when freeing domains
4958                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4959
4960         * nm-active-connection.c
4961                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4962
4963         * nm-device-802-11-wireless.c
4964           nm-device-802-11-wireless.h
4965                 - (nm_device_802_11_wireless_get_access_points): return const; use
4966                         handle_ptr_array_return()
4967
4968         * nm-types.c
4969                 - (nm_object_array_demarshal): always create an array, even of length
4970                         zero, to distinguish between "NM returned no items" and "haven't
4971                         asked NM yet"
4972
4973         * nm-client.c
4974                 - (dispose): free active connections too
4975                 - (proxy_name_owner_changed): free active connections too when NM goes
4976                         away
4977                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4978                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4979
4980 2008-03-26  Dan Williams  <dcbw@redhat.com>
4981
4982         Rework VPN connection handling for a more consistent D-Bus API.  The
4983         VPNManager object has been removed, and active VPN connections are now the
4984         same as any other active connection.  The Manager object's ActivateConnection
4985         and DeactivateConnection methods are used to start and stop a VPN connection,
4986         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4987         When activating a VPN connection, pass the path of the active connection
4988         to which the VPN connection is tied in the 'specific_object' argument.
4989
4990         Consequently, the libnm-glib API has been reworked to match this arrangement,
4991         with the VPNManager object removed, and the NMVPNConnection objects now
4992         being subclasses of NMActiveConnection.
4993
4994 2008-03-25  Dan Williams  <dcbw@redhat.com>
4995
4996         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4997
4998         * initscript/Arch/networkmanager.in
4999           initscript/Arch/networkmanager-dispatcher.in
5000                 - Updates for Arch Linux (gnome.org #523701)
5001
5002 2008-03-25  Dan Williams  <dcbw@redhat.com>
5003
5004         * libnm-glib/nm-ip4-config.c
5005           libnm-glib/nm-active-connection.c
5006           libnm-glib/nm-access-point.c
5007                 - Use nm_object_queue_notify() instead of g_object_notify()
5008
5009         * libnm-glib/nm-device.c
5010                 - (demarshal_ip4_config): distinguish between successful but missing
5011                         ip4-config request, and unsuccessful and missing ip4-config request
5012                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
5013                         path
5014                 - Use nm_object_queue_notify() instead of g_object_notify()
5015
5016         * libnm-glib/nm-device-802-11-wireless.c
5017                 - (demarshal_active_ap): distinguish between successfull but missing
5018                         active-ap request, and unsuccessful and missing active-ap request
5019                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
5020                         code
5021                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
5022                         for the NMClient to notify the device that wireless is disabled,
5023                         and therefore to clear the AP list and active AP
5024                 - Use nm_object_queue_notify() instead of g_object_notify()
5025
5026         * libnm-glib/nm-client.c
5027                 - (poke_wireless_devices_with_rf_status): new function
5028                 - (update_wireless_status): notify wireless devices of the rfkill status
5029                         so they can clean up if needed
5030                 - Use nm_object_queue_notify() instead of g_object_notify()
5031
5032 2008-03-25  Dan Williams  <dcbw@redhat.com>
5033
5034         * libnm-glib/nm-object.c
5035           libnm-glib/nm-object-private.h
5036                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
5037                         signals to an idle handler
5038                 - (nm_object_get_property): add a timeout to the D-Bus method call
5039
5040 2008-03-25  Dan Williams  <dcbw@redhat.com>
5041
5042         * introspection/nm-device-cdma.xml
5043           introspection/nm-device-gsm.xml
5044           introspection/Makefile.am
5045           introspection/all.xml
5046                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
5047
5048         * src/nm-gsm-device.h
5049           src/nm-gsm-device.c
5050           src/nm-cdma-device.h
5051           src/nm-cdma-device.c
5052           src/Makefile.am
5053                 - Implement PropertiesChanged signals
5054
5055         * libnm-glib/nm-cdma-device.c
5056           libnm-glib/nm-cdma-device.c
5057                 - Attach to PropertiesChanged signals
5058
5059 2008-03-24  Dan Williams  <dcbw@redhat.com>
5060
5061         * libnm-glib/nm-client.c
5062                 - (client_device_added_proxy): add new devices to the internal device
5063                         list so they appear to clients
5064
5065 2008-03-24  Dan Williams  <dcbw@redhat.com>
5066
5067         Massive fixup of libnm-glib to:
5068         a) have all objects (with the exception of VPN) cache their properties and
5069                 update them asynchronously on PropertiesChanged signals from NM
5070         b) return internal const data for most attributes/properties instead of
5071                 allocated values that the caller must free
5072         c) cache wrapped objects such that a given D-Bus path will always map to the
5073                 same GObject returned by libnm-glib
5074         d) remove a few signals and move them to GObject property notifications
5075         e) match recent NM D-Bus API changes for activation/deactivation
5076         f) remove some private functions from libnm-glib headers
5077
5078 2008-03-20  Dan Williams  <dcbw@redhat.com>
5079
5080         * src/nm-manager.c
5081                 - (nm_manager_update_state, manager_device_state_changed,
5082                    nm_manager_activate_device, connection_added_default_handler,
5083                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5084                         queue PropertyChanged singals when the active connections change
5085
5086 2008-03-20  Dan Williams  <dcbw@redhat.com>
5087
5088         * introspection/nm-manager.xml
5089           introspection/nm-manager-client.xml
5090                 - (ActivateConnection): return the object path of the active connection
5091                         on success
5092                 - (GetActiveConnections): remove
5093                 - (DeactivateConnection): new function; deactivate a currently active
5094                         connection
5095                 - Add an ActiveConnections property which returns an array of
5096                         active connection object paths
5097
5098         * introspection/nm-device.xml
5099                 - (Deactivate): remove
5100
5101         * introspection/all.xml
5102                 - Add ActiveConnection introspection
5103
5104         * introspection/nm-active-connection.xml
5105                 - Add the ActiveConnection object
5106
5107         * include/NetworkManager.h
5108                 - Add the Connection.Active D-Bus interface
5109
5110         * src/nm-device-interface.c
5111                 - (impl_device_deactivate): remove
5112
5113         * src/nm-activation-request.c
5114           src/nm-activation-request.c
5115           src/Makefile.am
5116                 - Implement the Connection.Active D-Bus interface
5117
5118         * src/nm-manager.c
5119                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5120                 - (nm_manager_activate_device): return the active connection path
5121                 - (connection_added_default_handler, impl_manager_activate_connection):
5122                         return the active connection to the caller
5123                 - (add_one_connection_element, impl_manager_get_active_connections):
5124                         remove
5125                 - (impl_manager_deactivate_connection): new function; deactivate an
5126                         active connection
5127
5128         * libnm-glib/nm-device.c
5129           libnm-glib/nm-device.h
5130                 - Remove Deactivate() function
5131
5132 2008-03-19  Dan Williams  <dcbw@redhat.com>
5133
5134         * introspection/nm-manager.xml
5135           introspection/nm-manager-client.xml
5136                 - Rename the ActivateDevice method to ActivateConnection to better
5137                         reflect it's usage; it's arguments get reordered a bit too
5138                 - Convert GetActiveConnections method return from a struct to a dict
5139
5140         * include/NetworkManager.h
5141                 - Define the dict keys for return value of GetActiveConnections
5142
5143         * src/nm-manager.c
5144                 - impl_manager_activate_device -> impl_manager_activate_connection
5145                 - (add_one_connection_element): return a populated hash table, not
5146                         a structure
5147
5148         * libnm-glib/nm-client.c
5149           libnm-glib/nm-client.h
5150                 - nm_client_activate_device -> nm_client_activate_connection
5151                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5152                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5153                         instead of the custom structures.  Each element of the returned list
5154                         must be freed with nm_client_free_active_connections_element()
5155
5156 2008-03-18  Dan Williams  <dcbw@redhat.com>
5157
5158         * system-settings/plugins/ifcfg-fedora/parser.c
5159           system-settings/plugins/ifcfg-fedora/parser.h
5160           system-settings/plugins/ifcfg-fedora/plugin.c
5161                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5162                         profiles.  DNS servers and searches must now be stored in the ifcfg
5163                         files themselves
5164
5165 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5166
5167         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5168         print out username and password, it's supposed to be a secret.
5169
5170         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5171         request and set the device state accordingly.
5172
5173 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5174
5175         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5176
5177         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5178
5179 2008-03-18  Dan Williams  <dcbw@redhat.com>
5180
5181         * src/vpn-manager/nm-vpn-connection.c
5182                 - (get_secrets_cb): handle new GetSecrets return format
5183
5184 2008-03-18  Dan Williams  <dcbw@redhat.com>
5185
5186         Adapt system settings service for split 802.1x.
5187
5188         * system-settings/src/nm-system-config-interface.h
5189                 - clarify return value of get_secrets()
5190
5191         * system-settings/src/dbus-settings.c
5192                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5193                 - (check_for_secrets): check if there actually secrets returned by a
5194                         plugin
5195                 - (exported_connection_get_secrets): just return the plugin-returned
5196                         hash of settings' secrets if it looks valid
5197
5198         * system-settings/plugins/ifcfg-fedora/plugin.c
5199                 - (get_secrets): add split secrets with correct format to reply hash
5200
5201         * system-settings/plugins/ifcfg-fedora/parser.c
5202           system-settings/plugins/ifcfg-fedora/parser.h
5203                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5204                    connection_data_free, connection_data_add): keep secrets for
5205                         different settings in different hashes
5206
5207 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5208
5209         Clean up activating device deactivation.
5210
5211         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5212         should be done whether the device activation gets cancelled or the device
5213         is just getting deactivated.
5214         (nm_device_activation_cancel): Remove.
5215         (nm_device_deactivate_quickly): Handle the case where device is activating.
5216
5217         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5218         It does the exact same thing as real_deactivate_quickly().
5219
5220 2008-03-17  Dan Williams  <dcbw@redhat.com>
5221
5222         Split the 802.1x bits out of the wireless-security setting so they are
5223         generalized enough for wired 802.1x to use too.
5224
5225         * introspection/nm-exported-connection.xml
5226                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5227                         of just a hash of the secrets for one setting
5228
5229         * libnm-util/nm-setting-wireless-security.c
5230           libnm-util/nm-setting-wireless-security.h
5231                 - Remove 802.1x-specific stuff
5232                 - Added leap-username and leap-password properties for old-school LEAP
5233
5234         * src/nm-device.c
5235           src/nm-device.h
5236                 - (connection_secrets_updated_cb): take a list of updated settings names,
5237                         not just one
5238
5239         * src/supplicant-manager/nm-supplicant-config.c
5240           src/supplicant-manager/nm-supplicant-config.h
5241                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5242                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5243                         to nm_supplicant_config_add_setting_8021x()
5244                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5245                         the supplicant config
5246
5247         * src/nm-device-802-11-wireless.c
5248                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5249                 - (real_connection_secrets_updated): take a list of updated settings
5250                         names, not just one
5251
5252         * src/nm-device-802-3-ethernet.c
5253           src/nm-cdma-device.c
5254           src/nm-gsm-device.c
5255                 - (real_connection_secrets_updated_cb): take a list of updated settings
5256                         names, not just one
5257
5258         * src/nm-activation-request.c
5259           src/nm-activation-request.h
5260                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5261                         now passes a list of updated settings names, not just one
5262                 - (update_one_setting): new function; handle one updated setting
5263                 - (get_secrets_cb): handle multiple settings returned from the
5264                         settings service; have to be careful of ordering here as there are
5265                         some dependencies between settings (ex. wireless-security and 802.1x
5266                         in some cases)
5267
5268         * src/marshallers/nm-marshal.list
5269                 - new marshaller for connection-secrets-updated signal
5270
5271         * libnm-util/nm-setting-8021x.c
5272                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5273                         methods
5274                 - (verify): a valid 'eap' property is now required
5275
5276         * libnm-util/nm-connection.c
5277                 - (register_default_settings): add priorities to settings; there are
5278                         some dependencies between settings, and during the need_secrets
5279                         calls this priority needs to be respected.  For example, only the
5280                         wireless-security setting knows whether or not the connection is
5281                         going to use 802.1x or now, so it must be asked for secrets before
5282                         any existing 802.1x setting is
5283                 - (nm_connection_lookup_setting_type): expose
5284
5285         * libnm-util/nm-setting-wireless.c
5286                 - (verify): should verify even if all_settings is NULL; otherwise won't
5287                         catch the case where there is missing security
5288
5289         * libnm-util/nm-setting-wireless-security.c
5290                 - Remove everything to do with 802.1x
5291                 - Add old-school LEAP specific properties for username and password
5292                 - (need_secrets): rework LEAP secrets checking
5293                 - (verify): rework for LEAP and 802.1x verification
5294
5295 2008-03-17  Dan Williams  <dcbw@redhat.com>
5296
5297         * src/NetworkManagerPolicy.c
5298                 - (auto_activate_device): always remove the current activation check
5299                         from the pending activation list, otherwise when the policy gets
5300                         destroyed on NM exit it will attempt to free the already freed
5301                         activation check
5302
5303 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5304
5305         * src/backends/NetworkManagerSlackware.c 
5306         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5307
5308         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5309
5310 2008-03-14  Dan Williams  <dcbw@redhat.com>
5311
5312         * src/nm-manager.c
5313                 - (nm_device_interface_get_iface): g_object_get() will return an
5314                         allocated value, so this function must not return const
5315                 - (nm_device_interface_activate): free returned iface
5316
5317 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5318
5319         * libnm-util/Makefile.am: Add new files to build.
5320
5321         * libnm-util/nm-connection.c: Register NMSetting8021x.
5322
5323         * libnm-util/nm-setting-8021x.c
5324         * libnm-util/nm-setting-8021x.h: Implement.
5325
5326 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5327
5328         * libnm-util/Makefile.am: Add new files to build.
5329
5330         * libnm-util/nm-connection.c: Register NMSetting8021x.
5331
5332         * libnm-util/nm-setting-8021x.c
5333         * libnm-util/nm-setting-8021x.h: Implement.
5334
5335 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5336
5337         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5338         data.
5339
5340 2008-03-14  Dan Williams  <dcbw@redhat.com>
5341
5342         * include/wireless-helper.h
5343           include/Makefile.am
5344                 - One place for all the junk needed for #including wireless.h
5345
5346         * test/nm-tool.c
5347           src/NetworkManagerAP.c
5348           src/wpa.c
5349           src/Makefile.am
5350           libnm-util/nm-utils.c
5351           libnm-util/nm-setting-wireless.c
5352           libnm-glib/nm-device-802-11-wireless.c
5353           libnm-glib/nm-access-point.c
5354           libnm-glib/libnm-glib-test.c
5355                 - include wireless-helper.h, not iwlib.h
5356
5357         * configure.in
5358                 - Don't need libiw really, just need to check for wireless.h
5359
5360         * src/kernel-types.h
5361                 - Remove; used types moved into wpa.c
5362
5363         * src/nm-device-802-11-wireless.c
5364                 - (nm_device_802_11_wireless_update_signal_strength,
5365                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5366                    nm_device_802_11_wireless_set_mode,
5367                    nm_device_802_11_wireless_get_frequency,
5368                    nm_device_802_11_wireless_get_ssid,
5369                    nm_device_802_11_wireless_set_ssid,
5370                    nm_device_802_11_wireless_get_bitrate,
5371                    nm_device_802_11_wireless_get_bssid,
5372                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5373                         instead of iwlib functions
5374
5375 2008-03-14  Dan Williams  <dcbw@redhat.com>
5376
5377         * src/ppp-manager/nm-ppp-manager.c
5378                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5379                         should only take the DBusGMethodInvocation argument, not user/pass
5380                         too.  With dbus-glib, async functions only take 2 C arguments since
5381                         the real dbus method arguments get passed back with
5382                         dbus_g_method_return()
5383
5384 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5385
5386         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5387         Adapt the changes of NMSettingIP4Config.
5388
5389 2008-03-13  Dan Williams  <dcbw@redhat.com>
5390
5391         * src/NetworkManagerUtils.c
5392           src/NetworkManagerUtils.h
5393                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5394
5395         * src/NetworkManagerAP.c
5396           src/nm-device-802-11-wireless.c
5397           src/nm-device-802-3-ethernet.c
5398                 - s/iw_ether_ntop/nm_ether_ntop/g
5399
5400 2008-03-13  Dan Williams  <dcbw@redhat.com>
5401
5402         * src/NetworkManagerPolicy.c
5403                 - (update_routing_and_dns): never set the default route through an
5404                         IPv4LL addressed device
5405
5406 2008-03-13  Dan Williams  <dcbw@redhat.com>
5407
5408         * NetworkManagerUtils.c
5409           NetworkManagerUtils.h
5410                 - Remove NMSock stuff
5411                 - Remove the completion stuff
5412
5413         * nm-device.c
5414           nm-device.h
5415           NetworkManager.c
5416           NetworkManagerSystem.c
5417           autoip.c
5418           nm-device-802-11-wireless.c
5419           nm-device-802-3-ethernet.c
5420                 - Remove NMSock and completion stuff
5421                 - Remove nm_ioctl_info()
5422
5423 2008-03-12  Dan Williams  <dcbw@redhat.com>
5424
5425         * src/nm-device.c
5426                 - (merge_ip4_config): avoid duplicates
5427
5428 2008-03-12  Dan Williams  <dcbw@redhat.com>
5429
5430         * libnm-util/nm-setting-ip4-config.c
5431           libnm-util/nm-setting-ip4-config.h
5432                 - Remove 'manual' and 'autoip' properties
5433                 - Add 'method' property
5434                 - (verify): fix verification with 'method'
5435                 - (finalize): free 'method'
5436                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5437                         up for 'method'
5438
5439         * src/nm-device.c
5440                 - (real_act_stage3_ip_config_start): check IP4Config method
5441                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5442                         the future
5443                 - (merge_ip4_config): IP settings are valid with DHCP too
5444                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5445                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5446
5447         * src/nm-device-802-11-wireless.c
5448                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5449                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5450                         only on demand
5451
5452         * system-settings/plugins/ifcfg-fedora/parser.c
5453           system-settings/plugins/ifcfg-suse/parser.c
5454                 - (make_ip4_setting): fix up for 'method'
5455
5456 2008-03-12  Dan Williams  <dcbw@redhat.com>
5457
5458         * system-settings/plugins/ifcfg-fedora/parser.c
5459           system-settings/plugins/ifcfg-fedora/parser.h
5460                 - (get_ifcfg_name): ignore more file suffixes
5461                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5462
5463 2008-03-12  Dan Williams  <dcbw@redhat.com>
5464
5465         * configure.in
5466                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5467
5468 2008-03-12  Dan Williams  <dcbw@redhat.com>
5469
5470         * system-settings/plugins/ifcfg-fedora/plugin.c
5471                 - (write_auto_wired_connection): new function; write out an auto
5472                         wired connection file since the applet isn't doing it any more
5473                 - (reload_all_connections): write out the auto wired connection file
5474                         if there aren't any wired connections already
5475                 - (init): don't leak a GError
5476
5477 2008-03-12  Dan Williams  <dcbw@redhat.com>
5478
5479         * src/nm-device-interface.c
5480                 - (nm_device_interface_activate): print the ID of the connection
5481                         that's about to be activated
5482
5483 2008-03-12  Dan Williams  <dcbw@redhat.com>
5484
5485         Harmonize the 802.11 bitrate API
5486
5487         * introspection/nm-access-point.xml
5488                 - 'Rate' -> 'MaxBitrate'; clarify units
5489
5490         * introspection/nm-device-802-11-wireless.xml
5491                 - Clarify units of 'Bitrate'
5492
5493         * src/NetworkManagerAP.c
5494           src/NetworkManagerAP.h
5495                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5496                         property to 'max-bitrate'
5497                 - (foreach_property_cb): convert rate to Kb/s
5498
5499         * src/nm-device-802-11-wireless.c
5500                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5501
5502         * libnm-glib/nm-access-point.c
5503           libnm-glib/nm-access-point.h
5504                 - 'rate' -> 'max-bitrate'
5505
5506         * test/nm-tool.c
5507           libnm-glib/libnm-glib-test.c
5508                 - Fix up for these changes
5509
5510 2008-03-12  Dan Williams  <dcbw@redhat.com>
5511
5512         * src/nm-device.c
5513                 - (nm_device_set_ip4_config): don't send property notifications when
5514                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5515                         which dbus-glib can't parse because the value is NULL, which isn't
5516                         a legal object path.  Setting the IP4 config to NULL is only
5517                         valid when deactivating a device anyway, so the device state change
5518                         will alert listeners that the ip4 config is invalid.
5519
5520 2008-03-12  Dan Williams  <dcbw@redhat.com>
5521
5522         * src/nm-properties-changed-signal.c
5523                 - (add_to_string): better handling of NULL objects
5524
5525 2008-03-12  Dan Williams  <dcbw@redhat.com>
5526
5527         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5528         convert the libnm-glib NMDevice8023Ethernet to cached properties
5529
5530         * introspection/nm-device-802-3-ethernet.xml
5531                 - New 'Carrier' property
5532                 - New 'PropertiesChanged' signal
5533
5534         * introspection/nm-device.xml
5535                 - Remove 'Carrier' property
5536                 - Remove 'CarrierChanged' signal
5537
5538         * src/nm-device-interface.c
5539           src/nm-device-interface.h
5540                 - (nm_device_interface_init): remove 'carrier' property and
5541                         'carrier-changed' signal
5542
5543         * src/nm-device.c
5544           src/nm-device.h
5545                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5546                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5547                         the link here; wired device will handle that
5548                 - (handle_dhcp_lease_change): don't bother updating link here
5549                 - (get_property, nm_device_class_init): remove carrier property
5550
5551         * src/nm-device-802-11-wireless.c
5552                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5553                         real_update_link(); wireless devices don't use carrier at all
5554                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5555                    supplicant_iface_connection_state_cb_handler,
5556                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5557
5558         * src/nm-device-802-3-ethernet.c
5559           src/nm-device-802-3-ethernet.h
5560                 - (nm_device_802_3_ethernet_carrier_on,
5561                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5562                         instead of nm_device_set_carrier()
5563                 - (device_state_changed): update link from sysfs on activation;
5564                         replaces real_update_link()
5565                 - (real_update_link): remove, replaced by device_state_changed()
5566                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5567                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5568                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5569                         new get_carrier function
5570                 - (get_property): add 'carrier' property
5571                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5572                         hook into property-changed signal helper
5573
5574         * src/NetworkManagerPolicy.c
5575                 - (device_carrier_changed): will only ever be called with a wired device
5576                 - (device_added): only hook up to carrier-changed for wired devices
5577
5578         * libnm-glib/nm-device.c
5579           libnm-glib/nm-device.h
5580                 - (constructor, nm_device_class_init): remove carrier-changed signal
5581                 - (device_carrier_changed_proxy): remove; unused
5582                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5583
5584         * libnm-glib/nm-device-802-3-ethernet.c
5585           libnm-glib/nm-device-802-3-ethernet.h
5586                 - Convert to cached properties like AP and Wireless objects
5587                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5588                         instead of a 'char *', return value should not be freed
5589                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5590                 - (constructor): hook into properties-changed helper
5591                 - (set_property, get_property): new functions
5592                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5593
5594         * test/nm-tool.c
5595                 - (detail_device): strdup the wired hardware address too since it's
5596                         cached now
5597
5598         * libnm-glib/libnm-glib-test.c
5599                 - (dump_wired): strdup the wired hardware address too since it's
5600                         cached now
5601
5602 2008-03-12  Dan Williams  <dcbw@redhat.com>
5603
5604         * libnm-util/nm-setting-ip4-config.c
5605           libnm-util/nm-setting-ip4-config.h
5606                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5607                         the 'autoip' property from the spec
5608
5609 2008-03-11  Dan Williams  <dcbw@redhat.com>
5610
5611         * src/backends/NetworkManagerGeneric.c
5612           src/backends/NetworkManagerGeneric.h
5613                 - (nm_generic_device_get_use_dhcp): remove
5614
5615 2008-03-11  Dan Williams  <dcbw@redhat.com>
5616
5617         * src/nm-device.c
5618                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5619                         already in nm_device_set_ip4_config()
5620                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5621                         due to a DHCP rebind fails
5622                 - (nm_device_set_ip4_config): send property notifications when the
5623                         ip4 config changes
5624                 - (get_property): only report IP4Config property during valid states
5625
5626         * src/NetworkManagerPolicy.c
5627                 - (update_routing_and_dns): ignore devices that don't have an ip4
5628                         config; add parameter 'force_update' to allow callers to specify
5629                         that changes should be made even if the default device doesn't change
5630                 - (device_ip4_config_changed): update DNS and routing when the device's
5631                         IP4Config changes, like for DHCP updates
5632                 - (device_added): listen for ip4-config property changes
5633
5634 2008-03-11  Dan Williams  <dcbw@redhat.com>
5635
5636         Fix address handling as a result of DHCP rebind/renew/reboot.
5637
5638         * src/NetworkManagerSystem.c
5639                 - (check_one_address): delete an address if it doesn't match a given
5640                         one for the same interface
5641                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5642                         be smarter about flushing addresses (only flush ones that don't
5643                         match the one we're about to apply)
5644
5645         * src/backends/NetworkManagerDebian.c
5646           src/backends/NetworkManagerSuSE.c
5647           src/backends/NetworkManagerArch.c
5648           src/backends/NetworkManagerSlackware.c
5649           src/backends/NetworkManagerRedHat.c
5650           src/backends/NetworkManagerPaldo.c
5651           src/backends/NetworkManagerFrugalware.c
5652           src/backends/NetworkManagerGentoo.c
5653                 - (nm_system_delete_default_route): remove
5654
5655         * src/backends/NetworkManagerGeneric.c
5656           src/backends/NetworkManagerGeneric.h
5657                 - (nm_generic_enable_loopback): fix the loopback device label
5658                 - (nm_generic_delete_default_route): remove; no longer used
5659
5660 2008-03-11  Dan Williams  <dcbw@redhat.com>
5661
5662         * src/nm-device-interface.h
5663                 - Delimit property name words with '-', otherwise g_object_notify()
5664                         doesn't work the way we expect
5665
5666 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5667
5668         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5669
5670 2008-03-11  Dan Williams  <dcbw@redhat.com>
5671
5672         * src/NetworkManagerPolicy.c
5673                 - (update_routing_and_dns): don't change anything if the default device
5674                         hasn't changed; print something out when switching the default route
5675                         and DNS
5676
5677 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5678
5679         Implement PPPoE.
5680
5681         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5682         setting. Use "nic-$eth".
5683
5684         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5685         the device is activating here to fix a race condition.
5686
5687         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5688
5689         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5690         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5691         (nm_ppp_manager_start): Take activation request instead of connection, we might
5692         need it for asking secrets.
5693         (nm_ppp_manager_update_secrets): Implement.
5694
5695         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5696         ppp manager start. It might be needed for asking secrets.
5697
5698         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5699         (ppp_state_changed): Handle pppd daemon disappearing.
5700         (pppoe_stage2_config): Send activation request to ppp manager start.
5701
5702         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5703
5704         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5705         username and password.
5706         
5707 2008-03-10  Dan Williams  <dcbw@redhat.com>
5708
5709         * src/nm-device.c
5710                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5711                         response to a DHCP lease change
5712                 - (dhcp_state_changed): handle DHCP lease changes while activated
5713                 - (nm_device_set_ip4_config): remove a previously set named config
5714                         when setting an ip4 config
5715
5716 2008-03-10  Dan Williams  <dcbw@redhat.com>
5717
5718         * src/nm-serial-device.c
5719                 - (nm_serial_device_send_command): report errno on error
5720                 - (get_reply_got_data): limit the size of the overall buffer
5721                 - (wait_for_reply_info_destroy): destroy result string
5722                 - (wait_for_reply_got_data): append received data to an overall buffer
5723                         until timeout, filled buffer, or error instead of keeping a per-call
5724                         buffer.  Some devices send data slowly enough that this function
5725                         gets called multiple times for the same command stream.
5726                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5727                         wait_for_reply_got_data() here
5728
5729 2008-03-10  Dan Williams  <dcbw@redhat.com>
5730
5731         * src/nm-cdma-device.c
5732                 - (do_dial, init_modem): handle errors from
5733                         nm_serial_device_send_command_string()
5734
5735         * src/nm-gsm-device.c
5736                 - (do_dial, manual_registration, automatic_registration_get_network,
5737                    automatic_registration, enter_pin, check_pin, init_modem): handle
5738                         errors from nm_serial_device_send_command_string()
5739
5740 2008-03-10  Dan Williams  <dcbw@redhat.com>
5741
5742         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5743
5744         * src/named-manager/nm-named-manager.c
5745                 - (compute_searches): prefer searches before domains
5746                 - (compute_domain): new function
5747                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5748                 - (merge_one_ip4_config): if there are no searches in the source config,
5749                         merge domains of the source config into the target config
5750                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5751
5752 2008-03-10  Dan Williams  <dcbw@redhat.com>
5753
5754         * src/nm-serial-device.c
5755                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5756                 - (wait_for_reply_got_data): try to handle slower serial devices where
5757                         the reply is broken up into multiple reads by concatenating replies
5758                         together until either an error is received or the search string is
5759                         found
5760
5761 2008-03-10  Dan Williams  <dcbw@redhat.com>
5762
5763         * src/nm-device.c
5764                 - (nm_device_bring_down): deactivate the device if it's activating too,
5765                         not just if it's already activated.  This makes sure that everything
5766                         from an association attempt is cleaned up (like DHCP for example)
5767
5768 2008-03-10  Dan Williams  <dcbw@redhat.com>
5769
5770         * src/nm-serial-device.c
5771                 - (config_fd): report error from TCSETA
5772                 - (nm_serial_device_open): fail when config_fd() fails
5773
5774 2008-03-10  Dan Williams  <dcbw@redhat.com>
5775
5776         * src/nm-ip4-config.c
5777                 - (nm_ip4_config_init): allocate searches list
5778                 - (finalize): free searches list
5779
5780 2008-03-09  Dan Williams  <dcbw@redhat.com>
5781
5782         Patch from Bas Zoetekouw <bas@debian.org>
5783
5784         * src/dhcp-manager/nm-dhcp-manager.c
5785                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5786
5787 2008-03-09  Dan Williams  <dcbw@redhat.com>
5788
5789         Patch from Bas Zoetekouw <bas@debian.org>
5790
5791         * src/nm-ip4-config.c
5792           src/nm-ip4-config.h
5793                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5794                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5795                         domains.  'searches' is the correct way to store multiple search
5796                         domains, whereas 'domains' is really just supposed to store one
5797                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5798                         search domains to the client.
5799                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5800
5801 2008-03-09  Dan Williams  <dcbw@redhat.com>
5802
5803         * src/dhcp-manager/nm-dhcp-manager.c
5804                 - (dhclient_run): send interface-specific config files to dhclient
5805
5806 2008-03-07  Dan Williams  <dcbw@redhat.com>
5807
5808         * system-settings/plugins/ifcfg-fedora/parser.c
5809                 - (is_wireless_device): new function; test a device for wireless
5810                         extensions
5811                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5812                         test the device for wireless extensions to determine the type
5813
5814 2008-03-07  Dan Williams  <dcbw@redhat.com>
5815
5816         Change manager's StateChange signal to StateChanged for consistency.
5817
5818         * introspection/nm-manager.xml
5819                 - Add 'StateChanged' signal
5820                 - Move 'StateChange' down to the deprecated section
5821
5822         * src/nm-hal-manager.c
5823                 - (nm_hal_manager_new): connect to 'state-changed' instead
5824
5825         * src/NetworkManagerPolicy.c
5826                 - (nm_policy_new): connect to 'state-changed' instead
5827
5828         * src/nm-manager.c
5829           src/nm-manager.h
5830                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5831                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5832                         of 'state-change'
5833
5834         * libnm-glib/nm-client.c
5835           libnm-glib/nm-client.h
5836                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5837                         track and proxy 'state-changed' instead of 'state-change'
5838
5839 2008-03-07  Dan Williams  <dcbw@redhat.com>
5840
5841         First pass of multiple active device support.  Expect bugs.
5842
5843         * src/nm-ip4-config.c
5844           src/nm-ip4-config.h
5845                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5846                         there are better ways to do this in the named manager
5847
5848         * src/nm-device.c
5849           src/nm-device.h
5850                 - (nm_device_can_activate): return whether the device can activate a
5851                         connection right now; taking into account things like carrier state
5852                         and rfkill state
5853                 - (nm_device_get_best_auto_connection): renamed from
5854                         nm_device_get_best_connection
5855                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5856                         device subclasses themselves, so that each device can override the
5857                         MTU from it's NMSetting subclass if needed
5858                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5859                         in NetworkManagerSystem.c, not here
5860
5861         * src/named-manager/nm-named-manager.c
5862           src/named-manager/nm-named-manager.h
5863                 - (nm_named_manager_name_owner_changed,
5864                    nm_named_manager_dbus_connection_changed): fix for changes to
5865                         rewrite_resolv_conf()
5866                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5867                         from parameter list
5868                 - (merge_one_ip4_config): new function; merge ip4 configs together
5869                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5870                         ip4 configs; the VPN config takes precedence, then the best
5871                         device config, then the rest of the configs
5872                 - (get_domain_for_config): take the NMNamedManager as an argument
5873                         to check whether the config is the VPN config
5874                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5875                         attribute from ip4 configs
5876                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5877                 - (remove_ip4_config_from_named): fix for changes to
5878                         get_domain_for_config()
5879                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5880                         based on its type; callers must pass in the type now
5881                 - (get_last_default_domain): remove, unused
5882                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5883
5884         * src/nm-device-802-11-wireless.c
5885                 - (real_can_activate): new function
5886                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5887                 - (real_act_stage4_get_ip4_config): handle MTU override
5888
5889         * src/nm-device-802-3-ethernet.c
5890                 - (real_can_activate): new function
5891                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5892                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5893
5894         * src/vpn-manager/nm-vpn-connection.c
5895                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5896                         attribute on the ip4 config
5897
5898         * src/NetworkManagerPolicy.c
5899                 - (nm_policy_auto_get_best_device): remove
5900                 - (nm_policy_device_change_check): remove
5901                 - (update_default_route): new function; set the default route via
5902                         the specified device
5903                 - (get_device_priority): new function; return the priority number of
5904                         a device type WRT which one should have the default route.  Order is
5905                         (highest to lowest)  wired, wireless, GSM, CDMA.
5906                 - (update_routing_and_dns): new function; determine which device should
5907                         have the default route, then update the routing table and DNS
5908                 - (maybe_auto_activate_device): new function; if a device is now
5909                         available for activation, find out what connection it would like to
5910                         activate and do it
5911                 - (schedule_activate_check): new function; if a device can be activated
5912                         now, schedule the activation.  Each device may have only one
5913                         pending activation at a given time.
5914                 - (device_state_changed): if activation was canceled, try again,
5915                         possibly with another connection; if the device was activated,
5916                         update routing and DNS; if the device was deactivated, try again
5917                         with another connection
5918                 - (device_carrier_changed): if there is no carrier, deactivate the
5919                         device; otherwise schedule an activation check for the device
5920                 - (wireless_networks_changed): schedule an activation check for the
5921                         device
5922                 - (device_added): keep track of the signal handler IDs so they can
5923                         be removed when the device goes away
5924                 - (device_removed): remove any signal handlers that might be attached
5925                         to the device; update routing and DNS
5926                 - (schedule_activate_all): new function
5927                 - (connections_added, connection_added, connection_updated): when
5928                         connections change, schedule all devices for an activation check
5929                 - (connection_removed): when a device is deactivated because its
5930                         connection was removed, schedule another activation check for it
5931                 - (nm_policy_destroy): destroy pending activations and disconnect
5932                         all device signal handlers
5933
5934         * src/nm-manager.c
5935                 - (nm_manager_activate_device): if the device was already actived,
5936                         deactivate it
5937                 - (deactivate_old_device): remove
5938                 - (connection_added_default_handler, impl_manager_activate_device):
5939                         don't deactivate other devices when activating this one
5940
5941         * src/backends/NetworkManagerGentoo.c
5942           src/backends/NetworkManagerFrugalware.c
5943           src/backends/NetworkManagerPaldo.c
5944           src/backends/NetworkManagerRedHat.c
5945           src/backends/NetworkManagerSlackware.c
5946           src/backends/NetworkManagerArch.c
5947           src/backends/NetworkManagerSuSE.c
5948           src/backends/NetworkManagerDebian.c
5949                 - (nm_system_get_mtu): remove; MTU should be provided through the
5950                         distro's system settings service plugin instead
5951                 - (nm_system_device_add_default_route_via_device): remove
5952                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5953                 - (nm_system_device_replace_default_route): new function; call
5954                         generic implementation
5955
5956         * src/backends/NetworkManagerGeneric.c
5957           src/backends/NetworkManagerGeneric.h
5958                 - (nm_generic_device_add_default_route_via_device,
5959                    nm_generic_device_add_default_route_via_device_with_iface): remove
5960                 - (nm_generic_device_replace_default_route): replace the default route
5961                         with the given route via some gateway
5962
5963         * src/NetworkManagerSystem.c
5964           src/NetworkManagerSystem.h
5965                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5966                         to routing and DNS; but set the MTU here
5967                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5968                         ip_iface of the active device; use the standard MTU setting function
5969                 - (nm_system_set_mtu): remove
5970                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5971
5972 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5973
5974         Rework the interaction between ppp manager and pppd plugin. Register a well
5975         known DBUS service in manager and let the plugin call it's methods instead
5976         of listening plugin's signals.
5977
5978         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5979         of emitting signals.
5980
5981         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5982
5983         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5984
5985         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5986         nm_ppp_manager_start().
5987
5988         * introspection/nm-ppp-manager.xml: New file.
5989
5990         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5991         the case correctly where driver is trying to send -1 for the speed, which gets
5992         casted to u16 and thus is always > 0.
5993
5994 2008-03-07  Dan Williams  <dcbw@redhat.com>
5995
5996         * src/nm-hal-manager.c
5997                 - (nm_get_device_driver_name): use net.originating_device first, fall
5998                         back to physical device.  HAL has deprecated physical_device.
5999
6000         * libnm-glib/nm-device.c
6001                 - (get_product_and_vendor): use net.originating_device first, fall
6002                         back to physical device.  HAL has deprecated physical_device.
6003                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
6004
6005 2008-03-07  Dan Williams  <dcbw@redhat.com>
6006
6007         * src/nm-netlink.c
6008                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
6009                         last commit; fix that
6010                 - (get_link_cache): print error string
6011
6012 2008-03-07  Dan Williams  <dcbw@redhat.com>
6013
6014         * src/nm-netlink.c
6015                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
6016                         don't need this hack any more (Benoit Boissinot)
6017
6018 2008-03-06  Dan Williams  <dcbw@redhat.com>
6019
6020         * autogen.sh
6021                 - Die gnome-common, die
6022
6023 2008-03-04  Dan Williams  <dcbw@redhat.com>
6024
6025         Patch from Michael Biebl <biebl@debian.org>
6026
6027         * NetworkManager.pc.in
6028                 - doesn't actually depend on dbus-1
6029
6030         * libnm-util/nm-utils.h
6031                 - remove unused #include <dbus/dbus.h>
6032
6033         * libnm-glib/libnm_glib.pc.in
6034                 - depends on glib and dbus-glib
6035
6036 2008-03-02  Dan Williams  <dcbw@redhat.com>
6037
6038         * src/NetworkManagerPolicy.c
6039                 - s/device_state_changed_idle_id/update_state_id/
6040
6041 2008-03-02  Dan Williams  <dcbw@redhat.com>
6042
6043         * src/nm-device.c
6044           src/nm-device.h
6045           src/nm-device-802-11-wireless.c
6046           src/nm-device-802-3-ethernet.c
6047           src/NetworkManagerPolicy.c
6048                 - s/link_active/carrier
6049                 - nm_device_set_active_link() -> nm_device_set_carrier()
6050                 - nm_device_has_active_link() -> nm_device_get_carrier()
6051
6052 2008-03-02  Dan Williams  <dcbw@redhat.com>
6053
6054         * system-settings/plugins/ifcfg-fedora/parser.c
6055                 - (make_wireless_setting): fail connection creation on missing SSID
6056
6057 2008-02-29  Dan Williams  <dcbw@redhat.com>
6058
6059         * src/NetworkManagerPolicy.c
6060                 - (nm_policy_device_change_check): ensure that a previously active
6061                         device with a system connection has a link before denying a switch
6062                         to a user connection
6063
6064 2008-02-29  Dan Williams  <dcbw@redhat.com>
6065
6066         * src/nm-device-802-11-wireless.c
6067                 - (link_timeout_cb): try again if scanning; deactivate the device when
6068                         activated if the link dies
6069                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
6070                         15 seconds
6071
6072 2008-02-29  Dan Williams  <dcbw@redhat.com>
6073
6074         * src/nm-device-802-11-wireless.c
6075           src/nm-device-802-11-wireless.h
6076                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6077                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6078                 - (device_cleanup): reset the scan interval lower when the device
6079                         deactivates
6080                 - (can_scan): base decision mostly off device state, not supplicant
6081                         interface state since the supplicant interface state isn't a
6082                         great indicator of whether the device is active or not
6083                 - (request_wireless_scan): clean up; schedule the next scan here
6084                 - (schedule_scan): only back the scan interval off if a new scan
6085                         actually gets scheduled; and make scan intervals tighter when the
6086                         device is disconnected
6087                 - (supplicant_iface_state_cb_handler): fold in the bits of
6088                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6089                         interval to minimum
6090                 - (activation_success_handler): reset scan interval to something
6091                         reasonable 
6092
6093 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6094
6095         reviewed by: Steev <steev@steev.net>
6096
6097         * configure.in:
6098         * src/backends/NetworkManagerGentoo.c:
6099         (nm_system_restart_mdns_responder):
6100                 Howl is no longer a supported mDNS provider
6101
6102 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6103
6104         Get rid of a bunch of unused distro specific functions.
6105
6106 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6107
6108         Implement suse plugin for system settings daemon.
6109
6110         * system-settings/plugins/ifcfg-suse/*: Implement.
6111
6112         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6113         suse.
6114
6115         * configure.in: Check (without failing) for gio.
6116         Create ifcfg-suse plugin's Makefile.
6117
6118 2008-02-20  Dan Williams  <dcbw@redhat.com>
6119
6120         * libnm-util/nm-connection.c
6121           libnm-util/nm-connection.h
6122                 - (nm_connection_compare): accept compare flags and pass them to the
6123                         setting compare function
6124
6125         * libnm-util/nm-setting.c
6126           libnm-util/nm-setting.h
6127                 - (nm_setting_compare): accept compare flags; ignore properties that are
6128                         marked fuzzy
6129
6130         * libnm-util/nm-setting-connection.c
6131           libnm-util/nm-setting-wireless.c
6132           libnm-util/nm-setting-ppp.c
6133           libnm-util/nm-setting-wired.c
6134                 - Mark some setting properties as ignorable when doing a fuzzy compare
6135
6136         * src/nm-device.c
6137                 - (device_activation_precheck): use exact compare
6138
6139 2008-02-20  Dan Williams  <dcbw@redhat.com>
6140
6141         * src/NetworkManagerPolicy.c
6142                 - (nm_policy_device_change_check): get scope off the connection, not
6143                         using the manager helper
6144
6145         * src/nm-manager.c
6146           src/nm-manager.h
6147                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6148                 - (connection_get_settings_cb): set scope and path on connection, not
6149                         using GObject data items
6150                 - (get_connection_for_proxy): don't need to return path, since that
6151                         can be gotten from the connection
6152                 - (get_connection_for_proxy): get path off the connection, not from
6153                         parameters
6154                 - (connection_removed_cb, connection_updated_cb): don't need to get
6155                         path from get_connection_for_proxy(); get scope off the connection
6156                         instead of using GObject data items
6157                 - (connection_added_default_handler, add_one_connection_element): use
6158                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6159                 - (nm_manager_get_connection_dbus_path): remove
6160                 - (nm_manager_get_connection_scope): remove
6161
6162 2008-02-20  Dan Williams  <dcbw@redhat.com>
6163
6164         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6165                 on confusing names
6166
6167         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6168                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6169                 NMExportedConnection
6170
6171         * Internally rename NMConnectionType -> NMConnectionScope
6172
6173         * Provide default implementations of the 'get_id' and 'get_settings' methods
6174                 of NMExportedConnection
6175
6176 2008-02-15  Dan Williams  <dcbw@redhat.com>
6177
6178         * src/nm-device-802-11-wireless.c
6179                 - (device_cleanup): release the AP list here too so that the AP list
6180                         doesn't survive across suspend/resume and up/down.  There is some
6181                         room for optimization, for example blow the list away when the card
6182                         brought back up, but only if the device has only been down for a
6183                         minute or more.
6184
6185 2008-02-15  Dan Williams  <dcbw@redhat.com>
6186
6187         * src/nm-hal-manager.c
6188                 - (modem_device_creator): recognize new HAL modem capabilities
6189
6190 2008-02-12  Dan Williams  <dcbw@redhat.com>
6191
6192         * system-settings/plugins/ifcfg-fedora/plugin.c
6193                 - (watch_path): handle IN_DELETE_SELF too
6194                 - (handle_connection_changed): notify when removing a connection
6195                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6196                         case of a file moving out of the profile directory
6197
6198 2008-02-12  Dan Williams  <dcbw@redhat.com>
6199
6200         * system-settings/plugins/ifcfg-fedora/parser.c
6201                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6202
6203 2008-02-12  Dan Williams  <dcbw@redhat.com>
6204
6205         * libnm-util/nm-utils.c
6206                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6207                         just any empty array
6208
6209 2008-02-12  Dan Williams  <dcbw@redhat.com>
6210
6211         * system-settings/src/nm-system-config-interface.c
6212           system-settings/src/nm-system-config-interface.h
6213                 - (load_connections): get_connections() should now return an allocated
6214                         GSList that the system settings service will free
6215
6216         * system-settings/plugins/ifcfg-fedora/plugin.c
6217           system-settings/plugins/ifcfg-fedora/parser.h
6218           system-settings/plugins/ifcfg-fedora/parser.c
6219                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6220                         in the profile directory, handle resolv.conf file changes
6221
6222 2008-02-10  Dan Williams  <dcbw@redhat.com>
6223
6224         * src/nm-device-802-3-ethernet.c
6225                 - (real_bring_up): save the supplicant interface state signal id
6226                 - (real_bring_down): disconnect from the supplicant interface state
6227                         signal
6228
6229 2008-02-07  Dan Williams  <dcbw@redhat.com>
6230
6231         * initscript/RedHat/NetworkManager.in
6232           initscript/RedHat/NetworkManagerDispatcher.in
6233                 - Add new-style LSB init headers
6234
6235 2008-02-07  Dan Williams  <dcbw@redhat.com>
6236
6237         * system-settings/src/dbus-settings.c
6238           system-settings/src/dbus-settings.h
6239                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6240                         table of secrets
6241                 - (connection_settings_get_secrets): consolidate error returns into
6242                         one place; use the new get_secrets() plugin interface function to
6243                         get secrets from the plugin itself rather than using GObject data
6244                         magic
6245
6246         * system-settings/src/main.c
6247                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6248                    load_connections): keep a private list of the plugin-returned
6249                         connections, don't use the plugin's GSList
6250
6251         * system-settings/plugins/ifcfg-fedora/plugin.c
6252                 - (watch_path): watch the path, not the filename (duh)
6253                 - (reload_all_connections): use the direct hash/equal functions; the
6254                         ones for int aren't appropriate here
6255                 - (get_secrets, system_config_interface_init): implement the
6256                         get_secrets() function
6257                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6258                         now in the connection's ConnectionData instead of being a GObject
6259                         data property
6260                 - (handle_profile_item_changed): ifcfg file path is now in the
6261                         connection's ConnectionData instead of being a GObject data property;
6262                         be sure to copy secrets over from the new connection to the existing
6263                         connection when updating the connection's settings
6264                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6265                         file descriptor
6266
6267         * system-settings/plugins/ifcfg-fedora/parser.c
6268           system-settings/plugins/ifcfg-fedora/parser.h
6269                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6270                    connection_data_copy_secrets, connection_data_free,
6271                    connection_data_add): new functions; connection data manipulation
6272                 - (make_wireless_security_setting): stuff secrets into the
6273                         connection data, not as GObject data items; make sure to close
6274                         the keys ifcfg file
6275                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6276                         connection data to the connection
6277
6278 2008-02-07  Dan Williams  <dcbw@redhat.com>
6279
6280         * system-settings/src/nm-system-config-interface.c
6281           system-settings/src/nm-system-config-interface.h
6282                 - Add a get_secrets() interface function to retrieve secrets for a
6283                         specific setting of a specific connection.  Document the interface
6284                         a bit more too.
6285
6286 2008-02-07  Dan Williams  <dcbw@redhat.com>
6287
6288         * src/nm-device-802-11-wireless.c
6289                 - (handle_auth_or_fail): new function; consolidate device activation
6290                         failure check after a certain number of failures getting secrets
6291                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6292                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6293                         the connection if secrets were requested more than a few times
6294                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6295                         tries here; otherwise they are cleared before the IP configure
6296                         timeout, which happens with open system WEP when key is wrong
6297                 - (activation_success_handler): clear wireless secrets tries here too
6298
6299 2008-02-07  Dan Williams  <dcbw@redhat.com>
6300
6301         * src/NetworkManagerPolicy.c
6302                 - (connection_updated): clear invalid tag when connection gets updated
6303                         to allow that connection to be tried again
6304                 - (nm_policy_new): save signal ids so they can be disconnected when
6305                         the policy is destroyed
6306                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6307                         and disconnect all signals from the manager object so that none
6308                         of the policy functions gets called after the policy is destroyed
6309
6310 2008-02-06  Dan Williams  <dcbw@redhat.com>
6311
6312         * src/nm-manager.c
6313                 - (finalize): remove devices a bit earlier; clean up system settings
6314                         poke
6315                 - (nm_manager_name_owner_changed): clean up system settings poke when
6316                         the service appears, and try to restart it if it fails
6317                 - (poke_system_settings_daemon_cb): try to get the system settings
6318                         service started through D-Bus service activation
6319                 - (initial_get_connections): start the system settings daemon if it's
6320                         not already running
6321
6322 2008-02-05  Dan Williams  <dcbw@redhat.com>
6323
6324         * src/supplicant-manager/nm-supplicant-config.c
6325                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6326                         broadcast networks too
6327
6328 2008-02-04  Dan Williams  <dcbw@redhat.com>
6329
6330         * system-settings/plugins/ifcfg-fedora/parser.c
6331                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6332                         need key_mgmt set too
6333                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6334                         .bak files; ensure that an error is set whenever NULL gets returned
6335
6336 2008-02-04  Dan Williams  <dcbw@redhat.com>
6337
6338         * system-settings/src/Makefile.am
6339                 - Install D-Bus service activation file for the system settings
6340                         service
6341
6342         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6343                 - D-Bus service activation file for system settings service
6344
6345 2008-02-04  Dan Williams  <dcbw@redhat.com>
6346
6347         * system-settings/src/main.c
6348                 - (parse_config_file): parse a config file
6349                 - (main): accept --config option and read plugins from config file
6350
6351 2008-02-04  Dan Williams  <dcbw@redhat.com>
6352
6353         * system-settings/plugins/ifcfg-fedora/plugin.c
6354                 - Change reported name to 'ifcfg-fedora'
6355                 - Use IFCFG_PLUGIN_NAME
6356
6357         * system-settings/plugins/ifcfg-fedora/plugin.c
6358                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6359
6360 2008-02-04  Dan Williams  <dcbw@redhat.com>
6361
6362         * system-settings/plugins/ifcfg-fedora/parser.c
6363                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6364                 - (make_connection_setting): use get_ifcfg_name()
6365                 - (make_wireless_security_setting): handle shadow key files
6366                 - (get_one_wep_key): treat empty string as NULL
6367
6368 2008-02-04  Dan Williams  <dcbw@redhat.com>
6369
6370         * src/supplicant-manager/nm-supplicant-manager.c
6371                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6372                         glib automatically reschedule
6373                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6374                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6375                         the supplicant
6376
6377 2008-02-01  Dan Williams  <dcbw@redhat.com>
6378
6379         * src/NetworkManagerPolicy.c
6380                 - (device_state_changed): schedule a change check when a device gets
6381                         deactivated so something happens if you disconnect GSM/CDMA
6382
6383 2008-01-31  Dan Williams  <dcbw@redhat.com>
6384
6385         * src/nm-device-802-11-wireless.h
6386           src/nm-device-802-11-wireless.c
6387                 - (ap_list_get_ap_by_ssid, is_associated,
6388                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6389                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6390                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6391                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6392                         function
6393
6394 2008-01-30  Dan Williams  <dcbw@redhat.com>
6395
6396         * system-settings/plugins/ifcfg
6397         * system-settings/plugins/ifcfg-fedora
6398                 - Move the ifcfg plugin to ifcfg-fedora
6399
6400 2008-01-24  Dan Williams  <dcbw@redhat.com>
6401
6402         * libnm-glib/nm-device-802-11-wireless.c
6403                 - (get_access_point): move the "/" check here; check for invalid path
6404                         too
6405                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6406                         to get_access_point()
6407                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6408                         to send signals for non-existent access points
6409
6410 2008-01-24  Dan Williams  <dcbw@redhat.com>
6411
6412         * libnm-glib/nm-device-802-11-wireless.c
6413                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6414
6415 2008-01-23  Dan Williams  <dcbw@redhat.com>
6416
6417         * libnm-glib/libnm_glib.c
6418                 - (libnm_glib_init): make thread joinable
6419                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6420
6421 2008-01-23  Dan Williams  <dcbw@redhat.com>
6422
6423         * test/libnm_glib_test.c
6424                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6425                 - (main): set up signal handlers; call libnm_glib_shutdown
6426
6427 2008-01-21  Dan Williams  <dcbw@redhat.com>
6428
6429         * include/NetworkManager.h
6430                 - Add CDMA mobile broadband card device type
6431
6432         * src/nm-hal-manager.c
6433                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6434                         must now be tagged with 'cdma' or 'gsm' capability
6435
6436         * src/nm-cdma-device.c
6437           src/nm-cdma-device.h
6438           src/Makefile.am
6439                 - Add the CDMA mobile broadband card device class
6440
6441         * libnm-util/nm-connection.c
6442                 - (register_default_settings): add NMSettingCdma
6443
6444         * libnm-util/nm-setting-cdma.c
6445           libnm-util/nm-setting-cdma.h
6446           libnm-util/Makefile.am
6447                 - Add the CDMA mobile broadband card setting class
6448
6449         * libnm-glib/nm-cdma-device.c
6450           libnm-glib/nm-cdma-device.h
6451           libnm-glib/Makefile.am
6452                 - Add the CDMA mobile broadband card GLib proxy class
6453
6454         * libnm-glib/nm-client.c
6455                 - (get_device): handle CDMA devices too
6456
6457 2008-01-21  Dan Williams  <dcbw@redhat.com>
6458
6459         * src/ppp-manager/nm-ppp-manager.c
6460                 - (ip4_config_get): set peer address too
6461
6462         * src/ppp-manager/nm-pppd-plugin.c
6463                 - (nm_ip_up): try harder to get the peer's address
6464
6465         * src/NetworkManagerSystem.c
6466                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6467                         address, use that too.  Otherwise, some PPP connections won't work.
6468
6469 2008-01-19  Dan Williams  <dcbw@redhat.com>
6470
6471         * src/NetworkManagerPolicy.c
6472                 - (nm_policy_device_change_check): system connections override user
6473                         connections; don't activate a user connection if there's a currently
6474                         active system connection, and new, better system connections always
6475                         interrupt user connections
6476
6477 2008-01-19  Dan Williams  <dcbw@redhat.com>
6478
6479         * src/nm-manager.h
6480                 - (nm_manager_get_connection_type): new function
6481
6482 2008-01-19  Dan Williams  <dcbw@redhat.com>
6483
6484         * src/nm-device-802-11-wireless.c
6485                 - (real_get_best_connection): collapse find_best_connection() into this
6486                         function
6487
6488 2008-01-19  Dan Williams  <dcbw@redhat.com>
6489
6490         * src/nm-device-802-3-ethernet.c
6491                 - (real_get_best_connection): collapse find_best_connection() into this
6492                         function
6493
6494 2008-01-18  Dan Williams  <dcbw@redhat.com>
6495
6496         * src/nm-device-802-3-ethernet.c
6497                 - (find_best_connection): check MAC address too
6498                 - (real_get_best_connection): let autoconnect=True connections activate
6499                         for devices that don't have carrier detection
6500
6501         * src/nm-device-802-11-wireless.c
6502                 - (find_best_connection): check MAC address too
6503
6504 2008-01-18  Dan Williams  <dcbw@redhat.com>
6505
6506         * system-settings/plugins/ifcfg/parser.c
6507                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6508
6509 2008-01-17  Dan Williams  <dcbw@redhat.com>
6510
6511         * src/nm-device-802-3-ethernet.c
6512                 - (nm_device_802_3_ethernet_carrier_on,
6513                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6514                         carrier events that might come in for devices that don't support
6515                         carrier detect
6516
6517 2008-01-17  Dan Williams  <dcbw@redhat.com>
6518
6519         * src/nm-device-interface.c
6520                 - (nm_device_interface_check_connection_conflicts): need to actually
6521                         get the interface, not cast to the object
6522
6523         * src/nm-device.c
6524                 - (nm_device_check_connection_conflicts): need to get the device class,
6525                         not cast the device to the device class
6526
6527 2008-01-17  Dan Williams  <dcbw@redhat.com>
6528
6529         * src/nm-device-802-11-wireless.c
6530                 - (real_check_connection_conflicts): ignore connections that aren't
6531                         wireless connections
6532
6533 2008-01-17  Dan Williams  <dcbw@redhat.com>
6534
6535         * src/NetworkManagerPolicy.c
6536                 - (nm_policy_device_change_check): clear change check idle here
6537                 - (device_change_check_done): remove
6538                 - (schedule_change_check): simplify
6539
6540 2008-01-17  Dan Williams  <dcbw@redhat.com>
6541
6542         * src/nm-manager.c
6543                 - (check_connection_allowed): take an NMDeviceInterface instead of
6544                         an NMDevice object as an argument
6545                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6546                         check_connection_allowed()
6547
6548 2008-01-13  Dan Williams  <dcbw@redhat.com>
6549
6550         * libnm-glib/nm-device-802-11-wireless.c
6551                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6552
6553 2008-01-12  Dan Williams  <dcbw@redhat.com>
6554
6555         * src/nm-device-802-11-wireless.c
6556                 - (activation_success_handler): if a match was found in the scan list
6557                         and that match is a hidden AP, update that AP's SSID
6558
6559 2008-01-11  Dan Williams  <dcbw@redhat.com>
6560
6561         * src/NetworkManagerAP.c
6562                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6563
6564         * src/nm-device-802-11-wireless.c
6565                 - (get_active_ap): do two passes over the scan list if the caller
6566                         requests that hidden APs get matched too; during the second pass
6567                         when matching hidden APs, ignore the SSID since hidden APs in the
6568                         scan list don't have an SSID yet
6569                 - (periodic_update): move some checks to
6570                         nm_device_802_11_periodic_update() because not all callers need them
6571                 - (nm_device_802_11_periodic_update): move some checks here from
6572                         perodic_update()
6573                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6574                         matching on incoming scan results, because the fake AP's flags
6575                         might be slightly different (yet still compatible) with the incoming
6576                         scan result's flags and they might actually be the same AP; update
6577                         the rate on merged APs too
6578                 - (activation_success_handler): update the frequency of the fake AP
6579                         on successful connection; match hidden APs too since if the
6580                         current AP is fake, there might already be a scan result in the
6581                         scan list for the desired AP, just without it's SSID filled in yet
6582
6583 2008-01-10  Dan Williams  <dcbw@redhat.com>
6584
6585         * src/NetworkManagerAP.c
6586                 - (foreach_property_cb): catch more hidden SSID formats
6587
6588 2008-01-10  Dan Williams  <dcbw@redhat.com>
6589
6590         Fix gnome.org #464215.  Requires the kernel patch titled
6591         "Introduce WEXT scan capabilities" but will handle the patch not being
6592         present, you'll just continue to have problems with hidden SSIDs when
6593         using mac80211-based drivers.
6594
6595         * src/supplicant-manager/nm-supplicant-config.h
6596           src/supplicant-manager/nm-supplicant-config.c
6597                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6598                         whether the driver supports SSID scans or not.  If it does, and if
6599                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6600
6601         * src/nm-device-802-11-wireless.c
6602                 - (constructor): check whether or not the driver supports SSID scans
6603                 - (build_supplicant_config): pass driver SSID scan capability when
6604                         building the wireless bits of the supplicant config
6605
6606 2008-01-09  Dan Williams  <dcbw@redhat.com>
6607
6608         * src/nm-device.c
6609           src/nm-device.h
6610                 - (device_activation_precheck, check_connection_complete): remove this
6611                         virtual function; incomplete connections should be invalid by
6612                         definition, complete-ness should be checked in the setting's
6613                         verify function
6614
6615         * src/nm-serial-device.c
6616           src/nm-gsm-device.c
6617                 - (real_check_connection_complete): remove
6618
6619         * libnm-util/nm-setting-serial.c
6620                 - (verify): new function; ensure there is a PPP setting too
6621
6622         * libnm-util/nm-setting-gsm.c
6623                 - (verify): ensure there is a serial setting too
6624
6625 2008-01-06  Dan Williams  <dcbw@redhat.com>
6626
6627         * src/dhcp-manager/nm-dhcp-manager.c
6628                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6629                         (gnome.org #332953)
6630
6631 2008-01-04  Dan Williams  <dcbw@redhat.com>
6632
6633         * src/named-manager/nm-named-manager.c
6634                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6635                         nameservers if the secondary config doesn't have any
6636                         (gnome.org #346833)
6637
6638 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6639
6640         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6641         with G_PARAM_CONSTRUCT so that they get the default values.
6642
6643         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6644         the monitoring device and prints out the output for now. Or more precicely, doesn't
6645         do absolutely anything right now since the montoring device argument is never set.
6646
6647         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6648         requires it's own knob to turn it on.
6649         (config_fd): Add NMSettingSerial to the arguments list.
6650         (nm_serial_device_open): Ditto.
6651         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6652         (nm_serial_device_get_io_channel): Implement.
6653
6654         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6655         a new reference every time (and forgetting to release it sometimes) is a pain and
6656         it's not like NMManager could work without dbus.
6657         (nm_manager_add_device): Register the added device on dbus here.
6658
6659         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6660         device.
6661
6662         * src/nm-device.c (constructor): Don't export the device here, instead export
6663         it when it's added to the NMManager's device list.
6664
6665 2007-12-31  Dan Williams  <dcbw@redhat.com>
6666
6667         * src/nm-device-interface.c
6668           src/nm-device-interface.h
6669                 - (nm_device_interface_check_connection_conflicts): new function
6670
6671         * src/nm-device.c
6672           src/nm-device.h
6673                 - (nm_device_check_connection_conflicts): new function
6674                 - (device_activation_precheck): don't require subclasses to implement
6675                         check_connection_complete()
6676                 - check_connection() -> check_connection_complete()
6677
6678         * src/nm-device-802-11-wireless.c
6679                 - (real_check_connection): remove; unused
6680                 - (real_check_connection_conflicts): implement, handle lockdown for
6681                         system connections
6682
6683         * src/nm-device-802-3-ethernet.c
6684                 - (real_check_connection): remove; unused
6685
6686         * src/nm-manager.c
6687                 - (check_connection_allowed): new function
6688                 - (nm_manager_activate_device): ensure the connection being requested
6689                         is allowed to be activated
6690
6691         * src/nm-serial-device.c
6692           src/nm-gsm-device.c
6693                 - real_check_connection() -> real_check_connection_complete()
6694
6695 2007-12-27  Dan Williams  <dcbw@redhat.com>
6696
6697         * src/nm-device-interface.c
6698           src/nm-device-interface.h
6699                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6700                         normalize and expand errors
6701                 - (nm_device_interface_init): register errors so they can be marshalled
6702                         through dbus-glib
6703                 - (nm_device_interface_activate): ensure that failure of activation
6704                         returns an error
6705
6706         * src/nm-device.c
6707           src/nm-device.h
6708                 - (device_activation_precheck): implementations of check_connection()
6709                         now take a GError and must fill it in if the check fails.  Return
6710                         more descriptive error if the requested connection is already
6711                         activating
6712                 - (nm_device_activate): actually try to return descriptive errors on
6713                         failures
6714
6715         * src/nm-device-802-11-wireless.c
6716           src/nm-device-802-3-ethernet.c
6717           src/nm-serial-device.c
6718           src/nm-gsm-device.c
6719                 - (real_check_connection): return more descriptive errors on failure
6720
6721         * src/NetworkManagerPolicy.c
6722                 - (nm_policy_device_change_check): print activation errors in the logs
6723
6724         * src/nm-manager.c
6725                 - (nm_manager_error_quark, nm_manager_error_get_type,
6726                    nm_manager_class_init): new errors
6727                 - (nm_manager_activate_device): handle errors
6728                 - (nm_manager_error_new): removed
6729                 - (wait_for_connection_expired, connection_added_default_handler,
6730                    impl_manager_activate_device): better error handling
6731
6732 2007-12-27  Dan Williams  <dcbw@redhat.com>
6733
6734         Fixes gnome.org #466954
6735
6736         * src/supplicant-manager/nm-supplicant-settings-verify.c
6737                 - Allow 'frequency' network property
6738
6739         * src/supplicant-manager/nm-supplicant-config.c
6740           src/supplicant-manager/nm-supplicant-config.h
6741                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6742                         for callers to specify the frequency an Ad-Hoc network should operate
6743                         on.  Some drivers require this to successfully create an Ad-Hoc
6744                         network.
6745
6746         * src/nm-device-802-11-wireless.c
6747                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6748                         guint32 value in MHz
6749                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6750                         iw_freq_to_uint32()
6751                 - (find_supported_frequency): new function; find a free supported
6752                         frequency for a user-created Ad-Hoc network
6753                 - (build_supplicant_config): if no frequency was specified for a user-
6754                         created Ad-Hoc network, find a free one to use
6755                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6756                         a specific object as user-created
6757
6758 2007-12-27  Dan Williams  <dcbw@redhat.com>
6759
6760         * libnm-util/nm-utils.c
6761           libnm-util/nm-utils.h
6762                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6763                         for adhoc networks
6764
6765 2007-12-24  Dan Williams  <dcbw@redhat.com>
6766
6767         * libnm-util/nm-setting-wireless.c
6768                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6769                         185, 187, 188, 192, and 196
6770
6771 2007-12-24  Dan Williams  <dcbw@redhat.com>
6772
6773         * src/nm-device-802-11-wireless.c
6774                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6775                         a channel # instead of a frequency
6776
6777 2007-12-24  Dan Williams  <dcbw@redhat.com>
6778
6779         * src/NetworkManagerAP.c
6780           src/NetworkManagerAP.h
6781                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6782                 - (freq_to_channel): handle split band tables
6783                 - (channel_to_freq): handle split band tables, take a band argument
6784
6785 2007-12-24  Dan Williams  <dcbw@redhat.com>
6786
6787         * libnm-util/nm-setting-connection.h
6788           libnm-util/nm-setting-connection.c
6789                 - Add 'lockdown' member
6790
6791 2007-12-22  Dan Williams  <dcbw@redhat.com>
6792
6793         * libnm-util/nm-setting-wireless.c
6794                 - (nm_setting_wireless_class_init): add missing 'rate' property
6795                         specification
6796
6797 2007-12-18  Dan Williams  <dcbw@redhat.com>
6798
6799         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6800
6801         * src/nm-netlink-monitor.c
6802           src/nm-netlink-monitor.h
6803                 - Remove handrolled netlink, use libnl instead
6804
6805         * src/nm-device-802-3-ethernet.c
6806                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6807                    nm_device_802_3_ethernet_carrier_on): use new names
6808
6809 2007-12-17  Dan Williams  <dcbw@redhat.com>
6810
6811         * configure.in
6812                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6813                         and fixes memory leaks)
6814
6815         * src/nm-netlink.c
6816                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6817                         automatically handle the netlink PID
6818
6819 2007-12-17  Dan Williams  <dcbw@redhat.com>
6820
6821         Patch from Michael Biebl <biebl@debian.org>
6822
6823         * configure.in
6824           src/ppp-manager/Makefile.am
6825                 - fix up install dir of pppd plugin
6826                 - clean up configure.in a bit
6827
6828 2007-12-12  Dan Williams  <dcbw@redhat.com>
6829
6830         * system-settings/src/nm-system-settings.conf
6831                 - Allow non-root clients (like the applet) to read settings
6832
6833 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6834
6835         * Replace all occurences of 'UMTS' with 'GSM'.
6836
6837 2007-12-07  Dan Williams  <dcbw@redhat.com>
6838
6839         * src/nm-serial-device.c
6840                 - (real_is_up): serial devices are always "up"
6841
6842 2007-12-07  Dan Williams  <dcbw@redhat.com>
6843
6844         * src/nm-netlink.c
6845           src/NetworkManagerSystem.c
6846                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6847                         twice (gnome.org #491047)
6848                 - Make more robust against allocation-related failures should they occur
6849
6850 2007-12-07  Dan Williams  <dcbw@redhat.com>
6851
6852         Noticed by Christian Persch <chpe@gnome.org>
6853
6854         Always chain up to parent object in dispose and finalize handlers.
6855                 (gnome.org #433112)
6856
6857 2007-12-07  Dan Williams  <dcbw@redhat.com>
6858
6859         * src/nm-device-802-11-wireless.c
6860                 - Wrap #include of linux/mii.h to fix redefined structures due to
6861                         incorrect kernel headers (gnome.org #350061)
6862
6863 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6864
6865         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6866         before doing anything else.
6867         (init_modem): Move modem initialization here.
6868
6869         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6870         (nm_serial_device_flash): Implement.
6871
6872         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6873         changes signal is "StateChanged" and not "Status".
6874         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6875
6876 2007-12-06  Dan Williams  <dcbw@redhat.com>
6877
6878         * src/supplicant-manager/nm-supplicant-config.c
6879                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6880                         to only send some options when they make sense; also send phase2
6881                         option to the supplicant (possible fix for rh #399631)
6882
6883 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6884
6885         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6886         arguments: This whole file shouldn't really know anything about NMDevices, it
6887         should deal only with device interfaces. Devices might have different ifaces for
6888         different stuff and this place shouldn't know anything about it.
6889
6890         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6891         (global_state_changed): Implement. In the current NM it's not really important,
6892         but will be required in the case of multiple active devices. (Or even better,
6893         if stuff like that gets moved out from NM).
6894
6895         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6896         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6897         instead.
6898
6899         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6900         devices like serial devices (ttyS0 and ppp0 for example).
6901         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6902         set.
6903         (nm_device_set_ip_iface): Implement.
6904         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6905         after setting ip4_config from here ...
6906         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6907         than this function should call nm_system_device_set_from_ip4_config() because no
6908         other code has enough information on which arguments to use. So instead, other code
6909         could just set the new ip4 config using this function and everyone is happy.
6910
6911         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6912         if we happen to get deactivated while something is pending.
6913         (automatic_registration): Handle the response that indicates pending network
6914         registration and wait until the pending registration is done.
6915         (real_deactivate_quickly): If there's a pending operation, cancel it.
6916
6917         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6918         (real_deactivate_quickly): ... and remove it when it's down.
6919         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6920         it if needed.
6921         (nm_serial_device_wait_for_reply): Ditto.
6922
6923 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6924
6925         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6926         (get_network_done): Remove newline, nm_info() does it already.
6927         (real_act_stage1_prepare): Turn the modem echo off.
6928
6929         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6930         device, set the route to the device interface. This is a hack.
6931
6932         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6933         return, no need for a new-line.
6934         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6935         Change the device iface here (ugh).
6936         (real_act_stage4_get_ip4_config): Implement.
6937         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6938         Restore the device iface.
6939
6940         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6941         device is not wired or wireless (eg, automatically upped) device.
6942
6943         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6944         it isn't.
6945         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6946
6947         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6948         before calling it's is_device_fn().
6949
6950 2007-12-05  Dan Williams  <dcbw@redhat.com>
6951
6952         * libnm-util/nm-utils.c
6953                 - (nm_utils_register_value_transformations,
6954                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6955                         GHashTables of GValues too
6956
6957 2007-12-04  Dan Williams  <dcbw@redhat.com>
6958
6959         * initscript/RedHat/NetworkManager.in
6960                 - No longer start named; it's D-Bus interface is going away
6961
6962 2007-12-04  Dan Williams  <dcbw@redhat.com>
6963
6964         Patch from Michael Biebl <biebl@debian.org>
6965
6966         * system-settings/plugins/ifcfg/Makefile.am
6967           system-settings/src/main.c
6968           system-settings/src/Makefile.am
6969                 - Put system settings plugins in NM plugins dir
6970
6971         * src/ppp-manager/Makefile.am
6972           src/ppp-manager/nm-ppp-manager.c
6973                 - Move pppd plugin to NM plugins dir
6974
6975 2007-12-04  Dan Williams  <dcbw@redhat.com>
6976
6977         * libnm-util/nm-setting-vpn-properties.h
6978                 - Clarify usage of the 'data' member of the setting
6979
6980         * libnm-util/nm-setting-vpn-properties.c
6981                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6982                 - (set_property): just remove all the settings; don't recreate the has
6983                 - (update_one_secret): don't need to create the hash table here since
6984                         it should always be present
6985
6986 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6987
6988         Implement PIN and PUK requesting.
6989
6990         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6991         (enter_pin): Handle PIN and PUK requests.
6992         (real_act_stage1_prepare): Clear the secret type.
6993         (real_connection_secrets_updated): Implement this class method to get
6994         notified when new secrets arrive.
6995         (nm_umts_device_class_init): Add private data back to the umts device class
6996         to store the required secret type.
6997
6998 2007-12-01  Dan Williams  <dcbw@redhat.com>
6999
7000         * system-settings/plugins/ifcfg/parser.c
7001                 - (parser_parse_file): don't try to verify NULL connections
7002
7003 2007-12-01  Dan Williams  <dcbw@redhat.com>
7004
7005         * system-settings/src/main.c
7006                 - (load_connections, add_connection_to_settings): actually export
7007                         plugin-provided connections over D-Bus so NM can get them
7008
7009 2007-12-01  Dan Williams  <dcbw@redhat.com>
7010
7011         * system-settings/plugins/ifcfg/parser.c
7012           system-settings/plugins/ifcfg/parser.h
7013           system-settings/plugins/ifcfg/plugin.c
7014                 - Hook up more inotify bits (untested)
7015
7016 2007-11-29  Dan Williams  <dcbw@redhat.com>
7017
7018         * system-settings/src/nm-system-config-interface.h
7019           system-settings/src/nm-system-config-interface.c
7020                 - (nm_system_config_interface_init,
7021                    nm_system_config_interface_get_connections): add
7022
7023         * system-settings/src/main.c
7024                 - (load_plugins, load_connections, main): use a GSList for plugins
7025                         to ensure priority ordering
7026
7027         * system-settings/plugins/ifcfg/parser.c
7028                 - (ifcfg_error_quark): move to plugin.c, and rename
7029
7030         * system-settings/plugins/ifcfg/plugin.h
7031           system-settings/plugins/ifcfg/plugin.c
7032                 - (ifcfg_plugin_error_quark): move here from parser.c
7033                 - rework connection loading and initialization
7034                 - Add preliminary inotify support for network profile config file
7035
7036 2007-11-28  Tambet Ingo  <tambet@gmail.com>
7037
7038         Merge the beginnings of the new GSM card support.
7039
7040         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
7041         ppp watch source before killing pppd - If this happens from g_object_unref()
7042         then the ppp manager is already destroyed by the time the watch callback runs.
7043
7044         * src/nm-hal-manager.c: Add a device_type_name string to the device
7045         creators, so that we can print a nice human readable string when a
7046         device is added.
7047
7048         * src/nm-umts-device.c (automatic_registration_get_network): Query
7049         for the activated network, not much is done with the result thought.
7050
7051         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
7052         (ppp_ip4_config): Change the device state to activated here for now.
7053         (real_check_connection): Make sure the connection includes ppp setting.
7054
7055         * libnm-glib/nm-client.c (get_device): Handle umts devices.
7056
7057         * libnm-glib/Makefile.am: Add the new files to build.
7058
7059         * libnm-glib/nm-umts-device.c: 
7060         * libnm-glib/nm-umts-device.h: Implement.
7061
7062 2007-11-26  Tambet Ingo  <tambet@gmail.com>
7063
7064         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
7065         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
7066
7067         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
7068         the timeout source - this function is only called when the timeout source has
7069         been removed.
7070         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
7071         to be big enough to contain the terminating zero element as well.
7072         The timeout argument is meant to be in seconds now.
7073         (real_deactivate_quickly): Implement.
7074
7075         * src/NetworkManager.conf: Allow root to own 
7076         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7077
7078         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7079         (not unsigned ints).
7080
7081         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7082         small issue with parity bounds - capital letters have lower ascii codes
7083         than lower case letters.
7084
7085         * libnm-util/nm-connection.c (register_default_settings): Register serial
7086         and umts settings.
7087
7088 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7089
7090         Remove the "index" property from devices as not all device types have this.
7091
7092         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7093
7094         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7095         (wired_device_creator): Get the device interface from hal to create the device.
7096         (wireless_device_creator): Ditto.
7097
7098         * src/nm-device.c (nm_device_init): Remove the index member.
7099         (constructor): Remove the checks for index property, make interface property
7100         a require constructor property.
7101         Use the HAL udi for DBus path for devices.
7102         (nm_device_get_index): Remove.
7103         (set_property): Remove index handling.
7104         (get_property): Ditto.
7105         (nm_device_get_dbus_path): Remove.
7106
7107         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7108         property.
7109
7110         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7111         Access the device index through it's interface.
7112         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7113         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7114         index argument. Add interface argument.
7115
7116         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7117         the useless test_dev argument. Remove index argument. Add interface arugment.
7118
7119         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7120         device index through interface.
7121         (nm_system_set_mtu): Ditto.
7122
7123         * introspection/nm-device.xml: Remove the "Index" property.
7124
7125 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7126
7127         * src/nm-serial-device.c: 
7128         * src/nm-serial-device.c: 
7129         * src/nm-umts-device.c:
7130         * src/nm-umts-device.h: Implement.
7131
7132         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7133         allocated by libhal.
7134         (modem_device_creator): Implement.
7135         (register_built_in_creators): Register the modem creator.
7136
7137         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7138         Remove the unused test_dev argument.
7139
7140         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7141
7142         * src/Makefile.am: Add new files to build.
7143         Link in ppp-manager.
7144
7145         * libnm-util/nm-setting-umts.c: 
7146         * libnm-util/nm-setting-umts.h: 
7147         * libnm-util/nm-setting-serial.c: 
7148         * libnm-util/nm-setting-serial.h: Implement.
7149
7150         * libnm-util/Makefile.am: Add new files to build.
7151
7152 2007-11-28  Dan Williams  <dcbw@redhat.com>
7153
7154         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7155
7156         Support DHCP-provided static routes.
7157
7158         * src/nm-ip4-config.h
7159           src/nm-ip4-config.c
7160                 - Add get/set functions for static routes
7161
7162         * src/dhcp-manager/nm-dhcp-manager.c
7163                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7164                         DHCP response
7165
7166         * src/NetworkManagerSystem.c
7167                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7168                         interface when applying the IP4Config
7169
7170 2007-11-28  Dan Williams  <dcbw@redhat.com>
7171
7172         * src/nm-device-802-11-wireless.c
7173                 - (real_act_stage1_prepare): mark APs created for hidden networks
7174                         as non-broadcasting
7175
7176 2007-11-27  Dan Williams  <dcbw@redhat.com>
7177
7178         * system-settings/src/nm-system-config-interface.h
7179                 - Note how to store secrets on NMSetting objects
7180
7181         * system-settings/src/dbus-settings.c
7182                 - (connection_settings_get_secrets): implement
7183
7184 2007-11-27  Dan Williams  <dcbw@redhat.com>
7185
7186         * system-settings/plugins/ifcfg/Makefile.am
7187           system-settings/plugins/ifcfg/parser.c
7188           system-settings/plugins/ifcfg/parser.h
7189           system-settings/plugins/ifcfg/plugin.c
7190                 - Parse wireless connections too
7191
7192         * system-settings/src/dbus-settings.c
7193           system-settings/src/dbus-settings.h
7194           system-settings/src/main.c
7195                 - Handle connection update/removal if the plugin supports it
7196
7197 2007-11-27  Dan Williams  <dcbw@redhat.com>
7198
7199         * src/nm-dbus-manager.h
7200           src/nm-hal-manager.c
7201                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7202                         do it for them
7203
7204         * src/Makefile.am
7205           src/NetworkManagerDbusUtils.c
7206           src/NetworkManagerDbusUtils.h
7207                 - Remove these two source files; they are unused
7208
7209 2007-11-27  Dan Williams  <dcbw@redhat.com>
7210
7211         * src/vpn-manager/nm-vpn-manager.c
7212                 - (impl_vpn_manager_connect): fix system settings check (found by
7213                         James M. Leddy)
7214
7215 2007-11-26  Dan Williams  <dcbw@redhat.com>
7216
7217         * Fix warnings so everything compiles with --enable-more-warnings
7218
7219 2007-11-25  Dan Williams  <dcbw@redhat.com>
7220
7221         * system-settings/*
7222                 - Rework structure and code to use GModule-loaded plugins and a plugin
7223                         interface that plugins export to the system settings service
7224
7225 2007-11-21  Dan Williams  <dcbw@redhat.com>
7226
7227         * system-settings/*
7228                 - Add Soren's system settings service.  Needs work for distros other
7229                         than Fedora; the backends from NM should mostly migrate to here
7230                         and be converted to GObjects
7231
7232 2007-11-21  Dan Williams  <dcbw@redhat.com>
7233
7234         * libnm-util/nm-setting-vpn-properties.c
7235                 - (set_property): must deep-copy the given settings hash, otherwise
7236                         double-free errors occur when the setting is disposed of
7237
7238 2007-11-21  Dan Williams  <dcbw@redhat.com>
7239
7240         * src/vpn-manager/nm-vpn-act-request.h
7241           src/vpn-manager/nm-vpn-act-request.c
7242                 - Remove; unused
7243
7244 2007-11-20  Dan Williams  <dcbw@redhat.com>
7245
7246         * libnm-util/nm-utils.c
7247                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7248                    nm_utils_convert_ip4_addr_struct_array_to_string,
7249                    nm_utils_register_value_transformations): print out the readable
7250                         values of more types of properties of NMSettings subclasses
7251
7252 2007-11-20  Dan Williams  <dcbw@redhat.com>
7253
7254         * libnm-util/nm-setting-ip4-config.c
7255                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7256                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7257                         marshal GValueArrays inside collections, so switch to types that it
7258                         can actually marshal/demarshal
7259
7260 2007-11-16  Dan Williams  <dcbw@redhat.com>
7261
7262         * libnm-util/nm-setting-wireless-security.c
7263                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7264                         minimal verification of EAP methods too
7265                 - (verify): verify phase1 eap methods too
7266
7267 2007-11-15  Dan Williams  <dcbw@redhat.com>
7268
7269         * libnm-glib/nm-device.h
7270           libnm-glib/nm-device.c
7271                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7272                         const char *
7273
7274 2007-11-15  Dan Williams  <dcbw@redhat.com>
7275
7276         * libnm-glib/nm-device.c
7277                 - (get_product_and_vendor): don't try to free things that should be
7278                         freed
7279
7280 2007-11-15  Dan Williams  <dcbw@redhat.com>
7281
7282         * src/NetworkManagerUtils.c
7283                 - (nm_ethernet_address_is_valid): unbreak previous fix
7284
7285 2007-11-15  Dan Williams  <dcbw@redhat.com>
7286
7287         * src/supplicant-manager/nm-supplicant-config.c
7288                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7289                         options
7290
7291 2007-11-15  Dan Williams  <dcbw@redhat.com>
7292
7293         * src/NetworkManagerUtils.c
7294                 - (nm_ethernet_address_is_valid): fix style, clarify
7295                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7296
7297         * src/nm-device-802-11-wireless.c
7298                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7299                 - (nm_device_802_11_wireless_get_ssid,
7300                    nm_device_802_11_wireless_get_bssid,
7301                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7302                         before calling the ioctl; fixes valgrind-reported jump depends on
7303                         uninitialized value errors
7304
7305 2007-11-15  Dan Williams  <dcbw@redhat.com>
7306
7307         * libnm-util/nm-setting.c
7308                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7309                         unecessary to serialize 'name'
7310
7311         * src/nm-activation-request.c
7312                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7313                         the GetSecrets call
7314
7315 2007-11-15  Dan Williams  <dcbw@redhat.com>
7316
7317         * libnm-util/nm-setting-connection.h
7318           libnm-util/nm-setting-connection.c
7319                 - Rename the 'name' property to 'id', because it conflicted with the
7320                         NMSetting superclass' 'name' property.
7321
7322         * libnm-util/nm-setting.c
7323                 - (nm_setting_to_hash): serialize the 'name' property
7324                 - (one_property_cb): ignore 'name' on deserialization of a connection
7325
7326         * src/nm-device-802-11-wireless.c
7327           src/vpn-manager/nm-vpn-connection.c
7328           src/NetworkManagerPolicy.c
7329                 - Fix up for NMSettingConnection 'name'->'id' changes
7330
7331 2007-11-13  Dan Williams  <dcbw@redhat.com>
7332
7333         * libnm-glib/nm-device-802-11-wireless.h
7334           libnm-glib/nm-device-802-11-wireless.c
7335                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7336
7337         * test/nm-tool.c
7338           libnm-glib/libnm-glib-test.c
7339                 - Fixes for above change
7340
7341 2007-11-12  Dan Williams  <dcbw@redhat.com>
7342
7343         * src/supplicant-manager/nm-supplicant-settings-verify.c
7344                 - Allow fragment_size option
7345
7346         * src/supplicant-manager/nm-supplicant-settings-verify.c
7347                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7348                         EAP fragment size than the default to help some TLS connections
7349
7350 2007-11-12  Dan Williams  <dcbw@redhat.com>
7351
7352         Make certs actually work.  The private key is now a secret, and should be
7353         decrypted when requested by NM.  The private key and phase2 private key
7354         passwords are no longer interesting to NM because they should be used by
7355         the settings service to decrypt the private key itself before passing it
7356         to NM, and hence have been removed as fields.
7357
7358         * libnm-util/nm-setting-wireless-security.h
7359           libnm-util/nm-setting-wireless-security.c
7360                 - Remove private-key-passwd and phase2-private-key-passwd from
7361                         properties
7362                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7363                    need_secrets): use property #defines instead strings to keep things
7364                         consistent
7365                 - (need_secrets_tls): if a client certificate is present but no
7366                         private key, request the private key
7367                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7368                         remove private key password stuff, mark private keys as secret
7369
7370         * src/supplicant-manager/nm-supplicant-settings-verify.c
7371                 - Remove private_key_passwd and private_key2_passwd from opt_table
7372
7373 2007-11-09  Dan Williams  <dcbw@redhat.com>
7374
7375         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7376         Since the vpn-properties are managed and known by the VPN daemons themselves,
7377         libnm-util doesn't know what's secret and what's in the setting's 'data'
7378         member.
7379
7380         * libnm-util/nm-setting.h
7381           libnm-util/nm-setting.c
7382                 - Add the ability for subclasses to override update_one_secret
7383
7384         * libnm-util/nm-setting-vpn-properties.c
7385                 - Override update_one_secret and just copy the values into the
7386                         internal table
7387
7388 2007-11-09  Dan Williams  <dcbw@redhat.com>
7389
7390         * libnm-glib/nm-settings.h
7391           libnm-glib/nm-settings.c
7392                 - (nm_settings_new_error): remove
7393                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7394                         clients should use g_set_error() with NM_SETTINGS_ERROR
7395
7396 2007-11-09  Dan Williams  <dcbw@redhat.com>
7397
7398         * src/supplicant-manager/nm-supplicant-config.c
7399                 - (nm_supplicant_config_add_setting_wireless_security): private key
7400                         passwords are never sent to wpa_supplicant, because the supplicant
7401                         should never be reading random files from the disk.  Clients like
7402                         the applet are required to decrypt the private keys and send NM
7403                         the decrypted blobs.
7404
7405 2007-11-08  Dan Williams  <dcbw@redhat.com>
7406
7407         * libnm-util/nm-setting-wireless-security.h
7408           libnm-util/nm-setting-wireless-security.c
7409                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7410                         members to 802-11-wireless-security structure.  This should be used
7411                         to indicate that the values in private-key and phase2-private-key
7412                         are already decrypted by the user agent, and that no
7413                         private-key-passwd or phase2-private-key-passwd should be expected.
7414                         It is not meant to be a stored configuration value, but meant to
7415                         be set when the conneciton is sent to NM over dbus.
7416
7417 2007-11-08  Dan Williams  <dcbw@redhat.com>
7418
7419         * libnm-util/nm-connection.h
7420           libnm-util/nm-connection.c
7421                 - (nm_connection_need_secrets): add argument to return hints
7422
7423         * src/nm-device-802-11-wireless.c
7424                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7425                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7426                         nm_connection_need_secrets() change
7427
7428 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7429
7430         Rework NMSetting structures: Move each setting to it's own file.
7431         Convert to GObject. Remove home grown setting types and use GTypes.
7432         Use GObject property introspection for hash conversion, enumerating
7433         properties, etc.
7434
7435         * libnm-util/nm-setting-connection.[ch]
7436         * libnm-util/nm-setting-ip4-config.[ch]
7437         * libnm-util/nm-setting-ppp.[ch]
7438         * libnm-util/nm-setting-vpn.[ch]
7439         * libnm-util/nm-setting-vpn-properties.[ch]
7440         * libnm-util/nm-setting-wired.[ch]
7441         * libnm-util/nm-setting-wireless.[ch]
7442         * libnm-util/nm-setting-wireless-security.[ch]
7443
7444         New files, each containing a setting.
7445
7446         * libnm-util/nm-setting-template.[ch]: A template for creating new
7447         settings. To use it, just replace 'template' with the new setting
7448         name, and you're half-way done.
7449
7450         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7451         introspection instead of internal types and tables.
7452
7453         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7454
7455         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7456         GValue types defined by dbus-glib for composed types like collections,
7457         structures and maps.
7458
7459         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7460         a setting from connection takes the setting type now. Also, since
7461         the settings are in multiple files, include relevant settings.
7462
7463 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7464
7465         * configure.in:
7466         * src/backends/NetworkManagerGentoo.c:
7467         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7468         providers in Gentoo.
7469
7470 2007-10-31  Dan Williams  <dcbw@redhat.com>
7471
7472         * libnm-util/nm-connection.c
7473                 - (gvalue_to_string): handle UINT32 arrays
7474
7475 2007-10-31  Dan Williams  <dcbw@redhat.com>
7476
7477         * libnm-glib/nm-device.h
7478           libnm-glib/nm-device.c
7479                 - (nm_device_get_description): remove
7480                 - (nm_device_get_product, nm_device_get_vendor): add
7481                 - (nm_device_update_description): new function (private); walk HAL
7482                         devices to get product and vendor IDs for a specific device
7483
7484 2007-10-31  Dan Williams  <dcbw@redhat.com>
7485
7486         * src/nm-device-802-11-wireless.c
7487                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7488
7489 2007-10-29  Dan Williams  <dcbw@redhat.com>
7490
7491         * src/nm-hal-manager.c
7492                 - (device_added, device_new_capability): ignore device additions while
7493                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7494                         kernel module is unloaded and reloaded and recognized by NM again.
7495
7496 2007-10-26  Dan Williams  <dcbw@redhat.com>
7497
7498         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7499
7500         * src/NetworkManagerAP.c
7501           src/NetworkManagerAP.h
7502           libnm-glib/nm-access-point.c
7503           libnm-glib/nm-access-point.h
7504                 - Make 'rate' property a guint32 to better match with WEXT and
7505                         wpa_supplicant and to allow representation of higher bitrates
7506
7507         * src/nm-device-802-11-wireless.c
7508           introspection/nm-device-802-11-wireless.xml
7509           libnm-glib/nm-device-802-11-wireless.c
7510           libnm-glib/nm-device-802-11-wireless.h
7511                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7512
7513         * src/nm-device-802-3-ethernet.c
7514           src/nm-device-802-3-ethernet.h
7515           introspection/nm-device-802-3-ethernet.xml
7516           libnm-glib/nm-device-802-3-ethernet.c
7517           libnm-glib/nm-device-802-3-ethernet.h
7518                 - Make 'speed' property a guint32 to match other speed/rate types
7519                 - Make nm_device_802_3_ethernet_get_speed() static
7520
7521         * test/nm-tool.c
7522                 - Update for the changes above
7523
7524 2007-10-26  Dan Williams  <dcbw@redhat.com>
7525
7526         * src/named-manager/nm-named-manager.c
7527                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7528                     not calling fclose() twice on some error conditions
7529
7530 2007-10-26  Dan Williams  <dcbw@redhat.com>
7531
7532         * src/nm-activation-request.c
7533                 - (dispose): clean up indentation; get the right DBusGProxy object to
7534                         cancel the GetSecrets pending call on.  Need to use the Secrets
7535                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7536                         pending call doesn't get canceled, and pressing Cancel in the
7537                         applet's password dialog could cause get_secrets_cb() to be called
7538                         after the activation request has already been destroyed
7539
7540 2007-10-24  Dan Williams  <dcbw@redhat.com>
7541
7542         * src/supplicant-manager/nm-supplicant-config.c
7543                 - (nm_supplicant_config_add_blob): pass blob data and length for
7544                         verification
7545                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7546
7547 2007-10-24  Dan Williams  <dcbw@redhat.com>
7548
7549         * src/supplicant-manager/nm-supplicant-settings-verify.c
7550                 - (opt_table): max length for certificates should be 65536
7551
7552 2007-10-24  Dan Williams  <dcbw@redhat.com>
7553
7554         * src/supplicant-manager/nm-supplicant-interface.c
7555                 - (blob_free): correctly free blob data after use
7556                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7557
7558 2007-10-24  Dan Williams  <dcbw@redhat.com>
7559
7560         * libnm-util/nm-setting.c
7561                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7562                         EAP method need secrets
7563
7564 2007-10-24  Dan Williams  <dcbw@redhat.com>
7565
7566         * src/backends/NetworkManagerRedHat.c
7567                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7568
7569 2007-10-23  Dan Williams  <dcbw@redhat.com>
7570
7571         * libnm-util/nm-setting.c
7572           libnm-util/nm-setting.c
7573                 - (nm_setting_compare): implement
7574                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7575                    compare_one_hash_gvalue): compare the contents of a setting
7576
7577         * libnm-util/nm-connection.c
7578                 - (nm_connection_compare): implement
7579
7580 2007-10-23  Dan Williams  <dcbw@redhat.com>
7581
7582         * src/nm-activation-request.c
7583                 - (get_secrets_cb): handle getting a setting back that is more than
7584                         just secrets (ie, user changed auth or EAP method or something)
7585
7586 2007-10-23  Dan Williams  <dcbw@redhat.com>
7587
7588         * libnm-util/nm-setting.c
7589           libnm-util/nm-setting.h
7590                 - (nm_setting_verify): new function; verify one setting
7591                 - (nm_settings_verify_all): rename from nm_settings_verify()
7592                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7593                         all_settings
7594
7595         * libnm-util/nm-connection.c
7596                 - (nm_connection_replace_settings, nm_connection_verify,
7597                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7598
7599 2007-10-23  Dan Williams  <dcbw@redhat.com>
7600
7601         * src/nm-device-802-11-wireless.c
7602                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7603                         desired behavior
7604
7605 2007-10-23  Dan Williams  <dcbw@redhat.com>
7606
7607         * src/supplicant-manager/nm-supplicant-settings-verify.c
7608                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7609                         nm-settings.c
7610
7611 2007-10-23  Dan Williams  <dcbw@redhat.com>
7612
7613         * src/nm-device-802-11-wireless.c
7614                 - (real_act_stage2_config): after the first association failure,
7615                         if the connection still needs secrets ask the user for them
7616                         explicitly.  After the fourth association failure due to bad
7617                         secrets, fail the connection entirely.  Handles the GetSecrets
7618                         loop that NM gets into when the provided secrets don't match up
7619                         with the connection details.
7620
7621 2007-10-23  Dan Williams  <dcbw@redhat.com>
7622
7623         * src/supplicant-manager/nm-supplicant-config.c
7624                 - (nm_supplicant_config_add_setting_wireless_security): only add
7625                         WPA-specific options when WPA is in use
7626
7627 2007-10-23  Dan Williams  <dcbw@redhat.com>
7628
7629         * src/supplicant-manager/nm-supplicant-config.c
7630                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7631                         secret doesn't need to be unhexified
7632
7633 2007-10-23  Dan Williams  <dcbw@redhat.com>
7634
7635         * libnm-util/nm-setting.c
7636                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7637                         before trying to do something with it
7638
7639 2007-10-23  Dan Williams  <dcbw@redhat.com>
7640
7641         * src/nm-device-802-11-wireless.c
7642                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7643
7644 2007-10-23  Dan Williams  <dcbw@redhat.com>
7645
7646         * src/nm-device-802-11-wireless.c
7647                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7648                         non-SSID-broadcasting APs
7649
7650 2007-10-23  Dan Williams  <dcbw@redhat.com>
7651
7652         * src/NetworkManagerAP.c
7653                 - (match_cipher, security_compatible): remove
7654                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7655                         libnm-util instead
7656
7657 2007-10-23  Dan Williams  <dcbw@redhat.com>
7658
7659         * libnm-util/nm-utils.c
7660           libnm-util/nm-utils.h
7661                 - (nm_utils_ap_security_compatible): common function for checking
7662                         whether a specific AP is compatible with an NMConnection
7663
7664 2007-10-23  Dan Williams  <dcbw@redhat.com>
7665
7666         * libnm-util/nm-setting.c
7667                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7668                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7669                    need_secrets_password, setting_wireless_security_verify): fix
7670                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7671                         secrets logic for each supported EAP method
7672
7673 2007-10-23  Dan Williams  <dcbw@redhat.com>
7674
7675         * src/supplicant-manager/nm-supplicant-config.c
7676                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7677                         config option name, should be "private_key2_passwd"
7678
7679 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7680
7681         Implement support for static IP addresses, additional/overridden DNS and
7682         DNS domain search lists.
7683
7684         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7685         (ip4_addresses_to_gvalue): Implement.
7686         (convert_array_to_byte_array): Implement.
7687         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7688         NM_S_TYPE_IP4_ADDRESSES.
7689         (nm_setting_hash): Ditto.
7690         (default_setting_clear_secrets): Add a default case for the switch: IP address
7691         shouldn't be secret, ever.
7692         (setting_ip4_config_verify): Update, requires addresses in case of manual
7693         configurations.
7694         (setting_ip4_config_destroy): Free stuff.
7695
7696         * src/nm-device.c (merge_ip4_config): Implement.
7697         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7698
7699 2007-10-22  Dan Williams  <dcbw@redhat.com>
7700
7701         * libnm-util/nm-setting.c
7702                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7703                         pairwise cipher options for Dynamic WEP
7704
7705 2007-10-21  Dan Williams  <dcbw@redhat.com>
7706
7707         * src/NetworkManagerAP.c
7708           src/NetworkManagerAP.h
7709                 - Rename 'articifical' -> 'fake' since that's what they are until
7710                         noticed in scans
7711                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7712                         from the attributes in an NMConnection object
7713                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7714                         WPA Enterprise
7715                 - (nm_ap_match_in_list): find a matching AP in a scan list
7716
7717         * src/nm-device-802-11-wireless.c
7718                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7719                         AP when searching the scan list; match on frequency and mode too
7720                 - (nm_device_802_11_wireless_get_frequency): implement
7721                 - (merge_scanned_ap): replace duplicate matching logic with
7722                         nm_ap_match_in_list()
7723                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7724                         the user is trying to connect to a hidden network that is not yet
7725                         known from the scan list
7726                 - (activation_success_handler): now that the card knows the AP's BSSID,
7727                         there may already be a scanned AP in the scan list that is what
7728                         we really wanted to connect to, but didn't know at the time.  Use
7729                         that instead of the 'fake' AP created at activation start and get
7730                         rid of the 'fake' AP 
7731                 - (cull_scan_list): don't remove fake APs
7732
7733 2007-10-21  Dan Williams  <dcbw@redhat.com>
7734
7735         * src/nm-activation-request.h
7736           src/nm-activation-request.c
7737                 - (nm_act_request_set_specific_object): new function; allow setting the
7738                         specific object if one isn't set yet
7739
7740 2007-10-20  Dan Williams  <dcbw@redhat.com>
7741
7742         * src/supplicant-manager/nm-supplicant-config.h
7743           src/supplicant-manager/nm-supplicant-config.c
7744                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7745                         table to store blobs
7746                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7747                         blob hash table
7748                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7749                 - (nm_supplicant_config_add_setting_wireless_security): handle
7750                         options that use certificates (ie, blobs)
7751
7752         * src/nm-device-802-11-wireless.c
7753                 - (build_supplicant_config): pass a UID (just use the connection path)
7754                         to the supplicant config as now required
7755
7756         * src/supplicant-manager/nm-supplicant-interface.c
7757                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7758                         there are any blobs to send to wpa_supplicant, send those first
7759                         before sending the network configuration
7760
7761 2007-10-19  Dan Williams  <dcbw@redhat.com>
7762
7763         Split the GetSecrets() call off to a separate D-Bus interface so that it
7764         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7765         should be able to call GetSecrets().
7766
7767         * include/NetworkManager.h
7768                 - Define the connection secrets D-Bus interface
7769
7770         * src/vpn-manager/nm-vpn-connection.c
7771                 - (clear_need_auth): get the right proxy object for the connection
7772                         secrets interface
7773                 - (get_connection_secrets): use the connection secrets proxy; send
7774                         empty hints in get secrets request
7775
7776         * src/nm-activation-request.c
7777                 - (nm_act_request_request_connection_secrets): use the connection
7778                         secrets proxy; send empty hints in get secrets request
7779
7780         * src/nm-manager.c
7781           src/nm-manager.h
7782                 - (connection_get_settings_cb): set the connection secrets proxy on
7783                         the connection object too
7784                 - (internal_new_connection_cb): create the connection secrets proxy
7785
7786         * introspection/nm-settings-connection.xml
7787                 - Define Connection.Secrets interface and move GetSecrets there
7788                 - Add a 'hints' argument to GetSecrets
7789
7790         * libnm-glib/nm-settings.c
7791           libnm-glib/nm-settings.h
7792                 - (impl_connection_settings_get_secrets): add 'hints' argument
7793
7794 2007-10-19  Dan Williams  <dcbw@redhat.com>
7795
7796         * src/nm-device.c
7797                 - (constructor): add message about what path a device is exported as
7798                         to help in debugging rh #339011
7799
7800 2007-10-17  Dan Williams  <dcbw@redhat.com>
7801
7802         * libnm-util/nm-utils.h
7803           libnm-util/nm-utils.c
7804                 - (nm_utils_security_valid): common function to help find the intersection
7805                         of capabilities of devices and (optionally) access points
7806
7807 2007-10-17  Dan Williams  <dcbw@redhat.com>
7808
7809         * src/nm-device-802-11-wireless.c
7810                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7811                         don't get erroneously cleared
7812
7813 2007-10-17  Dan Williams  <dcbw@redhat.com>
7814
7815         * src/nm-manager.h
7816           src/nm-manager.c
7817           src/nm-hal-manager.c
7818                 - (device_removed, finalize, nm_manager_remove_device,
7819                    nm_manager_sleep): add a 'deactivate' argument to 
7820                    nm_manager_remove_device() to fully deactivate devices when necessary
7821                    (ie, always except when waking up)
7822
7823 2007-10-16  Dan Williams  <dcbw@redhat.com>
7824
7825         * libnm-util/nm-setting.c
7826                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7827                         also isn't valid phase2 autheap method
7828
7829 2007-10-16  Dan Williams  <dcbw@redhat.com>
7830
7831         * libnm-glib/nm-client.c
7832                 - (update_wireless_status): consolidate updates of wireless status
7833                 - (constructor): use update_wireless_status()
7834                 - (manager_running): set wireless status off when NM goes away; requery
7835                         the wireless status when NM comes back
7836
7837 2007-10-16  Dan Williams  <dcbw@redhat.com>
7838
7839         * libnm-glib/nm-client.c
7840                 - (nm_client_activate_device): actually use the fixed-up specific
7841                         object path
7842
7843 2007-10-16  Dan Williams  <dcbw@redhat.com>
7844
7845         * src/nm-hal-manager.c
7846                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7847                         killswitch error messages once
7848
7849 2007-10-16  Dan Williams  <dcbw@redhat.com>
7850
7851         * src/nm-manager.c
7852                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7853                         if it's disabled in hardware; don't touch network devices while
7854                         NM is asleep
7855
7856 2007-10-16  Dan Williams  <dcbw@redhat.com>
7857
7858         * libnm-util/nm-client.c
7859                 - (nm_client_activate_device): convert NULL specific_object to "/",
7860                         which is used in place of NULL
7861
7862         * src/nm-manager.c
7863                 - (impl_manager_activate_device): convert "/" specific_object back into
7864                         NULL
7865
7866 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7867
7868         Implement a generic NMSetting creator from setting name.
7869         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7870         add a virtual function 'populate_fn'.
7871
7872         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7873         (register_default_creators): Register setting creators instead of functions
7874         that create and then populate.
7875         (parse_one_setting): Use the common setting creator and then setting specific
7876         poplulation function.
7877
7878         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7879         they all looked exactly the same.
7880         Add a 'populate_fn' virtual function to NMSetting.
7881         Use default virtual functions in case they are not overriden.
7882         (nm_setting_populate_from_hash): Implement.
7883
7884         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7885         name, use a defined string.
7886         (real_act_stage4_get_ip4_config): Ditto.
7887
7888 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7889
7890         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7891         HAL is int, not uint.
7892
7893 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7894
7895         Implement killswitch polling through HAL.
7896
7897         * src/nm-manager.c: Add wireless hardware status property. Add 
7898         'properties-changed' signal for changes in wireless and wireless hardware
7899         state changes.
7900
7901         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7902         and update NMManager's wireless hardware state when it has changed.
7903         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7904         already does that.
7905
7906         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7907         values of wireless state and wireless hardware state. Listen for the
7908         'properties-changed' signals, update the cached values and emit notify.
7909
7910         * include/NetworkManager.h: Fix a typo in a comment.
7911
7912 2007-10-14  Dan Williams  <dcbw@redhat.com>
7913
7914         * libnm-util/nm-setting.c
7915                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7916
7917 2007-10-13  Dan Williams  <dcbw@redhat.com>
7918
7919         * libnm-util/nm-setting.h
7920           libnm-util/nm-setting.c
7921           src/supplicant-manager/nm-supplicant-config.c
7922                 - Make the 'proto' field of the 802-11-wireless-security field a
7923                         string list
7924
7925 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7926
7927         Rework the "properties-changed" signal listening implementation.
7928         Add a generic implementation to NMObject class that listens for
7929         the signal and calls property setters of the target NMObject.
7930
7931         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7932
7933         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7934         code to the end of file so that all the static functions are available
7935         without extra declarations.
7936         Remove the "properties-changed" signal handling and use the framework from
7937         NMObject.
7938         Implement property setters for properties that change with 
7939         "properties-changed" signal.
7940
7941         * libnm-glib/nm-access-point.c: Ditto.
7942
7943 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7944
7945         Rework the "properties-changed" signal implementation.
7946         In classes that need to use it, just emit "GObject::notify" and the new
7947         framework takes care of the rest to make the signal available on dbus.
7948         The framework queues the notifications and tries to send as many together
7949         in one signal as possible.
7950
7951         * src/nm-properties-changed-signal.c:
7952         * src/nm-properties-changed-signal.h: Implement.
7953
7954         * src/Makefile.am: Add new files to build.
7955
7956         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7957         signal.
7958
7959         * src/nm-device-802-11-wireless.c: Ditto.
7960
7961 2007-10-10  Dan Williams  <dcbw@redhat.com>
7962
7963         * src/nm-manager.c
7964                 - (wait_for_connection_expired): ensure info is valid
7965                 - (connection_added_default_handler): Should only remove pending
7966                         connection info when the manager has the connection that it's
7967                         waiting for.  Fixes segfault in wait_for_connection_info().  
7968
7969 2007-10-10  Dan Williams  <dcbw@redhat.com>
7970
7971         * libnm-util/nm-setting.c
7972           libnm-util/nm-setting.h
7973                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7974                         can use if they choose.  Should be filled in by the settings service
7975                         on-the-fly with the currently logged in user's username
7976
7977 2007-10-10  Dan Williams  <dcbw@redhat.com>
7978
7979         * src/nm-device-802-11-wireless.c
7980                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7981                         as such, because even if the manager fills in the SSID, NM still
7982                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7983                         its SSID
7984
7985 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7986
7987         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7988         code that used NM's own version of dbus signal handling and custom dictionary
7989         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7990         and we get to maintain over 2000 lines less code.
7991
7992         * libnm-util/dbus-dict-helpers.c:
7993         * libnm-util/dbus-dict-helpers.h: Remove.
7994
7995         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7996
7997         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7998
7999         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
8000         handlers.
8001
8002         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
8003
8004         * configure.in: Remove test/libnm-util/Makefile creation.
8005
8006         * test/Makefile.am: Remove libnm-util from SUBDIRS.
8007
8008         * test/libnm-util/: Remove the whole directory.
8009
8010 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8011
8012         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
8013         device_state_changed_idle_id variable or it would contain some random value and the
8014         schedule_change_check calls would not do anything.
8015
8016 2007-10-09  Dan Williams  <dcbw@redhat.com>
8017
8018         * src/nm-device-802-11-wireless.c
8019                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
8020                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
8021                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
8022                         merging of non-SSID-broadcasting APs
8023
8024 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8025
8026         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
8027         "guint8 *" since it's usually used with GByteArray->data.
8028         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
8029
8030 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8031
8032         * src/NetworkManagerUtils.c
8033         (nm_utils_is_empty_ssid):
8034         (nm_utils_escape_ssid):
8035         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
8036         lot of places, so they belong to libnm-utils instead.
8037
8038         Now with 100% less compiler warnings:
8039
8040         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
8041         (nm_dbus_unescape_object_path): Ditto.
8042         (nm_utils_ssid_to_utf8): Ditto.
8043         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
8044         (nm_utils_escape_ssid): Ditto.
8045         (nm_utils_same_ssid): Ditto.
8046
8047         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
8048         (add_one_connection_element): Remove an unused variable.
8049         (impl_manager_get_active_connections): Ditto.
8050
8051         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
8052         variable.
8053
8054         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
8055         from the previous commit.
8056
8057         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
8058         (real_act_stage1_prepare): Ditto.
8059         (activation_success_handler): Ditto.
8060         (get_property): Ditto.
8061
8062         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
8063         variable.
8064
8065         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
8066         it's always set.
8067
8068         * src/supplicant-manager/nm-supplicant-config.c 
8069         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
8070         to expected "char *".
8071         (nm_supplicant_config_add_setting_wireless): Ditto.
8072         (nm_supplicant_config_remove_option): Remove, not used.
8073
8074         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
8075         not double.
8076         (test_wireless_enabled): Ifdef out unused function.
8077         (device_deactivate): Ditto.
8078         (device_state_changed): Ditto.
8079         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8080         (nm_utils_escape_ssid): Ditto.
8081
8082         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8083         (nm_utils_is_empty_ssid): Ditto.
8084
8085         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8086         unused variable.
8087
8088         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8089         (setting_vpn_properties_update_secrets): Ditto.
8090         (int_to_gvalue): Ifdef out for now, not used.
8091         (byte_to_gvalue): Ditto.
8092
8093         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8094         Unused, remove.
8095
8096 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8097
8098         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8099         about dbus manager, not named manager.
8100         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8101
8102         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8103         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8104         However, the same signal is emitted when we destroy it and there's 
8105         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8106
8107         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8108         releasing the DBusGConnection, since proxy needs a conneciton.
8109         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8110
8111 2007-10-08  Dan Williams  <dcbw@redhat.com>
8112
8113         * src/NetworkManager.c
8114                 - (main): error on unknown command-line options
8115
8116 2007-10-08  Dan Williams  <dcbw@redhat.com>
8117
8118         Reimplement the invalid connection list.  Don't try to re-activate a
8119         connection that just failed or was canceled.
8120
8121         * src/nm-device.c
8122                 - (connection_secrets_failed_cb): fail device activation, don't just
8123                         deactivate the device.  Listeners have to know about the failure.
8124
8125         * src/NetworkManagerPolicy.c
8126                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8127                         the connection list given to a device's get_best_connection()
8128                         method
8129                 - (device_state_changed): tag failed connections as invalid; clear the
8130                         tag from successful connections
8131
8132 2007-10-08  Dan Williams  <dcbw@redhat.com>
8133
8134         Fix problems with interrupted activation.  Previously, choosing an AP
8135         from the menu, then choosing another one before the first connection was
8136         successful wouldn't deactivate the device before starting the new connection
8137         on that same device.
8138
8139         * src/NetworkManagerPolicy.c
8140                 - (deactivate_old_device, device_state_changed, state_changed,
8141                    nm_policy_new): wrong place to deactivate old devices
8142
8143         * src/nm-manager.c
8144                 - (pending_connection_info_destroy, finalize,
8145                    wait_for_connection_expired): decouple destruction of the pending
8146                         connection info from the manager device
8147                 - (connection_added_default_handler): deactivate any active or
8148                         activating device before starting a new activation
8149                 - (impl_manager_activate_device): deactivate any active or activating
8150                         device before starting a new activation; be sure not to leak
8151                         pending connection info if a new activation request arrives but
8152                         there's already a pending one in-process
8153
8154 2007-10-08  Dan Williams  <dcbw@redhat.com>
8155
8156         * src/NetworkManagerAP.h
8157           src/NetworkManagerAP.c
8158                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8159                         should handle default SSIDs and whether or not to autoconnect
8160                         to them
8161
8162 2007-10-08  Dan Williams  <dcbw@redhat.com>
8163
8164         * src/NetworkManagerPolicy.c
8165                 - (nm_policy_device_change_check): print out connection name where
8166                         possible
8167
8168 2007-10-08  Dan Williams  <dcbw@redhat.com>
8169
8170         * src/nm-device-802-11-wireless.c
8171           src/nm-device-802-11-wireless.h
8172                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8173                         'hidden-ap-found' signal (for internal use only) that allows the
8174                         NMManager to fill in the AP's SSID if a connection has that AP's
8175                         BSSID in its seen-bssids list
8176
8177         * src/nm-manager.c
8178                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8179                         wireless device's hidden-ap-found signal and fill in the APs SSID
8180                         if possible
8181
8182 2007-10-07  Dan Williams  <dcbw@redhat.com>
8183
8184         * src/nm-manager.c
8185           src/nm-manager.h
8186                 - Add a 'connections-added' signal to batch together updates of large
8187                         numbers of connections, like when reading from a settings service
8188                         the first time.  Otherwise, the policy would just activate the first
8189                         suitable connection it saw rather than waiting for the full list
8190                         to arrive.
8191                 - (nm_manager_class_init): register new signal
8192                 - (get_type_for_proxy, connection_get_settings_cb,
8193                    get_connection_for_proxy): centralize places where a proxy's setting
8194                         service is determined
8195                 - (free_get_settings_info): if the call being freed is the last call
8196                         in a pending call group, fire off the connections-added signal
8197                 - (internal_new_connection_cb): add call to a pending call group if
8198                         requested
8199                 - (list_connections_cb): always create a call group here, because this
8200                         call results in a batch of new connections
8201                 - (initial_get_connections): start getting system connections first
8202                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8203                         removed signal when destroying connections
8204
8205         * src/NetworkManagerPolicy.c
8206                 - (nm_policy_new, connections_added): handle connections-added signal
8207                         from the manager
8208
8209 2007-10-06  Dan Williams  <dcbw@redhat.com>
8210
8211         * src/nm-device-802-11-wireless.c
8212                 - (constructor): fix leaked socket
8213
8214 2007-10-06  Dan Williams  <dcbw@redhat.com>
8215
8216         * src/NetworkManagerPolicy.c
8217                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8218                         connection in the list returned by nm_manager_get_connections() is
8219                         reffed, but they weren't getting unreffed before returning
8220
8221 2007-10-06  Dan Williams  <dcbw@redhat.com>
8222
8223         * src/nm-manager.c
8224                 - (connections_to_slist): sort connections first on autoconnect, then
8225                         on timestamp
8226
8227 2007-10-06  Dan Williams  <dcbw@redhat.com>
8228
8229         * libnm-util/nm-connection.c
8230                 - (gvalue_to_string): handle UINT64
8231
8232 2007-10-06  Dan Williams  <dcbw@redhat.com>
8233
8234         * src/NetworkManagerPolicy.c
8235                 - (connection_updated, nm_policy_new): recheck state when a connection
8236                         gets updated
8237
8238 2007-10-06  Dan Williams  <dcbw@redhat.com>
8239
8240         * src/nm-manager.c
8241           src/nm-manager.h
8242                 - (nm_manager_get_connection_dbus_path): make static
8243                 - (nm_manager_update_connections): remove; unused
8244                 - Add a connection-updated signal
8245                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8246                         handle connection object updates
8247
8248 2007-10-06  Dan Williams  <dcbw@redhat.com>
8249
8250         * src/NetworkManagerPolicy.c
8251                 - (connection_removed): deactivate removed connections
8252
8253 2007-10-06  Dan Williams  <dcbw@redhat.com>
8254
8255         * libnm-util/nm-connection.c
8256           libnm-util/nm-connection.h
8257                 - (nm_connection_replace_settings): new function
8258
8259 2007-10-06  Dan Williams  <dcbw@redhat.com>
8260
8261         * libnm-glib/nm-device-802-11-wireless.c
8262                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8263                         on error when getting the active access point over D-Bus from NM
8264
8265 2007-10-05  Dan Williams  <dcbw@redhat.com>
8266
8267         * libnm-util/nm-setting.c
8268                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8269                         to the NMSettingWireless table; it's now a string array not an array
8270                         of byte arrays
8271
8272 2007-10-05  Dan Williams  <dcbw@redhat.com>
8273
8274         * libnm-glib/nm-device-802-11-wireless.c
8275                 - Cache properties and update cached properties on D-Bus signals from NM
8276
8277 2007-10-05  Dan Williams  <dcbw@redhat.com>
8278
8279         * src/nm-device-802-11-wireless.c
8280                 - (set_current_ap): consolidate current_ap handling code into one place
8281                         to ensure that PropertiesChanged signals are emitted in all cases
8282                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8283                    nm_device_802_11_wireless_dispose): use set_current_ap()
8284
8285 2007-10-05  Dan Williams  <dcbw@redhat.com>
8286
8287         * libnm-glib/nm-access-point.c
8288           libnm-glib/nm-access-point.h
8289                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8290                         because the value is cached internally now.  Callers should not
8291                         free the internal value.
8292                 - Make signal name defines private
8293
8294         * test/nm-tool.c
8295           libnm-glib/libnm-glib-test.c
8296                 - Don't free value returned from nm_access_point_get_hw_address()
8297
8298 2007-10-04  Dan Williams  <dcbw@redhat.com>
8299
8300         * introspection/nm-device-802-11-wireless.xml
8301           src/nm-device-802-11-wireless.h
8302           src/nm-device-802-11-wireless.c
8303                 - Add a PropertiesChanged signal for wireless device
8304                 - Store currently associated access point
8305                 - (periodic_update): generalize; update rate here too and emit the
8306                         correct PropertiesChanged signal when stuff changes
8307                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8308                    real_activation_cancel_handler): clear current_ap when device is
8309                         deactivated
8310                 - (link_to_specific_ap, get_ap_blacklisted,
8311                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8312                         code
8313                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8314                         outside this file
8315                 - (real_set_hw_address): emit property changed signal if the card's
8316                         MAC address changes
8317                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8318                         the card is supposed to be connecting to
8319                 - (activation_success_handler): send out property updates on successful
8320                         activation
8321                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8322                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8323                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8324                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8325                         is now boxed; add PropertiesChanged signal
8326
8327 2007-10-04  Dan Williams  <dcbw@redhat.com>
8328
8329         * libnm-util/nm-connection.c
8330           libnm-util/nm-connection.h
8331                 - (nm_connection_verify): new function
8332
8333 2007-10-04  Dan Williams  <dcbw@redhat.com>
8334
8335         * libnm-util/nm-setting.c
8336                 - (nm_settings_verify): use #defines when possible rather than strings
8337                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8338                 - (setting_vpn_verify): tighter validity check on 'service_type'
8339
8340 2007-10-04  Dan Williams  <dcbw@redhat.com>
8341
8342         * libnm-glib/nm-settings.c
8343                 - (nm_connection_settings_class_init): provide correct type for argument
8344                         to the Updated signal so that dbus-glib knows how to marshal it
8345
8346 2007-10-03  Dan Williams  <dcbw@redhat.com>
8347
8348         * src/nm-device-802-3-ethernet.c
8349                 - (real_get_best_connection): don't create automatic connections
8350                         internally; clients should provide a setting that applies to
8351                         the device with 'autoconnect: True'.  Problem was that these
8352                         internally auto-created connections don't have a proxy or service
8353                         name becuase they weren't created by a settings daemon, and therefore
8354                         clients have no idea what to do with them.
8355
8356 2007-10-03  Dan Williams  <dcbw@redhat.com>
8357
8358         * src/nm-device-802-11-wireless.c
8359           src/nm-device-802-11-wireless.h
8360           introspection/nm-device-802-11-wireless.xml
8361                 - GetActiveNetworks -> GetAccessPoints
8362                 - ActiveNetwork -> ActiveAccessPoint
8363                 - NetworkAdded -> AccessPointAdded
8364                 - NetowrkRemoved -> AccessPointRemoved
8365
8366         * libnm-glib/nm-device-802-11-wireless.c
8367           libnm-glib/nm-device-802-11-wireless.h
8368                 - network-added signal -> access-point-added
8369                 - network-removed signal -> access-point-removed
8370                 - nm_device_802_11_wireless_get_active_network() ->
8371                         nm_device_802_11_wireless_get_active_access_point()
8372                 - nm_device_802_11_wireless_get_network_by_path() ->
8373                         nm_device_802_11_wireless_get_access_point_by_path()
8374                 - nm_device_802_11_wireless_get_networks() ->
8375                         nm_device_802_11_wireless_get_access_points()
8376
8377         * libnm-glib/libnm-glib-test.c
8378           test/nm-tool.c
8379           src/NetworkManagerPolicy.c
8380                 - Fixups for Network -> AccessPoint
8381
8382 2007-10-03  Dan Williams  <dcbw@redhat.com>
8383
8384         Add a GetActiveConnections() method on the Manager object.
8385
8386         * src/nm-manager.c
8387           src/nm-manager.h
8388           introspection/nm-manager.xml
8389                 - (connection_get_settings_cb): keep connection type around too
8390                 - (impl_manager_get_active_connections, add_one_connection_element):
8391                         implement; returns all active connections and what devices they
8392                         apply to
8393
8394         * libnm-glib/nm-client.c
8395           libnm-glib/nm-client.h
8396           introspection/nm-manager-client.xml
8397                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8398                         by the caller; free here to avoid memory leak
8399                 - (nm_client_get_active_connections): implement; return the list of
8400                         active connections
8401                 - (nm_client_free_active_connection_element): implement; free an element
8402                         of the GSList returned by nm_client_get_active_connections()
8403
8404 2007-10-03  Dan Williams  <dcbw@redhat.com>
8405
8406         * src/nm-device-802-11-wireless.c
8407                 - (nm_device_802_11_wireless_update_bssid): remove
8408                 - (get_active_ap): new function; find the AP in the scan list which
8409                         matches the current BSSID and SSID of the wireless device
8410                 - (nm_device_802_11_periodic_update): get current AP using
8411                         get_active_ap() and print AP roam messages
8412
8413 2007-10-01  Dan Williams  <dcbw@redhat.com>
8414
8415         * libnm-util/nm-setting.h
8416                 - Add a 'timestamp' option to NMSettingConnection
8417                 - Add a UINT64 type
8418
8419         * libnm-util/nm-setting.c
8420                 - (uint64_to_gvalue): new function
8421                 - (nm_setting_populate_from_hash, nm_setting_hash,
8422                    default_setting_clear_secrets): handle UINT64 type
8423                 - con_table: add 'timestamp' member
8424
8425 2007-10-01  Dan Williams  <dcbw@redhat.com>
8426
8427         * src/nm-manager.c
8428                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8429                         value when the connection can be activated immediately
8430
8431 2007-10-01  Dan Williams  <dcbw@redhat.com>
8432
8433         * libnm-glib/nm-device.c
8434                 - (nm_device_class_init): actually tell glib about the carrier-changed
8435                         signal
8436
8437 2007-10-01  Dan Williams  <dcbw@redhat.com>
8438
8439         * configure.in
8440           src/marshallers/Makefile.am
8441           src/marshallers/nm-marshal.list
8442           src/marshallers/nm-marshal-main.c
8443                 - Consolidate glib marshallers into one place
8444
8445         * src/dhcp-manager/Makefile.am
8446           src/dhcp-manager/nm-dhcp-manager.c
8447           src/supplicant-manager/Makefile.am
8448           src/supplicant-manager/nm-supplicant-manager.c
8449           src/supplicant-manager/nm-supplicant-interface.c
8450           src/ppp-manager/Makefile.am
8451           src/ppp-manager/nm-ppp-manager.c
8452           src/vpn-manager/Makefile.am
8453           src/vpn-manager/nm-vpn-connection.c
8454           src/Makefile.am
8455                 - Use consolidated marshallers
8456
8457         * src/dhcp-manager/nm-dhcp-marshal.list
8458           src/dhcp-manager/nm-dhcp-marshal-main.c
8459           src/supplicant-manager/nm-supplicant-marshal-main.c
8460           src/supplicant-manager/nm-supplicant-marshal.list
8461           src/nm-marshal-main.c
8462           src/nm-marshal.list
8463           src/ppp-manager/nm-ppp-marshal-main.c
8464           src/ppp-manager/nm-ppp-marshal.list
8465           src/vpn-manager/nm-vpn-marshal-main.c
8466           src/vpn-manager/nm-vpn-marshal.list
8467                 - Remove
8468
8469 2007-10-01  Dan Williams  <dcbw@redhat.com>
8470
8471         * include/NetworkManagerVPN.h
8472                 - define VPN connection state change reason codes
8473
8474         * src/vpn-manager/Makefile.am
8475           src/vpn-manager/nm-vpn-marshal.list
8476           src/vpn-manager/nm-vpn-marshal-main.c
8477                 - Add marshallers for StateChanged signal
8478
8479         * introspection/nm-vpn-connection.xml
8480                 - New Banner property
8481                 - StateChanged signal now includes a 'reason' argument
8482
8483         * src/vpn-manager/nm-vpn-connection.c
8484           src/vpn-manager/nm-vpn-connection.h
8485                 - Add a "Banner" property that contains the returned VPN server login
8486                         banner (if any); valid only in the ACTIVATED state
8487                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8488                         a 'reason' argument and emits that reason along with the
8489                         state-changed signal
8490                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8491                 - (nm_vpn_connection_ip4_config_get): save banner for later
8492                 - (nm_vpn_connection_get_banner, get_property,
8493                    nm_vpn_connection_class_init): implement Banner property
8494
8495         * src/vpn-manager/nm-vpn-service.c
8496                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8497                         connection list because elements may get added/removed from it
8498                         while iterating over the list
8499                 - (connection_state_changed): signal now includes the 'reason' argument
8500
8501         * libnm-glib/nm-vpn-connection.c
8502           libnm-glib/nm-vpn-connection.h
8503                 - (nm_vpn_connection_get_banner): new function
8504                 - (state_changed_proxy): handle reason argument
8505
8506 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8507
8508         * src/nm-manager.c:
8509         * src/nm-manager.h:
8510         Implement device activation through NMManager.
8511         Implement "pending device activation" here - If the connection isn't found,
8512         we try to wait for up to 5 seconds for the connection to be provided.
8513         Add NMConnectionType argument to "connection-added" and "connection-removed"
8514         signals.
8515         (nm_manager_get): Remove. Finally.
8516
8517         * src/nm-activation-request.c: 
8518         * src/nm-activation-request.h: 
8519         Remove all the deferred activation code.
8520
8521         * src/nm-device.c: Remove all the deferred activation code. Once the device
8522         activation is started, it's started. Update the activation virtual function
8523         signature.
8524
8525         * src/nm-device-interface.c:
8526         * src/nm-device-interface.h:
8527         Device activation now takes only NMActRequest argument.
8528         Don't expose device activation directly on dbus, it's supposed to go through
8529         NMManager now.
8530
8531         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8532         a bit more compact.
8533         Use the new device activation methods through NMManager.
8534
8535         * introspection/nm-manager-client.xml: 
8536         * introspection/nm-manager.xml: 
8537         * libnm-glib/nm-client.c:
8538         * libnm-glib/nm-client.h:
8539         Add device activation method.
8540         
8541         * libnm-glib/nm-device.c: 
8542         * libnm-glib/nm-device.h: 
8543         * introspection/nm-device.xml: 
8544         Remove device activation method. It's done through NMManager now.
8545
8546         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8547         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8548
8549 2007-09-28  Dan Williams  <dcbw@redhat.com>
8550
8551         * libnm-glib/nm-vpn-connection.c
8552                 - (nm_vpn_connection_get_state): try to update state if the current
8553                         state is UNKNOWN
8554
8555 2007-09-27  Dan Williams  <dcbw@redhat.com>
8556
8557         Patch from Bill Nottingham
8558
8559         * src/supplicant-manager/nm-supplicant-config.c
8560                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8561                         data to the supplicant
8562
8563 2007-09-27  Dan Williams  <dcbw@redhat.com>
8564
8565         * src/NetworkManagerSystem.c
8566                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8567                         and all address manipulation here should be happening on the
8568                         _VPN_ device, not the active device
8569
8570 2007-09-26  Dan Williams  <dcbw@redhat.com>
8571
8572         * src/nm-manager.c
8573           src/nm-manager.h
8574           src/nm-activation-request.c
8575           src/nm-activation-request.h
8576                 - Move the GetSecrets stuff out of the NMManager instance because it
8577                         doesn't really need to be there and complicates things
8578
8579         * src/nm-device.c
8580                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8581                         connection-secrets-failed signal and deactivate the device if
8582                         the GetSecrets call fails
8583
8584         * src/nm-device-802-11-wireless.c
8585                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8586                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8587                         secrets and give correct hints about whether new secrets should be
8588                         asked for by the client or not
8589
8590 2007-09-26  Dan Williams  <dcbw@redhat.com>
8591
8592         * src/vpn-manager/nm-vpn-connection.c
8593                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8594                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8595                         to the secrets-updated signal of the NMConnection since updating
8596                         the secrets is done within the scope of the NMVPNConnection object
8597                         already
8598                 - (get_connection_secrets): fix an uninialized variable usage error
8599
8600 2007-09-26  Dan Williams  <dcbw@redhat.com>
8601
8602         * libnm-util/nm-setting.c
8603                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8604                         actually get updated when the user enters them
8605
8606 2007-09-26  Dan Williams  <dcbw@redhat.com>
8607
8608         * libnm-glib/nm-vpn-plugin.c
8609                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8610
8611 2007-09-26  Dan Williams  <dcbw@redhat.com>
8612
8613         * include/NetworkManagerVPN.h
8614                 - Add a NEED_AUTH state
8615
8616         * src/vpn-manager/nm-vpn-connection.c
8617                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8618                         the connection needs secrets, and if so, then ask the settings
8619                         service to fill in the secrets.  Then start the connection.
8620
8621 2007-09-26  Dan Williams  <dcbw@redhat.com>
8622
8623         * src/vpn-manager/nm-vpn-manager.c
8624                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8625
8626 2007-09-26  Dan Williams  <dcbw@redhat.com>
8627
8628         * introspection/nm-vpn-plugin.xml
8629           libnm-glib/nm-vpn-plugin.c
8630           libnm-glib/nm-vpn-plugin.h
8631                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8632                         the name of the NMSetting in an NMConnection that may require
8633                         secrets specific to that VPN plugin
8634
8635 2007-09-26  Dan Williams  <dcbw@redhat.com>
8636
8637         * src/nm-manager.c
8638           src/nm-manager.h
8639                 - (nm_manager_get_connection_secrets): make static, unused outside
8640                         the file
8641                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8642
8643 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8644
8645         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8646         method.
8647         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8648         unreference the connection.
8649
8650         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8651         passing properties hash and routes string list, pass NMConnection (in hashed form).
8652
8653         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8654         as GSList, no need to copy stuff around anymore.
8655         (nm_vpn_connection_activate): Update the plugin activation method.
8656
8657         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8658         routes argument to GSList.
8659
8660 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8661
8662         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8663         state and try to get the secrets.
8664
8665         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8666         connections from NMManager and let the device to choose the best from the list.
8667         Since the connection list is sorted by system ones first and user ones later,
8668         the devices still prefer system connections like they did before.
8669         (deactivate_old_device): Implement. When a device starts activation, we have a
8670         policy (for now at least) to deactivate any other device that might be either
8671         active or still activating.
8672
8673         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8674         It's set on construction, there will be no other way to access it.
8675
8676         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8677         device events and drive the device, not the other way around.
8678
8679         * src/nm-device-802-3-ethernet.c: Ditto.
8680
8681         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8682         sent along, pass it on to virtual functions.
8683
8684         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8685         for now, but should really be public instead of nm_device_get_iface() since iface
8686         is a property of the DeviceInterface, not Device.
8687         (impl_device_activate): Don't touch NMManager!
8688
8689 2007-09-26  Jürg Billeter  <j@bitron.ch>
8690
8691         * initscript/paldo/NetworkManager.in:
8692         * initscript/paldo/NetworkManagerDispatcher.in:
8693         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8694         (nm_system_flush_loopback_routes): update paldo backend
8695
8696 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8697
8698         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8699         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8700         which means none of the devices get brought down properly, which in turn leaves
8701         DHCP client running.
8702
8703         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8704         (supplicant_connection_timeout_cb): Ditto.
8705
8706 2007-09-25  Dan Williams  <dcbw@redhat.com>
8707
8708         * src/nm-device.c
8709                 - (device_activation_go): small hack to work around race when
8710                         activating deferred connections; should solve this in a better way
8711
8712 2007-09-25  Dan Williams  <dcbw@redhat.com>
8713
8714         * introspection/nm-device.xml
8715           libnm-glib/nm-device.c
8716           libnm-glib/nm-device.h
8717                 - Add 'Carrier' property to exported NMDevice objects
8718
8719         * src/nm-device-interface.h
8720           src/nm-device-interface.c
8721           src/nm-device.c
8722                 - Add a 'carrier' property to internal NMDevice objects
8723
8724 2007-09-25  Dan Williams  <dcbw@redhat.com>
8725
8726         * src/nm-device-802-11-wireless.c
8727                 - (ap_auth_enforced): also return the encryption status of the AP so
8728                         that callers can differentiate easily between unencrypted APs
8729                         and encrypted ones, in addition to whether the AP has an
8730                         authenticator
8731                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8732                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8733                         previously would request secrets from unencrypted APs at times
8734
8735 2007-09-25  Dan Williams  <dcbw@redhat.com>
8736
8737         * src/nm-manager.c
8738                 - (nm_manager_update_state): new function; updates state and emits
8739                         appropriate signals ensuring a state-change signal for the same state
8740                         never gets emitted twice in a row.
8741                 - (manager_device_state_changed): handle more device state to get a
8742                         better picture of the overall NM state
8743
8744 2007-09-25  Dan Williams  <dcbw@redhat.com>
8745
8746         * libnm-glib/nm-settings.c
8747           libnm-glib/nm-settings.h
8748                 - (new_error -> nm_settings_new_error): make public so that subclasses
8749                         can use the same error domain.  Also pass a valid error code to
8750                         g_error_new_literal() so that libdbus doesn't assert when converting
8751                         the GError into a DBusError
8752                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8753                    impl_connection_settings_get_settings,
8754                    impl_connection_settings_get_secrets): use new error creator
8755                         function
8756
8757 2007-09-25  Dan Williams  <dcbw@redhat.com>
8758
8759         * src/NetworkManager.c
8760                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8761
8762 2007-09-25  Dan Williams  <dcbw@redhat.com>
8763
8764         * src/supplicant-manager/nm-supplicant-manager.c
8765                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8766                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8767                    nm_supplicant_manager_startup): when the supplicant isn't running,
8768                         try to start it periodically via system bus activation.  Fixes
8769                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8770                         for the supplicant to come back
8771
8772 2007-09-25  Dan Williams  <dcbw@redhat.com>
8773
8774         Ensure that old activation requests are forgotten about; previously
8775         hitting Cancel in the password dialog would deactivate whatever device
8776         that password was requested for, even if that wasn't the currently
8777         activating connection.
8778
8779         * src/nm-manager.c
8780           src/nm-manager.h
8781                 - (nm_manager_get_connection_secrets): track the pending call
8782                         object so it can be canceled later if needed
8783                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8784                         GetSecrets call for a particular connection
8785
8786         * src/nm-activation-request.c
8787                 - (dispose): cancel any outstanding GetSecrets calls on the
8788                         connection
8789
8790 2007-09-25  Dan Williams  <dcbw@redhat.com>
8791
8792         * src/NetworkManagerPolicy.c
8793                 - (nm_policy_device_change_check): handle devices that have a
8794                         deferred activation.  These devices are not really active _yet_,
8795                         but need to be treated as such here.  Don't interrupt them
8796                         automatically.
8797
8798         * src/nm-device-interface.c
8799                 - (impl_device_activate): handle devices that have a deferred activation
8800                         like activating or active devices.  When multiple active devices
8801                         get committed, the device shouldn't be deactivated until the
8802                         connection details are available to avoid DoS and such.  Currently,
8803                         any active, activating, or deferred activation device is deactivated
8804                         here before starting the new activation request.
8805
8806 2007-09-25  Dan Williams  <dcbw@redhat.com>
8807
8808         Properly re-query secrets from the settings daemon when stuff fails.
8809
8810         * src/nm-device-802-11-wireless.c
8811                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8812                         between Shared Key and Open System auth modes
8813                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8814                    real_act_stage4_ip_config_timeout): clear existing secrets and
8815                         request new ones when something fails due to a suspected wrong key
8816                 - (real_act_stage2_config): fix for new request_new argument to
8817                         nm_manager_get_connection_secrets()
8818
8819         * src/nm-manager.c
8820           src/nm-manager.h
8821                 - (nm_manager_get_connection_secrets): return error status; pass
8822                         new request_new argument on to the settings daemon
8823
8824         * introspection/nm-settings-connection.xml
8825                 - New 'request_new' argument to the GetSecrets call that hints to the
8826                         settings daemon to ask the user for completely new secrets
8827
8828         * libnm-glib/nm-settings.c
8829           libnm-glib/nm-settings.h
8830                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8831                         argument
8832
8833 2007-09-25  Dan Williams  <dcbw@redhat.com>
8834
8835         * libnm-util/nm-connection.c
8836           libnm-util/nm-connection.h
8837                 - (nm_connection_clear_secrets): new function; clear secrets out of
8838                         each NMSetting in an NMConnection
8839
8840         * libnm-util/nm-setting.h
8841           libnm-util/nm-setting.c
8842                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8843                         secrets out of an NMSetting
8844                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8845                    nm_setting_wired_new, nm_setting_wireless_new,
8846                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8847                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8848                         to default handler default_setting_clear_secrets()
8849
8850 2007-09-25  Dan Williams  <dcbw@redhat.com>
8851
8852         * src/nm-activation-request.c
8853           src/nm-activation-request.h
8854                 - (nm_act_request_is_deferred): new function
8855
8856 2007-09-24  Dan Williams  <dcbw@redhat.com>
8857
8858         * src/nm-device-802-11-wireless.c
8859                 - (activation_success_handler): update signal strength immediately
8860                         after activation
8861
8862 2007-09-24  Dan Williams  <dcbw@redhat.com>
8863
8864         * libnm-util/nm-setting.c
8865                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8866
8867 2007-09-24  Dan Williams  <dcbw@redhat.com>
8868
8869         * src/NetworkManagerPolicy.c
8870                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8871                         device by deactivating it because it doesn't have a "best connection".
8872                         Since autoconnect=False connections aren't automatically chosen,
8873                         NM would interrupt activation of such a connection because it
8874                         would never be "best" due to autoconnect=False.
8875
8876 2007-09-24  Dan Williams  <dcbw@redhat.com>
8877
8878         * src/nm-manager.c
8879                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8880                         actually has some time to enter a key before the GetSecrets call
8881                         times out
8882
8883 2007-09-24  Dan Williams  <dcbw@redhat.com>
8884
8885         * introspection/nm-manager.xml
8886           src/nm-manager.c
8887                 - (impl_manager_legacy_state): fix 'state' method call return value
8888
8889 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8890
8891         * test/Makefile.am: Install nm-tool
8892
8893 2007-09-24  Dan Williams  <dcbw@redhat.com>
8894
8895         Patch from Ross Burton <ross@burtonini.com>
8896
8897         * test/nm-tool.c
8898           callouts/nm-dhcp-client-action.c
8899           src/nm-netlink.c
8900           src/vpn-manager/nm-vpn-connection.c
8901           libnm-glib/libnm-glib-test.c
8902                 - warning fixes
8903
8904 2007-09-24  Dan Williams  <dcbw@redhat.com>
8905
8906         * libnm-util/nm-utils.h
8907           libnm-util/nm-utils.c
8908                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8909                         remove, unused
8910
8911 2007-09-23  Dan Williams  <dcbw@redhat.com>
8912
8913         * vpn-daemons/vpnc/properties/nm-vpnc.c
8914                 - Update for new VPN properties API bits; instead of passing around
8915                         a lot of random things, everything goes into the NMConnection
8916                         object.
8917
8918 2007-09-23  Dan Williams  <dcbw@redhat.com>
8919
8920         * libnm-util/nm-setting.c
8921                 - Correctly dispose of settings objects if creating them from a hash
8922                         table fails
8923
8924 2007-09-23  Dan Williams  <dcbw@redhat.com>
8925
8926         * libnm-util/nm-setting.c
8927                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8928                         the hash table in a standard manner.  Clients of libnm-util should
8929                         only call g_hash_table_remove_all(), never destroy the hash table
8930                         and recreate it.
8931
8932 2007-09-22  Dan Williams  <dcbw@redhat.com>
8933
8934         * src/nm-device-802-11-wireless.c
8935                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8936                         real reason to do it so often, and reduces wakeups for clients.
8937
8938 2007-09-21  Dan Williams  <dcbw@redhat.com>
8939
8940         * src/nm-device-802-11-wireless.c
8941                 - (build_supplicant_config): wpa_supplicant requires the option
8942                         key_mgmt=NONE for unencrypted networks
8943                 - (real_act_stage2_config): clarify log message on activation
8944
8945 2007-09-21  Dan Williams  <dcbw@redhat.com>
8946
8947         * test/nm-supplicant-test.c
8948           test/Makefile.am
8949                 - Remove supplicant test binary; no longer applicable
8950
8951 2007-09-21  Dan Williams  <dcbw@redhat.com>
8952
8953         * src/supplicant-manager/nm-supplicant-manager.c
8954                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8955                         activate it on the system bus
8956
8957 2007-09-20  Dan Williams  <dcbw@redhat.com>
8958
8959         * initscript/RedHat/NetworkManager.in
8960                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8961
8962 2007-09-20  Dan Williams  <dcbw@redhat.com>
8963
8964         * src/nm-device.c
8965                 - (nm_device_is_activating): work around a race between auto-activation
8966                         and the user activating the same device that is being auto-activated
8967
8968 2007-09-20  Dan Williams  <dcbw@redhat.com>
8969
8970         * src/nm-device-interface.c
8971                 - (impl_device_activate): until multiple active device support lands,
8972                         ensure only one device can be active at a time
8973
8974 2007-09-20  Dan Williams  <dcbw@redhat.com>
8975
8976         * src/supplicant-manager/nm-supplicant-config.c
8977           src/supplicant-manager/nm-supplicant-config.h
8978                 - (nm_supplicant_config_add_option): hide secrets from system logs
8979
8980 2007-09-20  Dan Williams  <dcbw@redhat.com>
8981
8982         * src/NetworkManagerPolicy.c
8983                 - (nm_policy_device_change_check): re-enable the wireless device change
8984                         checking code; insted of checking for SSIDs, check for the same
8985                         connection instead
8986
8987 2007-09-20  Dan Williams  <dcbw@redhat.com>
8988
8989         * src/nm-device-802-11-wireless.c
8990                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8991                         composite link state when determining when to start the disconnection
8992                         timer; that link state is already based on the supplicant interface's
8993                         status which is exactly what's already being examined, plus the link
8994                         state is a conglomeration of various things that we don't want here
8995
8996 2007-09-20  Dan Williams  <dcbw@redhat.com>
8997
8998         * libnm-glib/nm-access-point.c
8999                 - (handle_property_changed): strength is a UCHAR
9000
9001 2007-09-20  Dan Williams  <dcbw@redhat.com>
9002
9003         * src/supplicant-manager/nm-supplicant-config.c
9004                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
9005                         string list keywords too since that's what wpa_supplicant wants
9006
9007 2007-09-20  Dan Williams  <dcbw@redhat.com>
9008
9009         * libnm-util/nm-setting.c
9010                 - (convert_strv_to_slist): dupe the values in the list because since
9011                         the list is a boxed value, it'll get destroyed when it's container
9012                         (like a hash table or whatever) gets destroyed
9013
9014 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9015
9016         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
9017         GSList.
9018
9019         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
9020
9021         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
9022         just use (g_object_set_data_full).
9023
9024         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
9025         that NMSettingVPN->routes is a GSList, convert it to char **.
9026         (nm_vpn_connection_ip4_config_get): Free routes when done.
9027         (nm_vpn_connection_activate): Ditto.
9028
9029         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
9030         (real_act_stage2_config): Use defined setting names.
9031
9032 2007-09-20  Dan Williams  <dcbw@redhat.com>
9033
9034         * src/nm-device-802-11-wireless.c
9035           src/nm-manager.c
9036           src/nm-manager.h
9037                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
9038                         so that the device can be deactivated if secrets are wrong
9039
9040 2007-09-20  Dan Williams  <dcbw@redhat.com>
9041
9042         * introspection/nm-settings-connection.xml
9043           libnm-glib/nm-settings.c
9044           libnm-glib/nm-settings.h
9045                 - Make GetSecrets asynchronous on the server side
9046
9047 2007-09-20  Dan Williams  <dcbw@redhat.com>
9048
9049         * src/nm-manager.h
9050           src/nm-device.c
9051                 - (nm_device_activate): actually check if a given connection
9052                         exists before assuming it doesn't
9053
9054 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9055
9056         * libnm-util/nm-connection.c (register_default_creators): Use defined
9057         setting names. Register NMSettingVPN and NMSettingVPNProperties.
9058
9059         * libnm-util/nm-setting.c: Define property name strings, use them.
9060         Implement NMSettingVPN and NMSettingVPNProperties settings.
9061         Implement NM_S_TYPE_GVALUE_HASH.
9062         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
9063         (setting_connection_verify): Rename 'devtype' property to 'type'.
9064
9065         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
9066         properties.
9067
9068         * src/vpn-manager/nm-vpn-service.c: Ditto.
9069
9070         * src/vpn-manager/nm-vpn-connection.c: Ditto.
9071
9072         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
9073         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
9074
9075         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9076         names. NMSettingConnection->devtype got renamed to 'type'.
9077
9078         * src/nm-device-802-3-ethernet.c (find_best_connection):
9079         (real_get_best_connection): Ditto.
9080
9081         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9082
9083         * libnm-glib/nm-vpn-manager.[ch]: Update.
9084
9085 2007-09-19  Dan Williams  <dcbw@redhat.com>
9086
9087         * src/NetworkManagerAP.c
9088           src/NetworkManagerAP.h
9089           introspection/nm-access-point.xml
9090                 - Change strength-changed signal into a properties-changed signal
9091                         for all properties, not just strength.  Export that signal over dbus
9092                         so listeners don't have to poll NM for changes.
9093                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9094                         get exported over D-Bus, so break up the logic and let other bits
9095                         decided when to export the AP
9096                 - (nm_ap_new_from_ap): remove, unused
9097
9098         * src/nm-device-802-11-wireless.c
9099                 - (merge_scanned_ap): only export APs that are actually on the device
9100                         list, not every AP created internally
9101
9102         * libnm-glib/nm-access-point.c
9103           libnm-glib/nm-access-point.h
9104                 - Cache properties internally and only hit DBus when needed.  Get
9105                         property updates from NM signals
9106
9107 2007-09-16  Dan Williams  <dcbw@redhat.com>
9108
9109         * libnm-util/nm-connection.c
9110           libnm-util/nm-connection.h
9111                 - (nm_connection_for_each_setting_value): new function; iterate over
9112                         each setting's value and call a user-provided function with details
9113                         about that value
9114
9115         * libnm-util/nm-setting.c
9116           libnm-util/nm-setting.h
9117                 - (nm_setting_enumerate_values): new function; enumerate the values
9118                         of a specific NMSetting subclass for a user-provided function with
9119                         details about that value
9120                 - Change wep_tx_keyidx to a uint32
9121                 - Create settings value tables for each setting defining their type,
9122                         key name, offset into the NMSetting subclass' structure, and whether
9123                         they are required and/or a secret
9124                 - (nm_setting_populate_from_hash): generic function to populate an
9125                         NMSetting from a GHash table, make all settings use it
9126                 - (nm_setting_hash): generic function to derive a GHashTable from
9127                         an NMSetting object, make all settings use it
9128
9129 2007-09-14  Dan Williams  <dcbw@redhat.com>
9130
9131         Remove unused stuff in libnm-util
9132
9133         * configure.in
9134           libnm-util/Makefile.am
9135           libnm-util/cipher-private.h
9136           libnm-util/cipher-wep-ascii.c
9137           libnm-util/cipher-wep-ascii.h
9138           libnm-util/cipher-wep-hex.c
9139           libnm-util/cipher-wep-hex.h
9140           libnm-util/cipher-wep-passphrase.c
9141           libnm-util/cipher-wep-passphrase.h
9142           libnm-util/cipher-wpa-psk-hex.c
9143           libnm-util/cipher-wpa-psk-hex.h
9144           libnm-util/cipher-wpa-psk-passphrase.c
9145           libnm-util/cipher-wpa-psk-passphrase.h
9146           libnm-util/cipher.c
9147           libnm-util/cipher.h
9148           libnm-util/dbus-helpers.c
9149           libnm-util/dbus-helpers.h
9150           libnm-util/gnome-keyring-md5.c
9151           libnm-util/gnome-keyring-md5.h
9152           libnm-util/sha1.c
9153           libnm-util/sha1.h
9154           src/nm-device-802-11-wireless.c
9155           test/libnm-util/Makefile.am
9156           test/libnm-util/test-ciphers.c
9157           test/libnm-util/test-dbus-helpers.c
9158           test/libnm-util/test-inputs.h
9159                 - Removed
9160
9161 2007-09-14  Dan Williams  <dcbw@redhat.com>
9162
9163         * libnm-util/dbus-method-dispatcher.c
9164           libnm-util/dbus-method-dispatcher.h
9165                 - Remove, unused
9166
9167 2007-09-14  Dan Williams  <dcbw@redhat.com>
9168
9169         Implement deferred activation support in the device class.
9170
9171         * src/nm-device-interface.c
9172           src/nm-device-interface.h
9173                 - (nm_device_interface_activate): take more arguments to support
9174                         deferred activation; callers must pass one of (connection) OR
9175                         (service_name, connection_path)
9176                 - (impl_device_activate): connection validation is punted to the device
9177                         to be able to handle deferred activation.  Yes, this means errors
9178                         don't get returned from the Activate() dbus call, and yes, that
9179                         should be fixed somehow later.
9180
9181         * src/nm-device.c
9182           src/nm-device.h
9183                 - (clear_act_request): clear additional deferred activation stuff too
9184                 - (deferred_activation_timeout_cb): new function; clean up when
9185                         deferred activation times out.
9186                 - (deferred_activation_start_cb): new function; when the connection
9187                         finally becomes available, start device activation
9188                 - (nm_device_activate): attach to the right signals of the activation
9189                         request if we need to defer activation until the connection is valid
9190
9191         * src/NetworkManagerPolicy.c
9192                 - (nm_policy_device_change_check): update for additional arguments
9193                         required for nm_device_interface_activate().  Pass NULL for these
9194                         though because this function already knows exactly which
9195                         NMConnection to use
9196
9197 2007-09-14  Dan Williams  <dcbw@redhat.com>
9198
9199         Implement deferred activation handling in the NMActRequest class.  When a
9200         client wants to activate a device but must create the NMConnection details
9201         on the fly, there likely hasn't been enough time yet for NM to receive the
9202         new connection signal and grab all the connection details.  So the
9203         activation is deferred (and bounded by a timer) for a while, and if the
9204         connection appears within the window, it is activated.
9205
9206         * src/nm-activation-request.c
9207           src/nm-activation-request.h
9208                 - (nm_act_request_class_init): two new signals to support deferred
9209                         activation, to allow the listener to handle both timeout and success
9210                 - (nm_act_request_new_deferred): new function, starts the deferred
9211                         activation timeout handler and listens to the NMManager for
9212                         new-connection signals to notice when the connection comes in
9213
9214 2007-09-14  Dan Williams  <dcbw@redhat.com>
9215
9216         * src/nm-manager.h
9217           src/nm-manager.c
9218                 - (nm_manager_get_connection_service_name,
9219                    nm_manager_get_connection_dbus_path): get details about a connection
9220                         known internally by the NMManager
9221                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9222                         because NMConnection is now a GObject subclass
9223                 - Use constant for the gobject data tag used on NMConnection objects for
9224                         storing the associated DBusGProxy
9225
9226 2007-09-14  Dan Williams  <dcbw@redhat.com>
9227
9228         * utils/Makefile.am
9229           utils/nm-utils.c
9230           utils/nm-utils.h
9231           src/supplicant-manager/Makefile.am
9232           src/dhcp-manager/Makefile.am
9233           src/backends/Makefile.am
9234           src/named-manager/Makefile.am
9235           src/ppp-manager/Makefile.am
9236           src/vpn-manager/Makefile.am
9237           test/libnm-util/Makefile.am
9238           test/test-common/Makefile.am
9239                 - Remove utils/; it was unused
9240
9241 2007-09-13  Dan Williams  <dcbw@redhat.com>
9242
9243         * libnm-glib/nm-vpn-manager.h
9244           libnm-glib/nm-vpn-manager.c
9245                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9246
9247 2007-09-13  Dan Williams  <dcbw@redhat.com>
9248
9249         * src/nm-device-802-3-ethernet.c
9250                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9251                         netlink monitor carrier signals on dispose, not bring down.  The
9252                         carrier signals should be handled over the entire lifetime of the
9253                         device anyway, not created/destroyed on up or down.
9254
9255 2007-09-13  Dan Williams  <dcbw@redhat.com>
9256
9257         * libnm-glib/nm-device.c
9258           libnm-glib/nm-device.h
9259                 - (nm_device_activate): take a connection object path rather than an
9260                         NMConnection because NMConnection isn't exported over D-Bus and
9261                         therefore it dbus-glib can't automatically get an object path from it
9262
9263 2007-09-13  Dan Williams  <dcbw@redhat.com>
9264
9265         * libnm-util/nm-setting.c
9266                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9267
9268 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9269
9270         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9271
9272 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9273
9274         * src/vpn-manager/nm-vpn-connection.[ch]: 
9275         * src/vpn-manager/nm-vpn-manager.[ch]:
9276         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9277         dbus-glib, GObjects, signals etc.
9278
9279         * libnm-glib/nm-vpn-manager.[ch]: 
9280         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9281         so much, rewrite these too.
9282
9283         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9284         the new introspection files.
9285
9286         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9287
9288         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9289         the header with the same name from libnm-utils.
9290
9291         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9292
9293         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9294
9295         * introspection/nm-vpn-plugin.xml: Implement.
9296
9297         * introspection/nm-vpn-connection.xml: Implement.
9298
9299         * introspection/nm-vpn-manager.xml: Implement.
9300
9301         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9302         the named manager argument, it can just as easily get it as the caller.
9303         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9304
9305         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9306
9307         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9308
9309         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9310         libnm-utils.
9311
9312         * libnm-util/nm-connection.c: Ditto.
9313
9314         * src/NetworkManagerMain.h: Remove, it's finally empty.
9315
9316         * configure.in: Remove utils/ from build.
9317
9318         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9319         of hard-coded strings.
9320
9321         * utils/: Move it over to libnm-util.
9322
9323         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9324
9325         * dispatcher-daemon/Makefile.am: Ditto.
9326
9327         * src/Makefile.am: Ditto.
9328
9329 2007-09-12  Dan Williams  <dcbw@redhat.com>
9330
9331         Wireless connections can be made with config data from the applet now.
9332         
9333         Yay.
9334
9335         * src/supplicant-manager/nm-supplicant-config.h
9336           src/supplicant-manager/nm-supplicant-config.c
9337                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9338                 - (nm_supplicant_config_add_setting_wireless,
9339                    nm_supplicant_config_add_setting_wireless_security): new functions;
9340                         add key/value pairs from the settings objects to the supplicant
9341                         config
9342
9343         * src/nm-device-802-11-wireless.c
9344                 - (cull_scan_list): fix check to not prune currently associated AP
9345                 - (build_supplicant_config, real_act_stage2_config): call the functions
9346                         of the NMSupplicantConfig that parse settings objects rather than
9347                         doing it manually here
9348
9349 2007-09-12  Dan Williams  <dcbw@redhat.com>
9350
9351         * src/supplicant-manager/nm-supplicant-interface.c
9352           src/supplicant-manager/nm-supplicant-marshal.list
9353                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9354                         "connection-error" signal arguments should be STRING not CHAR
9355
9356 2007-09-12  Dan Williams  <dcbw@redhat.com>
9357
9358         * src/NetworkManagerUtils.c
9359           src/NetworkManagerUtils.h
9360                 - (nm_utils_hexstr2bin): new function
9361
9362 2007-09-11  Dan Williams  <dcbw@redhat.com>
9363
9364         * src/nm-manager.c
9365                 - (connection_get_settings_cb): emit connection-added signal
9366                 - (connection_removed_cb): uncomment bits for system settings service,
9367                         send connection-removed when appropriate
9368                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9369                         the stack by trying to g_object_set_data() on something that's
9370                         not a GObject; handle case where settings service returns
9371                         empty settings hash table
9372
9373 2007-09-11  Dan Williams  <dcbw@redhat.com>
9374
9375         * src/NetworkManagerPolicy.c
9376                 - (connection_added, connection_removed): trigger device change checks
9377                         on connection changes
9378
9379 2007-09-11  Dan Williams  <dcbw@redhat.com>
9380
9381         * src/nm-activation-request.c
9382                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9383
9384 2007-09-11  Dan Williams  <dcbw@redhat.com>
9385
9386         * src/nm-device-802-11-wireless.c
9387                 - (real_connection_secrets_updated): fix erroneous check
9388
9389 2007-09-11  Dan Williams  <dcbw@redhat.com>
9390
9391         * introspection/nm-device.xml
9392           libnm-glib/nm-device.c
9393           libnm-glib/nm-device.c
9394                 - Fix Activate call argument borkage; Activate takes 3 arguments
9395
9396 2007-09-11  Dan Williams  <dcbw@redhat.com>
9397
9398         * libnm-glib/nm-access-point.c
9399           libnm-glib/nm-access-point.c
9400                 - (nm_access_point_get_frequency): now returns guint32 to match
9401                         property change on 2007-09-10
9402
9403 2007-09-11  Dan Williams  <dcbw@redhat.com>
9404
9405         * src/nm-device-802-11-wireless.c
9406                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9407                         somewhere defines 'index' and I missed this one when I fixed the
9408                         shadow declaration errors earlier
9409
9410 2007-09-11  Dan Williams  <dcbw@redhat.com>
9411
9412         * libnm-util/nm-connection.c
9413                 - (nm_connection_update_secrets, need_secrets_check): move
9414                         802-11-wireless-security need_secrets checks to the setting object
9415                         itself, where it belongs
9416
9417         * libnm-util/nm-setting.c
9418           libnm-util/nm-setting.h
9419                 - (nm_setting_need_secrets): new function
9420                 - (setting_wireless_security_verify,
9421                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9422                 - (setting_wireless_security_need_secrets): mostly copy code over
9423                         from nm-connection.c
9424
9425 2007-09-11  Dan Williams  <dcbw@redhat.com>
9426
9427         * libnm-util/nm-setting.c
9428           libnm-util/nm-setting.h
9429                 - (nm_setting_update_secrets): new function; add a virtual function that
9430                         subclasses can implement to update their secrets
9431                 - (setting_wireless_security_update_secrets): implement that function
9432                         for the 802-11-wireless-security subclass
9433
9434         * libnm-util/nm-connection.c
9435           libnm-util/nm-connection.h
9436                 - (nm_connection_update_secrets): update secrets for a Setting and
9437                         emit a signal on success
9438
9439         * src/nm-manager.c
9440           src/nm-manager.h
9441           src/nm-marshal.list
9442                 - (connection_get_settings_cb): enable system settings bits
9443                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9444                         to request secrets from the settings dbus service and to
9445                         push those secrets to the NMConnection itself
9446
9447         * src/nm-activation-request.c
9448           src/nm-activation-request.h
9449                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9450                         currently being activated, and proxy that signal to other listeners.
9451                         Goes through the activation request because the activation request
9452                         is the thing that manages the lifetime of the NMConnection that's
9453                         being activated.
9454
9455         * src/nm-device-802-11-wireless.c
9456                 - (real_connection_secrets_updated): implement the connection secrets
9457                         updated notification and restart activation when secrets are
9458                         received
9459                 - (real_act_stage2_config): request secrets from the settings dbus
9460                         service if secrets are needed
9461
9462         * src/nm-device.c
9463           src/nm-device.h
9464                 - (clear_act_request, nm_device_activation_cancel,
9465                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9466                         where the activation request is cleared
9467                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9468                         updated secrets signal of activation request and add a function
9469                         that subclasses can override to handle it easily
9470
9471 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9472
9473         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9474         removal of NetworkManagerAPList.
9475
9476 2007-09-10  Dan Williams  <dcbw@redhat.com>
9477
9478         * src/NetworkManagerAP.c
9479           src/NetworkManagerAP.h
9480           introspection/nm-access-point.xml
9481                 - Change 'freq' property to a guint32 instead of a double since we
9482                         weren't using the floating point bits anyway
9483
9484 2007-09-10  Dan Williams  <dcbw@redhat.com>
9485
9486         * NetworkManagerAP.c
9487           NetworkManagerAP.h
9488           NetworkManagerPolicy.c
9489           NetworkManagerSystem.c
9490           NetworkManagerUtils.c
9491           NetworkManagerUtils.h
9492           nm-device-802-11-wireless.c
9493           nm-device-802-3-ethernet.c
9494           nm-hal-manager.c
9495           nm-manager.c
9496           vpn-manager/nm-dbus-vpn.c
9497                 - Warning fixes; casts and removal of unused variables
9498
9499 2007-09-10  Dan Williams  <dcbw@redhat.com>
9500
9501         * include/NetworkManager.h
9502                 - Kill NMNetworkType; AP types don't matter any more
9503
9504         * src/NetworkManagerAPList.c
9505           src/NetworkManagerAPList.h
9506           src/Makefile.am
9507                 - Kill; NMAccessPointList has outlived it's usefulness
9508
9509         * src/NetworkManagerAP.c
9510           src/NetworkManagerAP.h
9511                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9512                         functions; check if an NMConnection object is compatible with the
9513                         settings of this AP
9514                 - (freq_to_channel, channel_to_freq): utility functions for
9515                         channel <-> frequency conversion
9516
9517         * src/nm-device.c
9518           src/nm-device.h
9519                 - (nm_device_get_best_connection): pass the specific object around
9520                          (which might be the object path of a specific AP to connect to).
9521                          The get_best_connection() call should populate this on return
9522                          if needed (wireless does).
9523
9524         * src/nm-device-802-3-ethernet.c
9525                 - (real_get_best_connection): handle specific_object argument
9526
9527         * src/NetworkManager.c
9528           src/NetworkManagerMain.h
9529                 - Remove unused includes
9530
9531         * src/nm-device-802-11-wireless.c
9532           src/nm-device-802-11-wireless.h
9533                 - Convert the ap_list into a GSList from an NMAccessPointList
9534                 - No need for caching the 'activation_ap' since this is now determined
9535                         from the specific_object of the activation request, which is
9536                         populated from the get_best_connection() call or from a user request
9537                 - (nm_device_802_11_wireless_update_bssid): fix warning
9538                 - (get_wireless_capabilities): fix error message format arguments
9539                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9540                 - (find_best_connection, real_get_best_connection): implement
9541                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9542                         move here from NetworkManagerAPList
9543                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9544                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9545                         already verified earlier
9546                 - (real_act_stage2_config): use nm_connection_need_secrets()
9547
9548         * src/NetworkManagerPolicy.c
9549                 - (nm_policy_auto_get_best_device): handle specific objects
9550                 - (create_connection): remove; automatic connection creation functionality
9551                         is handled by the Connection objects
9552                 - (nm_policy_device_change_check): handle specific_object
9553
9554         * libnm-util/nm-connection.c
9555                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9556
9557 2007-09-10  Dan Williams  <dcbw@redhat.com>
9558
9559         * src/nm-manager.c
9560                 - (query_connections): fix uninitialized variable problem that caused
9561                         segfault
9562                 - (nm_manager_add_device): take devices down on startup so that we can
9563                         be assured that nm_device_is_up() won't short-circuit the init
9564                         process.  Hack until the is_up check gets split into two pieces
9565                         that aren't behaviorally confusing.
9566
9567 2007-09-09  Dan Williams  <dcbw@redhat.com>
9568
9569         * introspection/nm-device.xml
9570                 - The 'Activate' method now takes 3 arguments, a service name for the
9571                 settings service (user or system), the object path of the connection
9572                 to activate, and the specific object to activate, if any
9573
9574         * src/nm-device-interface.c
9575                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9576                 Add error bits
9577                 - (impl_device_activate): adapt to new Activate arguments; validate
9578                 the service name and get the Connection object from the NMManager
9579                 before starting to activate the device with the specified connection
9580
9581         * src/nm-device-802-3-ethernet.c
9582                 - (real_get_best_connection): find the best connection, or create a
9583                 default one if no existing connections can be used
9584
9585         * src/NetworkManagerPolicy.c
9586                 - (nm_policy_auto_get_best_device): Get the device's best connection
9587                 and only pick the device if it has one
9588                 - (nm_policy_device_change_check): disable wireless bits for now until
9589                 wireless get_best_connection() can be implemented (replacing "best_ap");
9590                 don't create a default connection here as the device subclass will do
9591                 that if needed
9592
9593         * src/nm-manager.h
9594           src/nm-manager.c
9595                 - (nm_manager_get): make NMManager a singleton and expose the getter
9596                 internally
9597                 - Rework internal NMManager connection handling to use the same
9598                 routines for both the system and user settings services.  Most calls
9599                 take a new NMConnectionType argument specifying either system or user
9600                 connections
9601                 - (nm_manager_get_connection_by_object_path): new function; get a
9602                 connection keyed on its object path
9603
9604         * src/NetworkManager.c
9605                 - (main): use nm_manager_get()
9606
9607 2007-09-09  Dan Williams  <dcbw@redhat.com>
9608
9609         * src/nm-device.h
9610           src/nm-device.c
9611                 - (nm_device_get_best_connection): new function; get best connection
9612                         for the device at that time
9613
9614 2007-09-09  Dan Williams  <dcbw@redhat.com>
9615
9616         * src/nm-device-interface.h
9617                 - Add NMDeviceInterfaceError with an UnknownConnection error
9618
9619 2007-09-09  Dan Williams  <dcbw@redhat.com>
9620
9621         Stupid mistake on my part; object path and interface for settings service
9622         and connection objects can be the same, only the service name must be
9623         different for the system and user settings services.
9624
9625         * include/NetworkManager.h
9626           src/nm-manager.c
9627           introspection/nm-settings-connection.xml
9628           introspection/nm-settings.xml
9629           libnm-glib/nm-settings.c
9630                 - (nm_connection_settings_init, query_user_connections,
9631                    new_connection_cb): Unify NetworkManagerSettings and Connection
9632                    interface name and object path
9633
9634 2007-09-06  Dan Williams  <dcbw@redhat.com>
9635
9636         * libnm-glib/nm-object.c
9637                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9638                    nm_object_get_int_property, nm_object_get_uint_property,
9639                    nm_object_get_boolean_property, nm_object_get_byte_property,
9640                    nm_object_get_double_property, nm_object_get_byte_array_property):
9641                         clear GValues after copying their contents, fixes memory leaks
9642                         after every property access because dbus-glib copies the values
9643                         from the DBusMessage into the GValue already.
9644
9645 2007-09-06  Dan Williams  <dcbw@redhat.com>
9646
9647         * introspection/nm-access-point.xml
9648                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9649                         them to be.  There's some magic property name parsing going on in
9650                         dbus-glib that breaks up property names based on studly-caps and
9651                         puts - between words.
9652
9653         * libnm-glib/nm-access-point.c
9654                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9655                         Fix property names
9656
9657 2007-09-06  Dan Williams  <dcbw@redhat.com>
9658
9659         * src/nm-manager.c
9660                 - (nm_manager_user_connections_destroy): clear the user connections hash
9661                         table, don't destroy it
9662                 - (finalize): only destroy the hash table on NMManager finalization
9663
9664 2007-09-02  Dan Williams  <dcbw@redhat.com>
9665
9666         * include/NetworkManager.h
9667           libnm-glib/nm-settings.c
9668                 - defines for the user settings daemon D-Bus bits
9669
9670         * src/NetworkManager.c
9671                 - Remove stuff that referred to the old NetworkManagerInfo service
9672
9673         * src/vpn-manager/nm-dbus-vpn.h
9674                 - Move old NMI defines to the only place they are used still
9675
9676         * libnm-util/nm-connection.c
9677           libnm-util/nm-connection.h
9678           src/nm-activation-request.c
9679                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9680
9681         * src/nm-manager.c
9682           src/nm-manager.h
9683                 - Get connections and their settings from the user settings daemon
9684                         at the appropriate times
9685
9686 2007-09-02  Dan Williams  <dcbw@redhat.com>
9687
9688         * libnm-util/nm-setting.c
9689                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9690                 - (setting_wireless_hash): set the right value on the item
9691
9692 2007-09-02  Dan Williams  <dcbw@redhat.com>
9693
9694         * test/Makefile.am
9695           test/nminfotest.c
9696                 - Remove, no longer useful
9697
9698 2007-08-30  Dan Williams  <dcbw@redhat.com>
9699
9700         * src/Makefile.am
9701           src/NetworkManagerDbus.c
9702           src/NetworkManagerDbus.h
9703           src/vpn-manager/nm-dbus-vpn.c
9704                 - Remove, no longer necessary.  Move last bits to the only place its
9705                 used, in nm-dbus-vpn.c
9706
9707         * src/NetworkManagerAPList.c
9708           src/nm-device.c
9709           src/NetworkManager.c
9710           src/nm-device-802-11-wireless.c
9711           src/vpn-manager/nm-vpn-manager.c
9712           src/vpn-manager/nm-vpn-service.c
9713           src/NetworkManagerPolicy.c
9714           src/nm-manager.c
9715                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9716                 that was message_is_error()
9717
9718 2007-08-30  Dan Williams  <dcbw@redhat.com>
9719
9720         * libnm-util/sha1.c
9721                 - Include config.h to get defines for endiannes (gnome.org #420216)
9722
9723 2007-08-30  Dan Williams  <dcbw@redhat.com>
9724
9725         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9726
9727         * src/ppp-manager/Makefile.am
9728                 - use -fPIC (gnome.org #471825)
9729
9730 2007-08-29  Dan Williams  <dcbw@redhat.com>
9731
9732         * include/NetworkManager.h
9733                 - Keep NMConnection object path in sync
9734
9735         * libnm-glib/nm-settings.c
9736           libnm-glib/nm-settings.h
9737                 - Break D-Bus object registration out of the init function, because
9738                 every object that's exported over D-Bus needs to use the _same_
9739                 DBusConnection.  Otherwise, each object would get a different object
9740                 path tree and wouldn't be callable.
9741
9742 2007-08-29  Dan Williams  <dcbw@redhat.com>
9743
9744         * libnm-util/nm-setting.h
9745           libnm-util/nm-setting.c
9746           libnm-util/nm-connection.c
9747           src/NetworkManagerPolicy.c
9748                 - 'info' settings object should be 'connection' says the spec
9749                 at NetworkManagerConfigurationSpecification
9750
9751 2007-08-29  Dan Williams  <dcbw@redhat.com>
9752
9753         * libnm-glib/nm-settings.c
9754           libnm-glib/nm-settings.h
9755                 - make the dbus path a property of the object, and autogenerate it.
9756                 It can't be composed of the 'id' field becuase that's not available
9757                 yet during the GObject creation in nm_connection_settings_init()
9758
9759 2007-08-29  Dan Williams  <dcbw@redhat.com>
9760
9761         * introspection/nm-settings-connection.xml
9762           introspection/nm-settings.xml
9763                 - Service name -> NetworkManagerUserSettings because two services
9764                 can't share part of the same path.  I'm not really sure how we'll use
9765                 the same code with the system-settings daemon...
9766
9767 2007-08-28  Dan Williams  <dcbw@redhat.com>
9768
9769         * src/nm-device-interface.c
9770           src/nm-device-interface.h
9771                 - Kill one more bit of NMData
9772
9773 2007-08-28  Dan Williams  <dcbw@redhat.com>
9774
9775         * src/NetworkManagerSystem.h
9776           src/nm-device.c
9777           src/nm-device.h
9778           src/nm-hal-manager.c
9779           src/NetworkManager.c
9780           src/nm-device-802-11-wireless.c
9781           src/nm-hal-manager.h
9782           src/nm-device-802-3-ethernet.c
9783           src/vpn-manager/nm-vpn-service.h
9784           src/vpn-manager/nm-vpn-manager.c
9785           src/vpn-manager/nm-vpn-manager.h
9786           src/vpn-manager/nm-vpn-service.c
9787           src/nm-device-802-11-wireless.h
9788           src/NetworkManagerMain.h
9789           src/nm-device-802-3-ethernet.h
9790           src/backends/NetworkManagerGentoo.c
9791           src/backends/NetworkManagerPaldo.c
9792           src/backends/NetworkManagerFrugalware.c
9793           src/backends/NetworkManagerRedHat.c
9794           src/backends/NetworkManagerSlackware.c
9795           src/backends/NetworkManagerGeneric.c
9796           src/backends/NetworkManagerArch.c
9797           src/backends/NetworkManagerSuSE.c
9798           src/backends/NetworkManagerGeneric.h
9799           src/backends/NetworkManagerDebian.c
9800                 - Kill NMData
9801
9802 2007-08-28  Dan Williams  <dcbw@redhat.com>
9803
9804         * src/NetworkManagerMain.h
9805           src/nm-device-802-11-wireless.c
9806           src/NetworkManager.c
9807                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9808                 for now we should set the 'invalid' property on individual APs, and when
9809                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9810                 that ESS
9811
9812 2007-08-28  Dan Williams  <dcbw@redhat.com>
9813
9814         * src/NetworkManagerAP.c
9815           src/NetworkManagerAP.h
9816                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9817                         'autoconnect' property instead
9818
9819         * src/NetworkManager.c
9820           src/NetworkManagerMain.h
9821           src/NetworkManagerPolicy.c
9822           src/NetworkManagerPolicy.h
9823                 - Remove the 'allowed_ap_list', which should be replaced by 
9824                         NMConnection/NMSettings instead, since _those_ are the allowed
9825                         things that NM can connect to
9826
9827         * src/nm-device-802-11-wireless.c
9828                 - Remove both allowed_ap_list usage and 'fallback' checking
9829
9830 2007-08-28  Dan Williams  <dcbw@redhat.com>
9831
9832         * src/nm-device.c
9833           src/named-manager/nm-named-manager.c
9834           src/named-manager/nm-named-manager.h
9835           src/NetworkManager.c
9836           src/vpn-manager/nm-vpn-manager.c
9837           src/NetworkManagerMain.h
9838           src/NetworkManagerSystem.c
9839                 - Remove the named-manager object from NMData structure in preparation
9840                 for NMData's timely death.  Make the NMNamedManager the singleton that
9841                 it really is
9842
9843 2007-08-28  Dan Williams  <dcbw@redhat.com>
9844
9845         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9846         each AP's capabilities, and by NMConnection/NMSettings objects for user
9847         defined connections.
9848
9849         * include/NetworkManager.h
9850                 - Redefine 802.11 security properties.  There are now device capabilities
9851                         and AP flags and AP security flags.  It was way to unclear before.
9852
9853         * src/Makefile.am
9854           src/nm-ap-security-leap.h
9855           src/nm-ap-security-leap.c
9856           src/nm-ap-security-wpa-eap.c
9857           src/nm-ap-security-wpa-eap.h
9858           src/nm-ap-security-private.h
9859           src/nm-ap-security-wpa-psk.c
9860           src/nm-ap-security-wpa-psk.h
9861           src/nm-ap-security-wep.c
9862           src/nm-ap-security-wep.h
9863           src/nm-ap-security.c
9864           src/nm-ap-security.h
9865                 - Removed, to be replaced with NMConnection/NMSettings objects
9866
9867         * src/nm-dbus-nmi.c
9868           src/nm-dbus-nmi.h
9869                 - Removed, to be replaced by code that talks to the new info daemon
9870                         interface and gets NMConnection/NMSettings objects
9871
9872         * src/backends/NetworkManagerSuSE.c
9873                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9874                         info-daemon that does the same thing but talks the new info-daemon
9875                         D-Bus interface
9876
9877         * src/NetworkManagerAP.h
9878           src/NetworkManagerAP.c
9879           src/NetworkManagerAPList.c
9880           libnm-glib/libnm-glib-test.c
9881                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9882                         WPA/RSN
9883
9884         * libnm-glib/nm-access-point.c
9885           libnm-glib/nm-access-point.h
9886           introspection/nm-access-point.xml
9887           test/nm-tool.c
9888                 - Adjust to new flags for AP security
9889
9890         * utils/nm-utils.c
9891           utils/nm-utils.h
9892           src/vpn-manager/nm-dbus-vpn.c
9893                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9894                         stuff which is the only place it's used
9895
9896         * src/nm-device-interface.c
9897           src/nm-device-interface.h
9898           introspection/nm-device.xml
9899           src/nm-activation-request.c
9900           src/nm-activation-request.h
9901           src/nm-device.c
9902                 - Add a new 'specific_object' argument that hints to NM what actual
9903                         AP or other device-specific thing the connection should apply to.
9904                         NMConnection objects can apply to more than one actual device/AP.
9905
9906         * libnm-util/nm-connection.c
9907         * libnm-util/nm-connection.h
9908                 - Add 'have_secrets" call stubs
9909
9910         * libnm-util/cipher.h
9911                 - Move NM_AUTH_TYPE_* defines here for now
9912
9913         * src/nm-device-802-11-wireless.c
9914                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9915                         NMSettings objects
9916
9917         * src/NetworkManagerDbus.c
9918         * src/NetworkManagerPolicy.c
9919                 - Remove usage of update_allowed_networks, should be pushing data in
9920                         a different manner
9921
9922 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9923
9924         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9925         dbus-glib frees it when the call is done.
9926
9927 2007-08-26  Dan Williams  <dcbw@redhat.com>
9928
9929         * introspection/nm-device.xml
9930                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9931
9932 2007-08-26  Dan Williams  <dcbw@redhat.com>
9933
9934         * src/nm-device-802-3-ethernet.c
9935                 - (constructor): move connection of interface-connected/disconnected
9936                         signals here from real_bring_up().  Should be listening to netlink
9937                         for carrier events no matter what the initial state of the device
9938                         is.
9939
9940 2007-08-26  Dan Williams  <dcbw@redhat.com>
9941
9942         * src/nm-netlink-monitor.c
9943                 - (nm_netlink_monitor_class_init): fix marshalling types for
9944                         interface-connected/interface-disconnected
9945                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9946                         check
9947
9948 2007-08-26  Dan Williams  <dcbw@redhat.com>
9949
9950         Convert to using interface indexes as the primary method of identifying
9951         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9952         be renamed at any time.  Device object paths now refer to the device
9953         index rather than the name, and you can map those two manually if you like
9954         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9955         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9956         to use interface indexes rather than names.
9957
9958 2007-08-26  Dan Williams  <dcbw@redhat.com>
9959
9960         * src/nm-netlink-monitor.h
9961                 - Remove one last bit of wireless-event signal
9962
9963 2007-08-26  Dan Williams  <dcbw@redhat.com>
9964
9965         * src/nm-netlink-monitor.c
9966                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9967                         don't need the 'wireless-event' signal anymore since that's all
9968                         handled by wpa_supplicant
9969
9970 2007-08-25  Dan Williams  <dcbw@redhat.com>
9971
9972         It's 2007. Remove support for drivers that don't support wireless scanning.
9973
9974         * test/nm-tool.c
9975           include/NetworkManager.h
9976           src/NetworkManagerUtils.c
9977           src/NetworkManagerPolicy.c
9978           src/nm-device-802-11-wireless.c
9979                 - Remove special handling for non-scanning devices and mark them
9980                         as unsupported/unhandled
9981
9982 2007-08-20  Dan Williams  <dcbw@redhat.com>
9983
9984         * src/nm-device-802-11-wireless.c
9985           src/nm-device-802-3-ethernet.c
9986                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9987                         because when the card is pulled or the module removed, the device
9988                         is already !IFF_UP and then device-specific cleanup (removing
9989                         the supplicant interface, periodic checks, etc) never gets done
9990
9991 2007-08-20  Dan Williams  <dcbw@redhat.com>
9992
9993         * src/nm-manager.c
9994                 - (nm_manager_remove_device): bring device down before disconnecting
9995                         signal handlers, so that the 'state' signal will get broadcast when
9996                         the device enters the DOWN state
9997                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9998                         of states that cause the NMManager to recheck its state
9999
10000 2007-08-20  Dan Williams  <dcbw@redhat.com>
10001
10002         * src/supplicant-manager/nm-supplicant-interface.c
10003                 - (interface_disconnect_done): don't try to dispose of the net proxy
10004                         when it may already have been disposed of
10005
10006 2007-08-20  Dan Williams  <dcbw@redhat.com>
10007
10008         * src/nm-device-802-11-wireless.c
10009                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
10010                         the SSID isn't available; this can happen when the card is pulled
10011                         or the module unloaded, during the post-removal deactivation
10012                         paths, when the ioctl returns ENODEV
10013
10014 2007-08-20  Dan Williams  <dcbw@redhat.com>
10015
10016         * src/nm-device-802-11-wireless.c
10017                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
10018                         frequency, and mode match.  Applets are now responsible for grouping
10019                         access points
10020
10021 2007-08-20  Dan Williams  <dcbw@redhat.com>
10022
10023         * src/NetworkManagerAP.c
10024         * src/NetworkManagerAP.h
10025                 - (nm_ap_print_self): new function
10026
10027         * src/NetworkManagerAPList.c
10028                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
10029                         to do it all here
10030         
10031 2007-08-17  Dan Williams  <dcbw@redhat.com>
10032
10033         * src/nm-device-802-3-ethernet.c
10034                 - (real_bring_down): don't try to dispose of stuff that might not
10035                         exist
10036
10037 2007-08-17  Dan Williams  <dcbw@redhat.com>
10038
10039         * src/NetworkManagerAP.c
10040                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
10041                         applet.  This ensures that the case between the seen-bssids and
10042                         the bssids reported by the driver match.
10043
10044 2007-08-17  Dan Williams  <dcbw@redhat.com>
10045
10046         * src/nm-device-802-11-wireless.c
10047                 - (device_cleanup): disconnect the interface in wpa_supplicant before
10048                         we dispose of the interface proxy in NM
10049
10050 2007-08-16  Dan Williams  <dcbw@redhat.com>
10051
10052         * libnm-glib/nm-client.c
10053                 - (nm_client_init): create VPN connections hash table with key free
10054                         function
10055                 - (proxy_vpn_connection_added): VPN connections hash table key should
10056                         be a duplicated value, not the same memory address as the VPN
10057                         connection name.  This is because the VPN connection name could
10058                         potentially be freed and set to something else during the lifetime
10059                         of the NMVPNConnection object.
10060
10061 2007-08-16  Tambet Ingo  <tambet@gmail.com>
10062
10063         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
10064         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
10065         with the file descriptors. Send a child setup function to change the pppd
10066         progress group.
10067
10068 2007-08-15  Dan Williams  <dcbw@redhat.com>
10069
10070         * src/supplicant-manager/nm-supplicant-interface.c
10071                 - (try_remove_iface): new function, ask wpa_supplicant to remove
10072                         an interface
10073                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
10074                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
10075                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10076                         the interface internally
10077
10078 2007-08-15  Dan Williams  <dcbw@redhat.com>
10079
10080         * src/nm-device-802-11-wireless.c
10081                 - (real_bring_down): move most of this function into device_cleanup()
10082                         so that it can be called from elsewhere
10083                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10084                         and stuff on dispose.  These would normally get cleaned up when
10085                         the device is marked down and deactivated, but when the device is
10086                         hot-unplugged, it's already down and real_down() never gets run
10087
10088 2007-08-15  Dan Williams  <dcbw@redhat.com>
10089
10090         * src/nm-dbus-nmi.c
10091                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10092                         caused a reference leak on device for which NM requested a key
10093
10094 2007-08-15  Dan Williams  <dcbw@redhat.com>
10095
10096         * libnm-glib/nm-client.c
10097                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10098
10099 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10100
10101         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10102         nothing is using it at the moment, but it'll be all useful and stuff later on.
10103
10104         * libnm-util/nm-setting.h: Define NMSettingPPP.
10105
10106         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10107
10108         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10109
10110         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10111
10112         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10113
10114         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10115
10116 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10117
10118         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10119
10120         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10121         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10122         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10123         name and different arguments and it won't compile anymore. To fix this, we now have
10124         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10125         that is new API + compatibility API and used by the daemon. The other, 
10126         nm-manager-client.xml is only the new API without compatibility bits and is used
10127         by libnm-glib to make it compile.
10128
10129         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10130
10131         * src/nm-manager.c (impl_manager_legacy_sleep)
10132         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10133         interface functions for 0.6 branch.
10134
10135 2007-08-14  Dan Williams  <dcbw@redhat.com>
10136
10137         * src/NetworkManagerAP.c
10138                 - (nm_ap_new_from_properties): fix mistaken check of return value
10139                         from memcmp (should expect 0)
10140
10141 2007-08-14  Dan Williams  <dcbw@redhat.com>
10142
10143         (force-commit to fix wrong comment and partial commit of r2685; this
10144          commit actually applies to r2685)
10145
10146         * src/NetworkManagerUtils.c
10147                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10148                         ignores trailing nulls in the SSID to work around mismatches in
10149                         expectations between WEXT and what the info-daemon passes back.  The
10150                         info-daemon would pass back the correct length, but due to the
10151                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10152                         the device would always have an SSID + 1 depending on what versions
10153                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10154                         visible by just quitting the applet and relaunching, which caused
10155                         NM to reassociated to the same network over again when reloading
10156                         the save networks.
10157
10158         * src/NetworkManagerPolicy.c
10159           src/NetworkManagerUtils.h
10160           src/nm-device-802-11-wireless.c
10161                 - Update for new parameter to nm_utils_same_ssid()
10162
10163 2007-08-14  Dan Williams  <dcbw@redhat.com>
10164
10165         * src/NetworkManagerAP.c
10166                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10167                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10168                         setting the BSSID to all 0s.  That confused the heck out of NM,
10169                         plus it's useless and probably out-of-spec.
10170
10171 2007-08-14  Dan Williams  <dcbw@redhat.com>
10172
10173         * callouts/Makefile.am
10174           src/dhcp-manager/nm-dhcp-manager.c
10175           src/dhcp-manager/nm-dhcp-manager.h
10176           src/dhcp-manager/Makefile.am
10177                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10178
10179 2007-08-14  Dan Williams  <dcbw@redhat.com>
10180
10181         * src/dhcp-manager/nm-dhcp-manager.c
10182                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10183                         it's really needed, get rid of unused xtra_args parameter
10184
10185 2007-08-14  Dan Williams  <dcbw@redhat.com>
10186
10187         * include/NetworkManagerVPN.h
10188           src/vpn-manager/nm-dbus-vpn.c
10189           src/vpn-manager/nm-dbus-vpn.h
10190           src/vpn-manager/nm-vpn-act-request.c
10191           src/vpn-manager/nm-vpn-act-request.h
10192           src/vpn-manager/nm-vpn-service.c
10193           src/vpn-manager/nm-vpn-service.h
10194           libnm-glib/nm-vpn-connection.c
10195           libnm-glib/nm-vpn-connection.h
10196           libnm-glib/nm-client.h
10197                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10198                         NMVPNServiceState to clarify what they apply to
10199                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10200                         NMVPNActStage -> NMVPNConnectionState for the same reason
10201
10202         * libnm-glib/nm-client.c
10203                 - Constant + type renames from above
10204                 - Properly handle NameOwnerChanged/manager_running signals
10205                         for NM service; only emit when state really changes
10206                 - Use hash tables correctly so that the key (which was previously owned
10207                         by the D-Bus message) now has the same lifetime as the value, since
10208                         the key is now taken from the the NMVPNConnection itself.  This
10209                         really fixes the double-VPN names in the applet
10210
10211 2007-08-13  Dan Williams  <dcbw@redhat.com>
10212
10213         Patch from Michael Biebl <biebl@debian.org>
10214
10215         * po/POTFILES.in
10216           po/POTFILES.skip
10217                 - Update for vpn-properties move
10218
10219 2007-08-13  Dan Williams  <dcbw@redhat.com>
10220
10221         * libnm-glib/nm-client.c
10222                 - Convert internal VPN connection tracking from a list to a hash table
10223                         to easily avoid duplicates
10224                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10225                         must be freed by the caller, like nm_client_get_devices()
10226                 - (nm_client_remove_vpn_connection): don't let the removal signal
10227                         leak through for NMVPNConnection objects that aren't actually
10228                         tracked.
10229                 - (manager_running): throw away VPN connection list when NM goes away,
10230                         like with the device list
10231
10232 2007-08-13  Dan Williams  <dcbw@redhat.com>
10233
10234         * src/dhcp-manager/nm-dhcp-manager.c
10235                 - Stop any dhclient instance that might be already running for a
10236                         particular interface before starting an NM spawned dhclient.  Fixes
10237                         dhclient processes left over if NM crashes, stuff like that.
10238
10239 2007-08-13  Dan Williams  <dcbw@redhat.com>
10240
10241         * src/NetworkManagerAP.c
10242                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10243                         when the AP wasn't broadcasting it's SSID
10244
10245 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10246
10247         * include/NetworkManager.h: added DBus path for connection settings.
10248
10249         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10250         nm_connection_settings_signal_updated,
10251         nm_connection_settings_signal_removed): new functions to wrap the
10252         objects' signals.
10253         (nm_connection_settings_init): register GObject with DBus.
10254         (nm_connection_settings_get_dbus_object_path): new function.
10255
10256         * libnm-glib/Makefile.am: added libnmutil to link flags.
10257
10258 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10259
10260         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10261
10262         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10263         libnm_glib directory got merged with libnm-glib/.
10264
10265         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10266
10267         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10268         Rename the library from libnm-glib to libnm_glib to maintain the library API
10269         compatibility with 0.6 branch.
10270
10271         * Makefile.am: Remove gnome/ SUBDIR.
10272
10273         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10274
10275         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10276
10277         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10278
10279         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10280         anymore.
10281         Remove checks for wpa_supplicant binary, it's used over dbus.
10282         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10283
10284         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10285         Link the binaries with libnm_glib.la.
10286
10287 2007-08-12  Dan Williams  <dcbw@redhat.com>
10288
10289         * src/NetworkManagerPolicy.c
10290                 - (nm_policy_device_change_check): fix policy to deactivate old device
10291                         before activating new one, at least until the multiple active
10292                         device support lands
10293
10294 2007-08-12  Dan Williams  <dcbw@redhat.com>
10295
10296         * src/NetworkManagerPolicy.c
10297                 - (nm_policy_new): hook up to connection-added / connection-removed
10298                         signals instead of connections-changed
10299
10300 2007-08-12  Dan Williams  <dcbw@redhat.com>
10301
10302         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10303         Robert Frank <rfrank@redhat.com>
10304
10305         * src/dhcp-manager/nm-dhcp-manager.c
10306           src/dhcp-manager/nm-dhcp-manager.c
10307           src/nm-device.c
10308                 - Spawn and communicate with dhclient directly, through means of a
10309                 custom dhclient callout script.  Process callout D-Bus signals
10310                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10311                 sent via gobject signals rather than being driven by the dhcp manager
10312                 directly.
10313
10314 2007-08-12  Dan Williams  <dcbw@redhat.com>
10315
10316         * callouts/nm-dhcp-client-action.c
10317                 - (build_message): ignore non-DHCP-related environment variables
10318
10319 2007-08-12  Dan Williams  <dcbw@redhat.com>
10320
10321         * Makefile.am
10322           configure.in
10323           callouts/Makefile.am
10324           callouts/nm-dhcp-client-action.c
10325           callouts/nm-dhcp-client.conf
10326                 - Add dhclient-executed callout that takes the place of dhclient-script
10327                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10328                 NM then listens for
10329
10330 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10331
10332         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10333
10334         * libnm-glib/nm-client.h:
10335         * libnm-glib/nm-object.h:
10336         * libnm-glib/nm-vpn-connection.h:
10337         * libnm-glib/nm-settings.h:
10338         * libnm-glib/nm-device.h:
10339         * libnm-glib/nm-ip4-config.h:
10340         * libnm-glib/nm-access-point.h:
10341         * libnm-glib/nm-device-802-3-ethernet.h:
10342         * libnm-util/nm-setting.h: 
10343         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10344
10345         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10346
10347         * libnm-glib/nm-access-point.c: Strength has type char.
10348
10349         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10350         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10351
10352         * introspection/nm-access-point.xml: Strength property is char, not int.
10353
10354         * src/NetworkManagerAP.c (set_property): Set strength from char.
10355         (get_property): Handle hidden APs (with empty SSID).
10356         Get strength value from char.
10357         (nm_ap_class_init): Strength property has char type.
10358
10359 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10360
10361         * introspection/Makefile.am:
10362         * introspection/nm-settings.xml:
10363         * introspection/nm-settings-connection.xml: added Settings interfaces.
10364
10365         * libnm-glib/nm-settings.[ch]:
10366         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10367         containing the DBus implementation.
10368
10369 2007-07-26  Dan Williams  <dcbw@redhat.com>
10370
10371         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10372
10373         * src/NetworkManagerSystem.c
10374                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10375                         same subnet (#437396)
10376
10377 2007-07-26  Dan Williams  <dcbw@redhat.com>
10378
10379         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10380
10381         * gnome/vpn-properties/nm-vpn-properties.c
10382                 - Fix translatable strings (#445865)
10383
10384 2007-07-26  Dan Williams  <dcbw@redhat.com>
10385
10386         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10387
10388         * configure.in
10389                 - Remove useless junk (#412530)
10390
10391 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10392
10393         Patch from Robert Buchholz <rbu@gentoo.org>:
10394
10395         * configure.in:
10396         * Makefile.am:
10397         * introspection/Makefile.am:
10398         Make make distcheck work again.
10399
10400 2007-06-27  Dan Williams  <dcbw@redhat.com>
10401
10402         * Make SSIDs GByteArrays everywhere
10403         * Rename "essid" -> "ssid" everywhere that's appropriate
10404         * Refcount activation_ap member of the 802.11 wireless device class
10405
10406 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10407
10408         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10409
10410 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10411
10412         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10413         that we got a new AP when we just update existing AP properties.
10414
10415 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10416
10417         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10418
10419         * nm-utils.[ch]: Remove.
10420
10421         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10422         objects for easy property access and dbus connection handling.
10423
10424         * libnm-glib/nm-client.c: Derive from NMObject.
10425
10426         * libnm-glib/nm-device.c: Ditto.
10427
10428         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10429
10430         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10431
10432         * libnm-glib/nm-ip4-config.c: Ditto.
10433
10434         * libnm-glib/nm-access-point.c: Ditto.
10435
10436         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10437         comparision. Currently used by the device activation code to determine if the new
10438         activation is the same as the old one.
10439
10440         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10441         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10442         able to ask password for the AP.
10443
10444         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10445         up if the device is already connected, tear down it's connection (if it isn't the
10446         same as new one) and start the activation.
10447
10448         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10449
10450         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10451         the issue where all APs are always listed as encrypted.
10452
10453         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10454         their own registered paths.
10455
10456         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10457         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10458
10459 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10460
10461         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10462         (0 & 0 == 0, doh)
10463
10464         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10465         because the handling code will cause the next state change and signal listeners
10466         get the signals in wrong order.
10467
10468         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10469         correctly in case of pending activation.
10470
10471         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10472         Convert the essid byte array to string correctly, including the terminating NULL.
10473
10474         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10475         mode with correct types.
10476
10477         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10478         constructed info to dbus call instead of the activation request.
10479
10480 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10481
10482         Patch from Christian Persch <chpe@gnome.org>
10483
10484         * libnm-glib/Makefile.am:
10485         * dispatcher-daemon/Makefile.am:
10486         Use the correct variables, the correct paths, and correct ordering. (446315)
10487
10488 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10489
10490         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10491         argument. The activation request is easy to retrieve.
10492
10493         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10494         just to be a convenient location for devices to store random stuff.
10495
10496 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10497
10498         Patch from Alex Smith <alex@alex-smith.me.uk>
10499
10500         * src/backends/NetworkManagerFrugalware.c:
10501         Update the FrugalWare backend to fix a few segfaults. (#392642)
10502
10503 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10504
10505         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10506
10507         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10508         setting.
10509         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10510
10511 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10512
10513         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10514         automagically.
10515         Implement NMSettingIP4Config.
10516         Finish NMSettingWired by adding all known members.
10517         (setting_wired_verify): Implement.
10518         Finish NMSettingWireless by adding all known members.
10519         (setting_wireless_verify): Implement.
10520
10521         * libnm-util/nm-connection.c: Register "ipv4" setting.
10522         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10523         dump function, we can introspect the GHashTable which is used for sending connections
10524         over dbus.
10525
10526         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10527         Take GByteArray for essid, it's really not a string.
10528
10529         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10530         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10531         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10532         means overriding the values we got from DHCP.
10533         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10534         (nm_device_deactivate_quickly): Ditto.
10535
10536         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10537         for debugging.
10538
10539 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10540
10541         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10542         NMConnection.
10543
10544         * libnm-glib/nm-device-802-11-wireless.c:
10545         (nm_device_802_3_ethernet_activate): Remove.
10546
10547         * libnm-glib/nm-device-802-3-ethernet.c
10548         (nm_device_802_3_ethernet_activate): Remove.
10549
10550         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10551
10552         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10553         NMConnection.
10554
10555         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10556         activation has started.
10557         Implement the new activation using NMConnection.
10558
10559         * src/nm-activation-request.c: Store a generic connection object instead
10560         of a wireless-specific AP.
10561
10562         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10563         on device type, create a device specific connection object suitable for
10564         device activation.
10565
10566         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10567         specific check to validate the connection and on success start the
10568         activation.
10569
10570         * src/nm-device-interface.h: Add a activate virtual function to the
10571         interface definition.
10572
10573         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10574         (impl_device_activate): Implement.
10575
10576         * introspection/nm-device.xml: Add a generic device activation interface
10577         that accepts an abstract NMConnection structure that has device-specific
10578         information in it.
10579
10580         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10581         activation interface.
10582
10583         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10584         activation interface.
10585
10586         * libnm-util/nm-connection.c: 
10587         * libnm-util/nm-connection.h: 
10588         * libnm-util/nm-setting.c:
10589         * libnm-util/nm-setting.h: Add.
10590
10591         * libnm-util/Makefile.am: Build the added files.
10592
10593         * src/nm-dbus-manager.c
10594         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10595         DbusConnection argument from 'name-owner-changed' signal. The manager
10596         is already passed as a first argument to the signal and the connection
10597         is easy enough to get from it.
10598
10599         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10600         Update the signature of the function.
10601
10602         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10603         Ditto.
10604
10605         * src/NetworkManager.c: Ditto.
10606
10607         * src/named-manager/nm-named-manager.c
10608         (nm_named_manager_name_owner_changed): Ditto.
10609
10610         * src/supplicant-manager/nm-supplicant-manager.c
10611         (nm_supplicant_manager_name_owner_changed): Ditto.
10612
10613         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10614
10615         * src/dhcp-manager/nm-dhcp-manager.c
10616         (nm_dhcp_manager_name_owner_changed): Ditto.
10617
10618         * src/nm-hal-manager.c: Add a list of device detectors and creators
10619         to make it easier to add new devices. Each device type has it's own
10620         entry in the table so adding new device types is only a matter of
10621         implementing a couple of functions, one for device detection and the
10622         other for device creation.
10623
10624 2007-04-25  Dan Williams  <dcbw@redhat.com>
10625
10626         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10627                 (gnome.org #432401)
10628
10629 2007-03-30  Dan Williams  <dcbw@redhat.com>
10630
10631         * src/NetworkManagerSystem.c
10632                 - (nm_system_device_set_ip4_route): clean up and fix argument
10633                         to nm_dev_sock_open()
10634
10635 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10636
10637         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10638         data to correct types instead of always using string.
10639
10640         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10641         _not_ have NM_802_11_CAP_PROTO_NONE.
10642         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10643         is not set.
10644
10645 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10646
10647         * libnm-glib/Makefile.am: Fix the build issue.
10648
10649 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10650
10651         * libnm-glib/nm-vpn-connection.h: 
10652         * libnm-glib/nm-vpn-connection.c: Implement.
10653
10654         * libnm-glib/nm-client.c: Add VPN support.
10655
10656         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10657         handler for VPN.
10658
10659         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10660         on DBUS again.
10661
10662 2007-03-26  Dan Williams  <dcbw@redhat.com>
10663
10664         * src/NetworkManagerAPList.c
10665         * src/nm-device-802-11-wireless.c
10666         * src/NetworkManagerAP.c:
10667                 - Store last seen as glong instead of GTimeVal.
10668                 - Fix the upper bound of capabilities, it's a bitfield.
10669
10670 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10671
10672         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10673
10674         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10675         "manager-running" signal that notifies the appearance/disappearance of NM.
10676         (nm_client_sleep): Implement.
10677
10678         * libnm-glib/nm-device.c:
10679         * libnm-glib/nm-device-802-11-wireless.c: 
10680         * libnm-glib/nm-device-802-3-ethernet.c: 
10681
10682         Don't inherit from DBusGProxy, add a proxy to private
10683         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10684         for anything but their own dbus interface. DBusGProxy objects support only one
10685         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10686         interface. The nice side effect of this change is that we do not create a new
10687         DBusGProxy object for each property access.
10688
10689 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10690
10691         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10692         with zeroes before passing them to functions - the functions never do that and
10693         reading the values back may produce wrong values.
10694         (real_bring_up): Store the signal handler id ...
10695         (real_bring_down): ... So that it can be removed here.
10696         Disconnect the supplicant interface here as well.
10697         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10698         from the access point instead of old $device/Networks/$essid.
10699
10700         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10701         device state is connected (instead of just having link/carrier).
10702
10703         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10704         already easily accessible through the device.
10705
10706         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10707         store it within the object.
10708         (nm_ap_get_dbus_path): Export it to public as well.
10709
10710         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10711         of the singleton.
10712
10713 2007-03-12  Dan Williams  <dcbw@redhat.com>
10714
10715         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10716         for non-carrier-detect capable devices, and useless for carrier-detect
10717         devices since we get notifications from netlink about carrier status anyway.
10718
10719         * src/nm-device-802-3-ethernet.c
10720                 - remove 'link_source_id' member from private data
10721                 - (probe_link): remove and collapse into real_update_link()
10722                 - (nm_device_802_3_periodic_update): remove
10723                 - (real_is_up): check for sup_iface rather than link_source_id
10724                 - (real_bring_up): return gboolean for success/fail; require that
10725                         sup_iface be valid for device bringup to succeed
10726                 - (real_bring_down): zero out link signal ids
10727
10728         * src/nm-device.c
10729                 - (nm_device_activate_stage2_device_config): fail activation if device
10730                         bringup fails
10731                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10732                         fails
10733                 - (nm_device_bring_up): return success/fail
10734
10735         * src/nm-device.h
10736                 - bring_up now returns success/fail
10737
10738         * src/nm-device-802-11-wireless.c
10739                 - (real_bring_up): return success from bringup
10740
10741 2007-03-07  Dan Williams  <dcbw@redhat.com>
10742
10743         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10744         * src/nm-ap-security-wpa-psk.c
10745                 - (real_write_supplicant_config): work with PSKs that may contain
10746                         zeros in the binary format rather than treating it as a string
10747
10748 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10749
10750         * libnm-glib/nm-device-802-11-wireless.c
10751         (nm_device_802_11_wireless_get_capabilities): Implement.
10752
10753         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10754
10755         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10756
10757         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10758         reply only if it's not NULL. Not sure why this started happening right now.
10759
10760         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10761         code paths for when devices get removed on shutdown or when a device is just
10762         removed.
10763         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10764         gets freed so any signal from a device (disconnected for instance) would invoke
10765         NMState update which would crash.
10766         (nm_manager_remove_device): Bring the device down when it gets removed.
10767
10768         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10769         the unused dev_type.
10770
10771         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10772         reference to the added device, NMManager will own it (if it wants).
10773
10774         * test/nm-tool.c: Rewrite using libnm-glib.
10775
10776         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10777         We get signalled when it changes.
10778
10779         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10780         when it changes.
10781
10782         * libnm-glib/nm-device.c: Cache the device state property.
10783
10784         * libnm-glib/nm-access-point.c: Cache the strength property.
10785
10786         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10787         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10788         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10789         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10790         the device is down, activating, or activated (in case of A/B/G cards).
10791         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10792         it's all done through supplicant now.
10793
10794         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10795         counting issues with pending calls which caused leaks and crashes when
10796         interface was removed (now that the interface actually gets removed).
10797
10798         * src/nm-call-store.c: Make a copy of data before running a foreach
10799         with user callback on it - The most common usage pattern is to cancel
10800         (and thus remove) all pending calls with foreach which would modify
10801         the hash table we're iterating over.
10802
10803         * src/nm-manager.c: When a device is added, make sure it is "up". When
10804         it's removed or disabled due to disabling wireless or networking, bring
10805         it down.
10806
10807         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10808
10809         * src/nm-device-802-11-wireless.c: 
10810         * src/nm-device-802-3-ethernet.c: 
10811         * src/nm-device.c:
10812                 - Remove "init" virtual function, all gobjects have a place for that
10813                   already (constructor).
10814                 - Replace "start" virtual function with "bring_up", devices can be
10815                   brought up and down more than just on startup now.
10816                 - Add "is_up" virtual function.
10817                 - Implement one way to bring a device down instead of previous 4 different
10818                   ways, each of witch did something different.
10819
10820         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10821         all it needs is the device interface.
10822
10823         Get rid of NMData.dev_list (3 members to go).
10824         Get rif of NMData in a lot of places.
10825
10826         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10827
10828 2007-02-23  Dan Williams  <dcbw@redhat.com>
10829
10830         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10831
10832         * src/NetworkManagerAP.c
10833                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10834                         OR-ing rather than AND-ing
10835
10836 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10837
10838         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10839         "network-removed" signals.
10840
10841         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10842
10843         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10844         when receiving the signal from dbus.
10845
10846         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10847         property.
10848
10849         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10850         deactivation of the previously activated device working again.
10851
10852         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10853         and setter.
10854
10855         * src/nm-device.c (nm_device_is_activated): Remove.
10856         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10857
10858         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10859         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10860         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10861         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10862         Remove NMNetworkStatus and NMActStage enums.
10863
10864 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10865
10866         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10867         Handle device state changes and disconnect VPN if it's device deactivates.
10868
10869         * src/nm-dbus-nm.c: 
10870         * src/nm-dbus-nm.h: 
10871         * src/nm-dbus-device.c: 
10872         * src/nm-dbus-device.c: 
10873         * src/nm-dbus-net.c: 
10874         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10875
10876         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10877
10878         * src/nm-device.c (nm_device_get_by_udi):
10879         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10880         implemented in the correct location (NMManager).
10881         Rip out all the test_device stuff.
10882
10883         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10884         failure handlers, it's all done by NMDevice already.
10885
10886         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10887         Remove the iochannel hack to route the unix signals to the main thread since
10888         we're not threaded anymore.
10889
10890         * src/NetworkManagerAP.c: Implement HWAddress property.
10891
10892         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10893         automatically with dbus-glib.
10894
10895         * src/nm-netlink-monitor.c: 
10896         * src/nm-netlink-monitor.h:
10897                 - Move it low in the class hierarchy, don't reference any NM types.
10898                 - Remove private data from the header.
10899                 - Use type safe checks in public API methods.
10900                 - Make it a singleton so we don't have to pass the single reference around.
10901
10902 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10903
10904         * introspection/nm-ip4-config.xml: Implement.
10905
10906         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10907
10908         * libnm-glib/nm-ip4-config.c:
10909         * libnm-glib/nm-ip4-config.c: Implement.
10910
10911         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10912         securities. APs reference security.
10913
10914         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10915         be exported over DBUS.
10916
10917         * src/nm-device-802-3-ethernet.c: Ditto.
10918
10919         * src/NetworkManagerAP.c:
10920         * src/NetworkManagerAP.h:
10921                 - Convert to GObject, export over DBUS.
10922
10923         * src/nm-ip4-config.h:
10924         * src/nm-ip4-config.h:
10925                 - Convert to GObject, export over DBUS.
10926
10927 2007-02-12  Dan Williams  <dcbw@redhat.com>
10928
10929         Patch from Helmut Schaa <hschaa@suse.de>
10930
10931         * vpn-daemons/pptp/configure.in
10932           vpn-daemons/pptp/Makefile.am
10933           vpn-daemons/openvpn/configure.in
10934           vpn-daemons/openvpn/Makefile.am
10935           vpn-daemons/vpnc/configure.in
10936           vpn-daemons/vpnc/Makefile.am
10937                 - Add --without-gnome switch which disables building gnome bits
10938
10939 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10940
10941         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10942
10943         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10944
10945         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10946         'HwAddress'.
10947
10948         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10949
10950         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10951
10952         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10953
10954         * src/:
10955                 - Remove old low-level dbus interface implementations and replace them
10956                   with dbus-glib one.
10957
10958         * configure.in:
10959                 - Require dbus-glib >= 0.72.
10960                 - Plug in new sources to build.
10961
10962         * libnm-glib/:
10963                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10964                   to make it more convenient to use from GObject based programs.
10965
10966         * introspection/:
10967                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10968
10969 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10970
10971         * src/nm-device-802-11-wireless.c:
10972                 - Add "network-added" and "network-removed" signals.
10973                 - Use gobject boilerplate macros to define the GObject.
10974                 - Implement wireless device activation.
10975                 - Remove activation_failure_handler and activation_success_handler
10976                   and instead listen on state-changed signals and run the same code
10977                   from there.
10978
10979         * src/nm-device.c:
10980                 - Implment NMDeviceInterface::deactivate.
10981                 - Remove activation_failure_handler and activation_success_handler
10982                   virtual methods. Each device which is interested in these events
10983                   can just listen on it's state changed signals.
10984
10985         * src/NetworkManagerPolicy.c:
10986                 - Move a bit more NMData usage to NMManager.
10987                 - Remove activation scheduling bits.
10988                 - Add listeners for wireless device's "network-added" and
10989                   "network-removed" signals.
10990                 - Listen device changed signals and deactivate currently activated
10991                   device when another device start activating (for now).
10992                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10993                   for calling this, the policy code knows exactly when this should happen,
10994                   by listening on events from NMManager and NMDevices.
10995
10996         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10997         Implement.
10998
10999         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
11000         method on the specific device instead of going to through policy code
11001         and determining the device type by passed in AP's existance.
11002
11003         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
11004         abstract NMDevice deactivation.
11005
11006 2007-02-08  Tambet Ingo  <tambet@ximian.com>
11007
11008         * src/NetworkManager.c:
11009                 - Set up all the shiny new managers.
11010
11011         * src/NetworkManagerPolicy.c:
11012                 - Add the beginnings of new NMPolicy code. Instead of requireing all
11013                   classes to call into policy code, make the policy code kind of like
11014                   a supervisor that monitors what's going on and drives the whole NM.
11015
11016         * src/nm-hal-manager.c: 
11017         * src/nm-hal-manager.h:
11018                 - Collect all libhal code scattered around NM to this one class.
11019                 - Listen libhal and NMManager events and add/remove devices to
11020                   NMManager.
11021
11022         * src/nm-manager.c:
11023         * src/nm-manager.h:
11024                 - Implment a replacement for NMData. NMData is now officially
11025                 deprecated.
11026
11027 2007-02-05  Tambet Ingo  <tambet@ximian.com>
11028
11029         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
11030         * src/supplicant-manager/nm-supplicant-interface.h
11031         * src/supplicant-manager/nm-supplicant-interface.c
11032         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
11033         argument to boolean from enum.
11034
11035         Make NMDevice abstract class, remove almost all references to it's
11036         subclasses (the last place gets removed with new policy manager). Add
11037         NMDeviceInterface (which NMDevice implements) so that when we have
11038         NMDevice exported over DBUS, there's a common NMDevice interface which
11039         all instances have, plus there's a device specific interface for each
11040         specific type.
11041         Remove functions (nm_device_is_802_3_ethernet) and
11042         (nm_device_is_802_11_wireless). There are already standard GObject macros
11043         for type safe checks.
11044         Use the updated supplican manager API.
11045
11046         * src/nm-device-interface.h: 
11047         * src/nm-device-interface.c: 
11048         * src/nm-call-store.h: 
11049         * src/nm-call-store.c: Implement.
11050
11051         * src/supplicant-manager/nm-supplicant-interface.c:
11052         * src/supplicant-manager/nm-supplicant-interface.h:
11053         * src/supplicant-manager/nm-supplicant-manager.c:
11054         * src/supplicant-manager/nm-supplicant-manager.h:
11055                 - Remove all private data type references from public header files.
11056                 - Remove all references to other NM classes, this class is just a
11057                   proxy between wpa_supplicant and NM so it doesn't have to know
11058                   any internals.
11059                 - Convert to dbus-glib bindings.
11060                 - Type safe checks for public methods' arguments.
11061                 - Store pending DBUS call ids to NMCallStore.
11062
11063         * src/supplicant-manager/nm-supplicant-config.c:
11064                 - Store config values in a GHashTable instead of GSList.
11065
11066         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
11067
11068         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
11069         singleton now.
11070
11071         * src/nm-device.c: Use the new DHCP manager API.
11072
11073         * src/nm-activation-request.c:
11074         * src/nm-activation-request.h:
11075                 - Remove all dhcp related properties and methods.
11076
11077         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11078
11079         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11080
11081         * src/dhcp-manager/nm-dhcp-manager.c:
11082         * src/dhcp-manager/nm-dhcp-manager.h:
11083                 - Convert it to GObject since we need to signal state changes.
11084                 - Remove all references to other NM classes, this class is one
11085                   of the lowest classes in our hierarchy.
11086                 - One less class to use NMActRequest.
11087                 - Make it singleton, one less user of NMData.
11088                 - Remove a couple of sleep() calls.
11089                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11090                   One less class to use the NM's custom tailored signal handlig.
11091
11092         * Makefile.am: Generate marshallers, add them to build.
11093
11094 2007-02-02  Dan Williams  <dcbw@redhat.com>
11095
11096         * configure.in
11097           gnome/Makefile.am
11098           nm-applet.desktop
11099           Makefile.am
11100                 - Remove last bits referencing gnome applet
11101
11102 2007-02-02  Dan Williams  <dcbw@redhat.com>
11103
11104         * src/vpn-manager/nm-vpn-service.c
11105                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11106                         and NBNS server addresses
11107
11108 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11109
11110         * src/nm-dbus-manager.c:
11111         * src/nm-dbus-manager.h:
11112                 - Convert all internal DBUS code to use dbus-glib bindings.
11113                 - Remove GObject properties, we don't need them here.
11114                 - Don't explicitly set things to NULL after freeing, glib is
11115                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11116                 - Make public API argument checks type safe.
11117                 - Remove unnecessary (and wrong) cast to GObject for the first
11118                   argument to g_signal_* calls - The first argument is a gpointer.
11119                 - Export DBusGConnection to other cool classes that (are going to)
11120                   use dbus-glib.
11121
11122 2007-01-26  Dan Williams  <dcbw@redhat.com>
11123
11124         * libnm-util/dbus-dict-helpers.c
11125           libnm-util/dbus-dict-helpers.h
11126                 - Coordinate style with wpa_supplicant version to minimize diff
11127                 - Add uint32 array support
11128                 - (nmu_dbus_dict_append_uint32_array): new function
11129                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11130                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11131                         version; allow adding string array elements individually
11132
11133         * test/libnm-util/test-dbus-dict-helpers.c
11134                 - Test uint32 arrays
11135
11136 2007-01-27  Jürg Billeter  <j@bitron.ch>
11137
11138         * src/backends/NetworkManagerPaldo.c
11139                 - (nm_system_update_dns): clear nscd hosts cache
11140
11141 2007-01-04  Dan Williams  <dcbw@redhat.com>
11142
11143         Threading removal related cleanups:
11144
11145         - Use the glib default main context.  Remove the device main context
11146                 member from NMDevice, and the main_context member from NMData.  Change
11147                 all the idle and timeout scheduler functions to use plain
11148                 g_idle_add() and g_timeout_add().
11149
11150         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11151                 takes an argument; fix that up too.
11152
11153         - Remove all locking, which is useless since we no longer use threads.  For
11154                 example, nm_get_device_by_iface_locked() has been removed.  The global
11155                 device list lock, the AP List lock, and all static locks in
11156                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11157                 in NetworkManagerUtils.c have also been removed.
11158
11159         - Other cleanups in spacing and code style
11160
11161 2007-01-01  Dan Williams  <dcbw@redhat.com>
11162
11163         Found by Bill Moss:
11164
11165         * src/supplicant-manager/nm-supplicant-interface.c
11166                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11167                         the supplicant interface wasn't already disconnected.  Always
11168                         call removeNetwork and disconnect unless the supplicant interface
11169                         is in the DISCONNECTED or INACTIVE state.
11170
11171 2006-12-28  Dan Williams  <dcbw@redhat.com>
11172
11173         Use a single thread for everything.  With the move to wpa_supplicant
11174         and communication over D-Bus, there's no reason for multiple threads.
11175         Almost all of the blocking code has been removed, with one exception in
11176         the DHCP manager and a few in the VPN manager.  This commit removes the
11177         per-device worker thread and fixes activation cancellation in the absence
11178         of threads.  Further removal of thread-related code would be removing
11179         any locking code (like the device list lock) and simplification of logic
11180         around areas of code or data structures that are currently locked.
11181
11182         * autoip.c
11183           dhcp-manager/nm-dhcp-manager.c 
11184           nm-device-802-11-wireless.c
11185           nm-device-802-3-ethernet.c
11186           nm-device.c
11187           nm-device.h
11188                 - Remove usage of multiple threads
11189
11190 2006-12-19  Dan Williams  <dcbw@redhat.com>
11191
11192         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11193         plus a few other patches from wpa_supplicant bugzilla.
11194
11195         * src/Makefile.am
11196           src/NetworkManagerPolicy.c
11197           src/NetworkManagerUtils.c
11198           src/NetworkManagerUtils.h
11199           src/nm-ap-security-leap.c
11200           src/nm-ap-security-wep.c
11201           src/nm-ap-security-wpa-eap.c
11202           src/nm-ap-security-wpa-psk.c
11203           src/nm-ap-security.c
11204           src/nm-ap-security.h
11205           src/nm-device-802-11-wireless.c
11206           src/nm-device-802-11-wireless.h
11207           src/supplicant-manager/nm-supplicant-config.c
11208           src/supplicant-manager/nm-supplicant-config.h
11209           src/supplicant-manager/nm-supplicant-interface.c
11210           src/supplicant-manager/nm-supplicant-interface.h
11211           src/supplicant-manager/nm-supplicant-marshal.list
11212           src/supplicant-manager/nm-supplicant-settings-verify.c
11213           src/supplicant-manager/nm-supplicant-settings-verify.h
11214                 - Move all connection management and association handling to
11215                         wpa_supplicant over dbus, rather than spawning a private copy
11216
11217 2006-12-19  Dan Williams  <dcbw@redhat.com>
11218
11219         * src/NetworkManagerPolicy.c
11220                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11221                         better locking of the device change check handler ID.  Incorrect
11222                         locking was causing lost device change requests
11223
11224 2006-12-18  Dan Williams  <dcbw@redhat.com>
11225
11226         * libnm-util/dbus-dict-helpers.c
11227                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11228                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11229                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11230
11231 2006-12-18  Dan Williams  <dcbw@redhat.com>
11232
11233         * gnome/libnm_glib/libnm_glib.c
11234                 - Change dbus_connection_close() -> dbus_connection_unref()
11235
11236 2006-12-11  Dan Williams  <dcbw@redhat.com>
11237
11238         * src/supplicant-manager/nm-supplicant-interface.c
11239                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11240                         wpa_supplicant interface state
11241                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11242                         state before transitioning to READY state
11243
11244 2006-12-04  Dan Williams  <dcbw@redhat.com>
11245
11246         * src/nm-device-802-11-wireless.c
11247                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11248                         odd length of ESSID returned from ieee80211 stack-based drivers
11249
11250 2006-12-04  Dan Williams  <dcbw@redhat.com>
11251
11252         * src/nm-device-802-11-wireless.c
11253                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11254                         IE handling blocks that cause mis-parsing of the IE
11255
11256 2006-12-04  Dan Williams  <dcbw@redhat.com>
11257
11258         * src/nm-device-802-11-wireless.c
11259                 - (init_supplicant_interface): new function; pull supplicant interface
11260                         setup code out into standalone function since it must be called from
11261                         two different places
11262                 - (real_init): sup_mgr is now in private object data; get and track
11263                         the supplicant manager object over the NMDevice subclass' lifetime
11264                         and register a signal handler for its state signals; only try to
11265                         initialize the supplicant interface if the supplicant manager is in
11266                         the IDLE state (and therefore is ready for requests)
11267                 - (request_wireless_scan): reschedule the scan request if (a) there is
11268                         no supplicant interface yet (meaning wpa_supplicant isn't running
11269                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11270                         for requests yet
11271                 - (supplicant_iface_connection_state_cb): new function; stub for
11272                         handling supplicant interface connection state signals
11273                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11274                         comes and goes
11275                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11276                         supplicant manager object that's being tracked starting with this
11277                         commit
11278
11279 2006-12-04  Dan Williams  <dcbw@redhat.com>
11280
11281         * src/supplicant-manager/nm-supplicant-interface.c
11282                 - (nm_supplicant_interface_set_property): track signal handler ID
11283                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11284
11285 2006-12-04  Dan Williams  <dcbw@redhat.com>
11286
11287         * src/supplicant-manager/nm-supplicant-interface.[ch]
11288                 - (nm_supplicant_interface_get_state): new function
11289
11290 2006-12-04  Dan Williams  <dcbw@redhat.com>
11291
11292         * src/supplicant-manager/nm-supplicant-interface.c
11293                 - (bssid_properties_cb): don't treat DBus errors as valid
11294                         scanned AP messages
11295
11296 2006-12-04  Dan Williams  <dcbw@redhat.com>
11297
11298         * src/supplicant-manager/nm-supplicant-interface.[ch]
11299                 - (nm_supplicant_interface_get_connection_state): new function
11300                 - define new supplicant connection states
11301                 - send a signal when the supplicant connection state changes
11302
11303 2006-12-03  Dan Williams  <dcbw@redhat.com>
11304
11305         * src/supplicant-manager/Makefile.am
11306           src/supplicant-manager/nm-supplicant-connection.h
11307           src/supplicant-manager/nm-supplicant-connection.c
11308           src/supplicant-manager/nm-supplicant-config.h
11309           src/supplicant-manager/nm-supplicant-config.c
11310           src/supplicant-manager/nm-supplicant-types.h
11311           src/supplicant-manager/nm-supplicant-interface.h
11312           src/supplicant-manager/nm-supplicant-interface.c
11313                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11314
11315 2006-12-03  Dan Williams  <dcbw@redhat.com>
11316
11317         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11318
11319         * po/POTFILES.in
11320           po/POTFILES.skip
11321                 - Move VPN-related translatables to .skip
11322
11323         * vpn-daemons/pptp/po/POTFILES.in
11324                 - Update with new translatables
11325
11326 2006-12-02  Dan Williams  <dcbw@redhat.com>
11327
11328         Patch from Christian Persch <chpe@gnome.org>
11329
11330         * gnome/applet/Makefile.am
11331           gnome/applet/applet-dbus-devices.c
11332           gnome/applet/applet-notifications.c
11333           gnome/applet/applet.c
11334           gnome/applet/applet.h
11335           gnome/applet/main.c
11336                 - Be a GtkStatusIcon on GTK+ >= 2.10
11337
11338 2006-12-02  Dan Williams  <dcbw@redhat.com>
11339
11340         * gnome/applet/applet.c
11341                 - (nma_update_info): fix two unecessary allocations
11342
11343 2006-12-02  Dan Williams  <dcbw@redhat.com>
11344
11345         Patch from Michael Biebl <biebl@teco.edu>
11346         * configure.in
11347           man/NetworkManager.1.in
11348           man/NetworkManagerDispatcher.1.in
11349           man/NetworkManager.8.in
11350           man/NetworkManagerDispatcher.8.in
11351                 - Add .SH NAME stanzas
11352                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11353
11354 2006-12-02  Dan Williams  <dcbw@redhat.com>
11355
11356         Patch from Christian Persch <chpe@gnome.org>
11357
11358         * configure.in
11359                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11360
11361 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11362
11363         Patch by Timo Hoenig <thoenig@suse.de>:
11364         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11365         DBUS-1.0.
11366
11367         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11368         we can't use the one from the main source directory.
11369
11370 2006-11-27  Dan Williams  <dcbw@redhat.com>
11371
11372         Patch from Christian Persch <chpe@gnome.org>
11373
11374         * gnome/applet/applet-dbus-devices.c
11375                 - (hal_info_product_cb): fix memleak; free duped string.
11376                         Gnome.org #379908
11377
11378 2006-11-27  Dan Williams  <dcbw@redhat.com>
11379
11380         Patch from Christian Persch <chpe@gnome.org>
11381
11382         * gnome/applet/menu-items.c
11383                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11384                         as gtk_progress_set_percentage is deprecated.  Should
11385                         work as far back as GTK+ 2.4.  Gnome.org #379780
11386
11387 2006-11-26  Dan Williams  <dcbw@redhat.com>
11388
11389         Scan using wpa_supplicant over DBus.
11390
11391         * src/nm-device-802-11-wireless.c
11392                 - remove wireless extensions netlink event handler bits
11393                         (wireless_event_helper, nm_device_802_11_wireless_event)
11394                 - remove wireless extensions scan event handler bits
11395                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11396                         hex2byte, hex2num, request_and_convert_scan_results,
11397                         free_process_scan_cb_data, scan_results_timeout,
11398                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11399                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11400                         and request scans from the supplicant interface rather than directly
11401                 - Move functionality of convert_scan_results() to cull_scan_list() and
11402                         supplicant_iface_scanned_ap_cb()
11403                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11404                         at the scan interval when the current scan has finished
11405                 - (supplicant_iface_state_cb): start scanning when the supplicant
11406                         interface enters the READY state, and stop scanning when it
11407                         enters the DOWN state
11408                 - (cull_scan_list): weed out old access points from the scan list
11409                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11410                         point into an NMAccessPoint and merge it into the device's scan list
11411
11412         * src/supplicant-manager/nm-supplicant-interface.c
11413           src/supplicant-manager/nm-supplicant-interface.h
11414                 - Add a new signal "scan-result" which is issued when the supplicant
11415                         notifies NM that a scan has completed
11416                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11417                         point found in the scan.  Called once for each access point that
11418                         the supplicant interface object receives from the supplicant as a
11419                         result of the "scanResults" method call
11420                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11421                         for the initial scan results
11422                 - (scan_request_cb): new function; send listeners the result
11423                         (success, error) of a wireless scan request
11424                 - (nm_supplicant_interface_request_scan): new function; ask the
11425                         supplicant to perform an immediate wireless scan
11426
11427 2006-11-25  Dan Williams  <dcbw@redhat.com>
11428
11429         * src/supplicant-manager/Makefile.am
11430                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11431                         add HAL cflags/includes and named-manager includes directory
11432
11433         * src/supplicant-manager/nm-supplicant-interface.h
11434                 - New state STARTING to handle transition from INIT to READY where
11435                         the addInterface pending call is still outstanding
11436
11437         * src/supplicant-manager/nm-supplicant-interface.c
11438                 - track pending calls differently since we may have more than one
11439                         going on at any given time
11440                 - request scan results from wpa_supplicant; but don't do it more often
11441                         than every 4 seconds.  Drivers that do background scanning
11442                         (like the 'ipw' drivers) send a continuous stream of scan completion
11443                         notifications, so we don't want to hammer the supplicant or dbus
11444                         with requests for all scan results every time we get a completion
11445                         notification.
11446
11447 2006-11-25  Dan Williams  <dcbw@redhat.com>
11448
11449         * src/supplicant-manager/nm-supplicant-types.h
11450                 - new file; move all supplicant manager object typedefs here for
11451                         #include sanity
11452
11453         * src/supplicant-manager/nm-supplicant-interface.c
11454           src/supplicant-manager/nm-supplicant-interface.h
11455                 - new file; an object that interfaces an NMDevice object to the
11456                         supplicant and handles signals from the supplicant.  This object
11457                         does all necessary DBus communication with wpa_supplicant.
11458
11459         * src/supplicant-manager/nm-supplicant-manager.c
11460           src/supplicant-manager/nm-supplicant-manager.h
11461                 - Actually do something.  Track the state of the wpa_supplicant service
11462                         and deal with its comings & goings.  Handle life events of
11463                         supplicant interfaces too.
11464                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11465
11466         * src/supplicant-manager/nm-supplicant-connection.h
11467                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11468
11469         * src/supplicant-manager/Makefile.am
11470                 - Add new files to build, and add libnm-util to includes
11471
11472         * src/nm-marshal.list
11473                 - New marshaler type: VOID:UINT,UINT
11474
11475         * src/nm-device-802-3-ethernet.c
11476                 - (real_init): grab a supplicant interface
11477                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11478                 - (supplicant_iface_state_cb): new function, stub for handling
11479                         supplicant interface state changes
11480
11481         * src/nm-device-802-11-wireless.c
11482                 - (real_init): grab a supplicant interface
11483                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11484                 - (supplicant_iface_state_cb): new function, stub for handling
11485                         supplicant interface state changes
11486
11487         * src/NetworkManager.c
11488                 - (main): create and keep the supplicant manager around for the lifetime
11489                         of NetworkManager
11490
11491         * src/Makefile.am
11492                 - Link to the supplicant manager sub-library and use the supplicant
11493                         manager includes
11494
11495 2006-11-25  Dan Williams  <dcbw@redhat.com>
11496
11497         Rework DBus manager signal handling to be more flexible.  Previously,
11498         only one signal handler could be registered for a particular interface.
11499         The DBus manager now reference counts DBus bus matches and allows multiple
11500         clients to register signal handlers for the same interface and sender.
11501
11502         * src/NetworkManager.c
11503                 - (main): track NMI signal handler ID and remove it when we quit
11504
11505         * src/NetworkManagerMain.h
11506                 - Keep track of NMI signal handler ID
11507
11508         * src/nm-dbus-manager.c
11509           src/nm-dbus-manager.h
11510                 - rework signal handling; each signal handler references one signal
11511                         match, but a signal match may be referenced by one or more
11512                         signal handlers.  Matches are refcounted and are destroyed when the
11513                         last signal handler that references the match is removed.  This is
11514                         necessary because two signal handlers may end up requiring the same
11515                         dbus bus match, so the match must live until the last signal handler
11516                         is destroyed (for example, with the wpa_supplicant network interface
11517                         dbus interface).
11518
11519         * src/dhcp-manager/nm-dhcp-manager.c
11520                 - (nm_dhcp_manager_new): track DHCP signal handler id
11521                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11522
11523         * src/vpn-manager/nm-vpn-service.c
11524                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11525                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11526
11527 2006-11-25  Dan Williams  <dcbw@redhat.com>
11528
11529         Suggested by Helmut Schaa <hschaa@suse.de>
11530
11531         * src/vpn-daemons/nm-vpn-service.c
11532                 - (supplicant_child_setup): new function
11533                 - (supplicant_exec): make child process use a new process group id
11534
11535         * src/nm-device-802-11-wireless.c
11536                 - (nm_vpn_service_child_setup): new function
11537                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11538                         process group id
11539
11540 2006-11-19  Dan Williams  <dcbw@redhat.com>
11541
11542         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11543         * gnome/vpn-properties/nm-vpn-properties.c
11544                 - clean up after renamed VPN connection
11545
11546 2006-11-19  Dan Williams  <dcbw@redhat.com>
11547
11548         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11549         * gnome/applet/applet-dbus-vpn.c
11550                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11551
11552         * gnome/vpn-properties/nm-vpn-properties.c
11553                 - (init_app): sort VPN connections
11554
11555 2006-11-09  Dan Williams  <dcbw@redhat.com>
11556
11557         * src/NetworkManagerAPList.c
11558                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11559                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11560                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11561                 broke hidden SSID matching.  Found by Bill Moss.
11562
11563 2006-10-25  Dan Williams  <dcbw@redhat.com>
11564
11565         * src/nm-dbus-nm.c
11566                 - (nm_dbus_nm_set_active_device): return an empty success message on
11567                         success, rather than falling through to the error case.
11568
11569 2006-10-25  Dan Williams  <dcbw@redhat.com>
11570
11571         * src/NetworkManagerUtils.c
11572                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11573                         "SCAN" command
11574
11575 2006-10-24  Dan Williams  <dcbw@redhat.com>
11576
11577         Reduce the number of times the Gnome applet wakes up, especially when
11578         it's doing absolutely nothing and is hidden.  Initial patch by
11579         Chris Aillon.
11580
11581         * gnome/applet/applet-dbus.c
11582                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11583                         kill the redraw timeout.  When NM starts up, start the redraw
11584                         timeout.  Also, if we get kicked off the bus for some reason,
11585                         start the reconnection timeout if one's not already running.
11586                 - (nma_dbus_init): better handling of error conditions, don't leak
11587                         a half-initialized dbus connection
11588                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11589                         the applet's data, just call nm_dbus_init_helper()
11590                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11591                         timeout that calls nma_dbus_connection_watcher()
11592                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11593                         reconnection timeout, and don't start the reconnection timeout
11594                         unconditionally anymore
11595
11596         * gnome/applet/applet-dbus.h
11597                 - Expose nma_start_dbus_connection_watch()
11598
11599         * gnome/applet/applet.c
11600                 - (nma_update_state): no longer static, called from applet-dbus.c for
11601                         immediate UI updates on certain events
11602                 - (nma_set_running): new function; take over setting applet->running,
11603                         when not running (ie, NM is not active), don't activate the redraw
11604                         timeout because we're not showing the applet anyway.  When we are
11605                         running (ie, NM is active), and only when we're running, start the
11606                         redraw timeout.
11607                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11608                         kill any reconnection timeout
11609                 - (nma_get_instance): move one-off dbus initialization code here since
11610                         nm_dbus_init_helper() gets called more than once, possibly by the
11611                         reconnection timeout function too.  And, when we start up, if we
11612                         can't get a connection to the bus, start the reconnection timeout.
11613                         But don't start the redraw timeout yet, only do that when we get
11614                         NM's state and find out if it's running or not.
11615
11616         * gnome/applet/applet.h
11617                 - Add the reconnection GSource ID
11618                 - Add prototypes for nma_set_running() and the no-longer-static
11619                         nma_update_state()
11620
11621 2006-10-24  Dan Williams  <dcbw@redhat.com>
11622
11623         * src/vpn-daemons/nm-dbus-vpnc.c
11624                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11625                         pending call tracker
11626                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11627                         pending call tracker; register one-vpn-connection update pending
11628                         call in pending call tracker
11629                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11630                         update pending call in pending call tracker
11631                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11632                         update pending call in pending call tracker; don't block waiting
11633                         for call to return
11634
11635 2006-10-19  Robert Love  <rml@novell.com>
11636
11637         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11638           refresh the cache.
11639
11640 2006-10-14  Dan Williams  <dcbw@redhat.com>
11641
11642         * src/dhcp-manager/nm-dhcp-manager.c
11643                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11644                 the dbus connection and the device object path rather than
11645                 constructing it inside both functions.  Saves a bit of memory
11646                 and clarifies a failure path.
11647                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11648                 and allocate device path here rather than each of the two
11649                 functions above.
11650
11651 2006-10-13  Dan Williams  <dcbw@redhat.com>
11652
11653         * src/NetworkManager.c
11654                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11655                 this somehow droppout in the refactor
11656
11657 2006-10-13  Dan Williams  <dcbw@redhat.com>
11658
11659         * Huge DBus refactor:
11660                 - Create a "DBus Manager" object which manages the connection and
11661                 sends signals on NameOwnerChanged and connection/disconnection events,
11662                 handles reconnection to the bus if NM gets kicked off, and abstracts
11663                 signal handling
11664                 - Remove DBusConnection members from places where they are no
11665                 longer needed due to the refactor, like the dbus-connection
11666                 property of the named manager, and from NMData
11667                 - Reformats a bunch of the code to gnome style
11668                 (8-space tabs, braces on same line as statement, 80-col width).
11669                 Consider it open season to reformat any bits to gnome style.
11670                 style that aren't already.
11671
11672 2006-10-13  Dan Williams  <dcbw@redhat.com>
11673
11674         * src/supplicant-manager/Makefile.am
11675                 - Add new files
11676
11677         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11678                 - Make it a minimal GObject
11679
11680         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11681                 - Verify settings destined for wpa_supplicant
11682
11683         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11684                 - Minimal GObject to track wpa_supplicant controlled device
11685                 connections
11686
11687 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11688
11689         * gnome/applet/applet.c: (nma_update_info),
11690         (nma_act_stage_to_pixbuf), (nma_update_state):
11691         Mark missing strings for translation. Fixes bug #343306.
11692
11693 2006-10-01  Dan Williams  <dcbw@redhat.com>
11694
11695         * src/vpn-manager/nm-vpn-manager.c
11696                 - (nm_vpn_manager_load_services): split and clean up
11697                 for readability and correctness.  Restrict VPN service
11698                 files to ending in ".name", as was meant from the
11699                 beginning (but not coded in).  Better error reporting.
11700
11701 2006-10-01  Dan Williams  <dcbw@redhat.com>
11702
11703         * utils/nm-utils.h
11704                 - Clean up formatting of debug/info/warning log messages
11705
11706 2006-09-27  Robert Love  <rml@novell.com>
11707
11708         Patch by Tambet Ingo <tambet@ximian.com>:
11709         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11710           actually work.
11711
11712 2006-09-07  Dan Williams <dcbw@redhat.com>
11713
11714         * test/Makefile.am
11715           test/libnm-util/Makefile.am
11716           test/nm-supplicant-test.c
11717                 - Add test program emulating the way NM drives wpa_supplicant
11718                 to help debug supplicant issues
11719
11720 2006-08-24  Dan Williams <dcbw@redhat.com>
11721
11722         * configure.in
11723           src/Makefile.am
11724           src/supplicant-manager/Makefile.am
11725           src/supplicant-manager/nm-supplicant-manager.c
11726           src/supplicant-manager/nm-supplicant-manager.h
11727                 - Add skeleton bits of the wpa_supplicant manager
11728
11729 2006-08-24  Dan Williams <dcbw@redhat.com>
11730
11731         Patch from Ed Catmur:
11732         * src/NetworkManagerUtils.c
11733                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11734                 if netmask is 0 (Gnome #352634)
11735
11736 2006-08-17  Robert Love  <rml@novell.com>
11737
11738         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11739           package is now DBUS-enabled and listens for the NM signals.
11740
11741 2006-08-14  Dan Williams  <dcbw@redhat.com>
11742
11743         * Patch from Christian Persch <chpe gnome org>
11744         * configure.in
11745           po/LINGUAS
11746           vpn-daemons/openvpn/po/LINGUAS
11747           vpn-daemons/openvpn/configure.in
11748           vpn-daemons/pptp/po/LINGUAS
11749           vpn-daemons/pptp/configure.in
11750           vpn-daemons/vpnc/po/LINGUAS
11751           vpn-daemons/vpnc/configure.in
11752                 - Convert to LINGUAS method so translators don't have to modify
11753                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11754                 0.35 or higher
11755
11756 2006-08-14  Dan Williams  <dcbw@redhat.com>
11757
11758         Patch from Alex Smith <alex.extreme2@gmail.com>
11759         * configure.in
11760           src/backends/Makefile.am
11761           src/backends/NetworkManagerFrugalware.c
11762                 - Add support for Frugalware
11763
11764 2006-08-13  Dan Williams  <dcbw@redhat.com>
11765
11766         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11767         * src/nm-device-802-11-wireless.c
11768                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11769                 Gnome #346875
11770
11771 2006-08-13  Dan Williams  <dcbw@redhat.com>
11772
11773         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11774         * src/nm-ap-security.c
11775           src/nm-ap-security.h
11776                 - Add authentication_required bits for subclasses to specify whether
11777                 or not real authentication is required for connections, i.e. whether
11778                 the AP rejects us when an encryption key is wrong or not.
11779
11780         * src/nm-ap-security-wep.c
11781           src/nm-ap-security-wpa-eap.c
11782           src/nm-ap-security-wpa-psk.c
11783           src/nm-ap-security-leap.c
11784                 - Implement authentication_required appropriately for each method
11785
11786         * src/nm-device-802-11-wireless.c
11787                 - Be smarter about when to request a key; for example, using a wrong key
11788                 in WEP shared key mode previously just timed out and did not request
11789                 a new key
11790
11791 2006-08-13  Dan Williams  <dcbw@redhat.com>
11792
11793         * gnome/libnm_glib/libnm_glib.c
11794                 - dbus_connection_disconnect() -> dbus_connection_close() for
11795                 dbus >= 0.90
11796
11797 2006-08-07  Dan Williams  <dcbw@redhat.com>
11798
11799         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11800         * src/NetworkManagerSystem.c
11801                 - Respect specified MTU.  Gnome #344967
11802
11803 2006-08-07  Dan Williams  <dcbw@redhat.com>
11804
11805         * src/vpn-manager/nm-vpn-service.c
11806                 - Simplify print_vpn_config() arguments
11807
11808         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11809         * src/vpn-manager/Makefile.am
11810           src/vpn-manager/nm-vpn-service.c
11811                 - Add new API for passing VPN config options as a dict. Gnome #344967
11812
11813 2006-08-06  Dan Williams  <dcbw@redhat.com>
11814
11815         * gnome/applet/applet-dbus-devices.c
11816           gnome/applet/applet-dbus-vpn.c
11817           gnome/applet/applet-dbus.c
11818           gnome/applet/applet-dbus.h
11819           src/nm-dbus-nmi.c
11820           utils/nm-utils.c
11821           utils/nm-utils.h
11822                 - Make pending call tracking code generic,
11823                 so we can use it in NM as well as the applet
11824
11825 2006-08-06  Dan Williams  <dcbw@redhat.com>
11826
11827         * src/nm-activation-request.c
11828                 - Refcount pending call objects
11829
11830 2006-08-06  Dan Williams  <dcbw@redhat.com>
11831
11832         Patch from Christan Chiesa <christanc@gmail.com>
11833         * configure.in
11834                 - Tell sha1.c to use bigendian mode on PPC
11835
11836 2006-08-04  Robert Love  <rml@novell.com>
11837
11838         Glib Memory Slices!
11839         * configure.in: Require glib 2.10 or later.
11840         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11841           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11842           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11843           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11844           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11845           Memory Slices are the greatest thing since bread slices.
11846         * src/NetworkManagerAP.c: Also, fix memory leak.
11847
11848 2006-08-01  Robert Love  <rml@novell.com>
11849
11850         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11851
11852 2006-07-31  Robert Love  <rml@novell.com>
11853
11854         * src/backends/interface_parser.c: Declarations must begin the block.
11855
11856 2006-07-24  Dan Williams  <dcbw@redhat.com>
11857
11858         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11859         * src/backends/Makefile.am
11860           src/backends/NetworkManagerArch.c
11861           src/backends/NetworkManagerDebian.c
11862           src/backends/NetworkManagerGeneric.c
11863           src/backends/NetworkManagerGeneric.h
11864           src/backends/NetworkManagerGentoo.c
11865           src/backends/NetworkManagerPaldo.c
11866           src/backends/NetworkManagerRedHat.c
11867           src/backends/NetworkManagerSlackware.c
11868           src/backends/NetworkManagerSuSE.c
11869                 - Genericize common backend functions
11870
11871 2006-07-18  Robert Love  <rml@novell.com>
11872
11873         * configure.in: Add "--with-notify" option to allow disabling of
11874           libnotify support.
11875
11876 2006-07-13  Dan Williams  <dcbw@redhat.com>
11877
11878         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11879         * gnome/applet/applet.glade
11880           gnome/applet/Makefile.am
11881           gnome/applet/nm-gconf-wso.c
11882           gnome/applet/nm-gconf-wso-leap.c
11883           gnome/applet/nm-gconf-wso-leap.h
11884           gnome/applet/wireless-security-manager.c
11885           gnome/applet/wso-leap.c
11886           gnome/applet/wso-leap.h
11887           include/NetworkManager.h
11888           libnm-util/dbus-helpers.c
11889           libnm-util/dbus-helpers.h
11890           src/Makefile.am
11891           src/NetworkManagerAP.c
11892           src/nm-ap-security.c
11893           src/nm-ap-security-leap.c
11894           src/nm-ap-security-leap.h
11895                 - Add LEAP authentication support
11896
11897 2006-07-13  Dan Williams  <dcbw@redhat.com>
11898
11899         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11900         * configure.in
11901           src/backends/NetworkManagerArch.c
11902           src/backends/NetworkManagerDebian.c
11903           src/backends/NetworkManagerGentoo.c
11904           src/backends/NetworkManagerPaldo.c
11905           src/backends/NetworkManagerRedHat.c
11906           src/backends/NetworkManagerSlackware.c
11907           src/backends/NetworkManagerSuSE.c
11908                 - Convert hardcoding of 'ip' path to configure-time
11909                         detected one
11910
11911 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11912
11913         * configure.in: added ru to ALL_LINGUAS
11914
11915 2006-07-10  Dan Williams  <dcbw@redhat.com>
11916
11917         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11918         * src/nm-device.c
11919                 - (real_act_stage3_ip_config_start): don't infinite loop when
11920                         dhcdbd isn't running (Gnome #346845)
11921
11922 2006-07-09  Dan Williams  <dcbw@redhat.com>
11923
11924         * gnome/applet/applet.c
11925                 - (nma_destroy): don't pass NULL to notify_notification_close
11926                         (RH #197917)
11927
11928 2006-07-09  Dan Williams  <dcbw@redhat.com>
11929
11930         * gnome/applet/applet.c
11931                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11932
11933 2006-07-04  Tor Krill  <tor@krill.nu>
11934
11935         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11936         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11937         (nm_system_restart_mdns_responder), (ArchReadConfig),
11938         (nm_system_device_get_system_config):
11939                 - Explicitly check for DHCP configuration
11940                 - Check if daemons are running before starting them
11941
11942 2006-06-25  Dan Williams  <dcbw@redhat.com>
11943
11944         * libnm-util/dbus-dict-helpers.[ch]
11945           test/libnm-util/test-dbus-dict-helpers.c
11946                 - Add string array support
11947
11948 2006-06-24  Dan Williams  <dcbw@redhat.com>
11949
11950         * src/dhcp-manager/nm-dhcp-manager.c
11951                 - (nm_dhcp_manager_process_signal): clean up spacing
11952
11953 2006-06-21  Dan Williams  <dcbw@redhat.com>
11954
11955         * src/nm-dbus-device.c
11956                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11957                         through dbus
11958
11959 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11960
11961         * configure.in: Added 'lv' to ALL_LINGUAS
11962
11963 2006-06-19  Dan Williams  <dcbw@redhat.com>
11964
11965         * src/NetworkManagerAP.c
11966                 - Clarify usage of user_created
11967
11968         * src/nm-ap-security-wep.c
11969           src/nm-ap-security-wpa-eap.c
11970           src/nm-ap-security-wpa-psk.c
11971           src/nm-ap-security.c
11972           src/nm-ap-security.h
11973                 - s/user_created/adhoc, because we really do mean adhoc
11974
11975         Patch from Bernard Blackham <bernard@blackham.com.au>
11976         * src/nm-device-802-11-wireless.c         
11977                 - (supplicant_send_network_config): instead of user_created,
11978                         use adhoc, and do AP_SCAN 2 for adhoc networks
11979
11980 2006-06-18  Robert Love  <rml@novell.com>
11981
11982         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11983           we have a value to set.  Gconf generates a warning if `val' is NULL.
11984         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11985           unless we actually received a valid private key file passphrase or
11986           password.  Otherwise, we don't know to later ask the applet to pull
11987           the key from the keyring.
11988
11989 2006-06-17  Dan Williams  <dcbw@redhat.com>
11990
11991         * libnm-util/dbus-dict-helpers.[ch]
11992           test/libnm-util/test-dbus-dict-helpers.c
11993                 - Fixes for zero-length byte arrays
11994                 - Replace return values of 0 with FALSE for clarity
11995                 - Test zero-length byte arrays
11996
11997 2006-06-17  Dan Williams  <dcbw@redhat.com>
11998
11999         * libnm-util/dbus-dict-helpers.[ch]
12000           test/libnm-util/test-dbus-dict-helpers.c
12001                 - Add helpers for byte arrays
12002                 - Rework bits of the testcase
12003
12004 2006-06-16  Dan Williams  <dcbw@redhat.com>
12005
12006         * libnm-util/Makefile.am
12007         * libnm-util/dbus-dict-helpers.[ch]
12008                 - Add some helpers to take the pain out of using dict types in
12009                         dbus.
12010
12011         * test/libnm-util/Makefile.am
12012         * test/libnm-util/test-dbus-dict-helpers.c
12013                 - Test cases for the dict helper functions
12014
12015 2006-06-15  Robert Love  <rml@novell.com>
12016
12017         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
12018           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
12019           if there is no key to pass.
12020         * libnm-util/dbus-helpers.c: Given the above, we can trust always
12021           receiving a non-NULL key.
12022
12023 2006-06-14  Robert Love  <rml@novell.com>
12024
12025         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
12026           copy the strings.
12027
12028
12029 2006-06-14  Dan Williams  <dcbw@redhat.com>
12030
12031         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
12032         * src/nm-device-802-11-wireless.c
12033                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
12034                         or ones where the driver is unknown
12035                 - (supplicant_exec): don't wait for supplicant startup here
12036                 - (supplicant_interface_init): finer grained polling for supplicant
12037                         startup
12038
12039 2006-06-13  Robert Love  <rml@novell.com>
12040
12041         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
12042           if it is currently set to TRUE.  Otherwise, we will reset the value
12043           when we connect normally.
12044         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
12045           the old BSSID is valid, too.  The recently added ESSID check may not be
12046           sufficient (we can remove it?).  What we really want to catch is the
12047           case of going from all-zeros to the BSSID of some other network, which
12048           happens on failure.
12049
12050 2006-06-09  Dan Williams  <dcbw@redhat.com>
12051
12052         * src/NetworkManagerSystem.[ch]
12053                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
12054                         it was unused and pointless
12055                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
12056                         fix for set_up_down_with_iface change
12057
12058         * src/vpn-manager/nm-vpn-connection.c
12059                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
12060
12061         * src/backends/NetworkManagerPaldo.c
12062           src/backends/NetworkManagerRedHat.c
12063           src/backends/NetworkManagerSuSE.c
12064           src/backends/NetworkManagerArch.c
12065           src/backends/NetworkManagerDebian.c
12066           src/backends/NetworkManagerGentoo.c
12067                 - (nm_system_enable_loopback): use set_up_down_with_iface where
12068                         appropriate
12069                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
12070                         where appropriate
12071
12072 2006-06-09  Dan Williams  <dcbw@redhat.com>
12073
12074         Patch from Peter Jones:
12075         * src/nm-device-802-11-wireless.c
12076                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12077                         SSID hasn't changed from what we expect before automatically
12078                         updating the saved BSSID from a new AP
12079
12080 2006-06-08  Robert Love  <rml@novell.com>
12081
12082         Add 'fallback' support.  NetworkManager will attempt to brute-force
12083         connect to networks marked as fallback if there are no better wireless
12084         connections available.  This is useful as a method of last resort, to
12085         work around driver problems, and for use with hidden networks.
12086         * gnome/applet/applet-dbus-devices.c,
12087           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12088         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12089           pass it on via DBUS.
12090         * gnome/applet/applet.c: No fallback by default.
12091         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12092           Update other-network-dialog to add UI checkbox toggling fallback.
12093         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12094           propery from AP object.  Add "fallback" property to AP object.
12095         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12096         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12097         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12098           separate function.  Add get_best_fallback_ap() for returning an AP
12099           on which to attempt fallback.
12100         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12101         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12102
12103 2006-06-07  Robert Love  <rml@novell.com>
12104
12105         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12106           checked that the return type was GCONF_VALUE_STRING, not the correct
12107           GCONF_VALUE_BOOL, and thus it never worked.
12108         * src/NetworkManagerAPList.c: Before concluding that two networks are
12109           identical based on their BSSID, make sure that the BSSID in question
12110           is actually valid.  Specifically, an empty or all zero BSSID does not
12111           cut it.
12112         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12113           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12114           similar invariant clean up.
12115
12116 2006-06-02  Robert Love  <rml@novell.com>
12117
12118         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12119
12120 2006-05-28  Dan Williams  <dcbw@redhat.com>
12121
12122         * gnome/applet/applet.glade
12123           gnome/vpn-properties/nm-vpn-properties.glade
12124                 - Set window icons on dialogs  (Gnome.org #333420)
12125
12126 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12127
12128         * gnome/vpn-properties/nm-vpn-properties.glade:
12129         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12130         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12131         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12132                 - Make the VPN properties pages prettier and more HIG
12133                   compliant. Gnome Bug #336913.
12134
12135 2006-05-28  Dan Williams  <dcbw@redhat.com>
12136
12137         Patch from Christian Persch <chpe@gnome.org>
12138         * gnome/vpn-properties/nm-vpn-properties.c
12139         * gnome/vpn-properties/nm-vpn-properties.glade
12140                 - HIG-ification love  (Gnome.org #336846)
12141
12142 2006-05-28  Dan Williams  <dcbw@redhat.com>
12143
12144         Patch from Christian Persch <chpe@gnome.org>
12145         * configure.in
12146           gnome/vpn-properties/nm-vpn-properties.c
12147                 - (main): Fix option parsing.  Gnome.org #336847
12148
12149 2006-05-28  Dan Williams  <dcbw@redhat.com>
12150
12151         * gnome/vpn-properties/nm-vpn-properties.c
12152                 - (find_vpn_ui_by_service_name): protect against NULL service names
12153                 - (update_edit_del_sensitivity): protect against NULL service names
12154                         Gnome.org #341306
12155
12156 2006-05-28  Dan Williams  <dcbw@redhat.com>
12157
12158         Patch from Chris Fuller <crf@grandecom.net>:
12159         * src/nm-device-802-11-wireless.c
12160                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12161                         don't dispose of wireless-specific stuff unless it is actually
12162                         initialized.  Gnome.org #341263
12163
12164 2006-05-28  Dan Williams  <dcbw@redhat.com>
12165
12166         * src/NetworkManagerPolicy.c
12167                 - (nm_policy_device_change_check): don't switch devices if the "best"
12168                         AP is essentially the same as the current activation request, but
12169                         the current activation request isn't done activating yet.  Fixes
12170                         multiple requests for keyring password on startup for Gnome applet.
12171                         Gnome.org #341297
12172
12173 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12174
12175         * src/NetworkManager.c: use GOptions instead of getopt
12176         * configure.in: bump glib required version to >= 2.6 for GOption
12177           support
12178
12179 2006-05-25  Robert Love  <rml@novell.com>
12180
12181         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12182           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12183           instead of dumping ifdef's throughout the code.
12184         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12185           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12186           use nm_ioctl_info() in lieu.
12187
12188 2006-05-25  Robert Love  <rml@novell.com>
12189
12190         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12191         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12192           not using gcrypt.  Otherwise, we get a linker error.
12193
12194 2006-05-25  Robert Love  <rml@novell.com>
12195
12196         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12197         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12198           configure flag to disable building of the GNOME-based applet.
12199
12200 2006-05-25  Robert Love  <rml@novell.com>
12201
12202         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12203           parameter from link, because it shadows a global variable with some
12204           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12205           should never have exported to the entire system a common four letter
12206           word.  But we here at NetworkManager are team players.  Fixes
12207           GNOME bug #336532.
12208
12209 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12210
12211         * configure.in: Added mk.po, Macedonian translation.
12212
12213 2006-05-24  Robert Love  <rml@novell.com>
12214
12215         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12216           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12217           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12218
12219 2006-05-24  Robert Love  <rml@novell.com>
12220
12221         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12222           libnm-util/Makefile.am, src/Makefile.am,
12223           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12224           vpn-daemons/openvpn/properties/Makefile.am,
12225           vpn-daemons/pptp/auth-dialog/Makefile.am,
12226           vpn-daemons/pptp/properties/Makefile.am,
12227           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12228           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12229           user passed for --datadir, if anything, when setting the GNOME locale
12230           directory.  It should be a function of the specified datadir and not
12231           the prefix.
12232
12233 2006-05-24  Robert Love  <rml@novell.com>
12234
12235         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12236           src/NetworkManager.c: Take care to call bindtextdomain with the
12237           location of msgid files.
12238         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12239           files.
12240
12241 2006-05-22  Robert Love  <rml@novell.com>
12242
12243         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12244           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12245           99% of the time there is a real problem with wireless, and a
12246           seemingly successful connection via Zeroconf just confuses the user.
12247           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12248
12249 2006-05-22  Robert Love  <rml@novell.com>
12250
12251         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12252           autofs on interface up if NIS is configured.  On interface down, do
12253           nothing.
12254
12255 2006-05-22  Robert Love  <rml@novell.com>
12256
12257         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12258           to avoid calling g_object_unref() on stale pointers on error in
12259           nma_icons_free().  This happens because we short-circuit loaded the
12260           icons on the first failure but then free all icons.  Normally we have
12261           no issue because the icons were zero'ed out malloc, but we have stale
12262           pointer data after nma_icon_theme_changed().
12263         * gnome/applet/main.c: Return error code if nma_new() failed.
12264
12265 2060-05-21  Dan Williams  <dcbw@redhat.com>
12266
12267         * initscript/NetworkManager.in
12268                 - Ensure both dhcdbd and named are started before NM
12269
12270 2006-05-21  Dan Williams  <dcbw@redhat.com>
12271
12272         * configure.in
12273                 - Bump version to 0.7 to signify we are in 0.7 development
12274
12275 2006-05-21  Dan Williams  <dcbw@redhat.com>
12276
12277         Patch from Adam Schreiber <sadam@clemson.edu>
12278         * gnome/vpn-properties/nm-vpn-properties.c
12279                 - (main): correct Gnome program name  (gnome.org #342498)
12280
12281 2006-05-21  Dan Williams  <dcbw@redhat.com>
12282
12283         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12284
12285         * src/NetworkManagerDbus.[ch]
12286                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12287                         clarify that function's argument should be an escaped dbus object
12288                         path, and look for path segment end before returning a match
12289         * src/nm-dbus-nm.c:
12290                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12291
12292 2006-05-17  Robert Love  <rml@novell.com>
12293
12294         Functionality to differentiate Ad-Hoc networks from infrastructure
12295         networks in the applet, by displaying a special icon:
12296         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12297         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12298         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12299           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12300           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12301           networks, encrypted or not.
12302         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12303           accessor functions to get and set the mode of a given network,
12304           wireless_network_get_mode() and wireless_network_set_mode().
12305
12306 2006-05-17  Robert Love  <rml@novell.com>
12307
12308         Functionality to automatically add BSSIDs to the allowed-MAC list as
12309         one roams from access point to access point on a given network:
12310         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12311           helper function to compare two ether_addr structures and return TRUE
12312           if they contain the same MAC address.
12313         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12314           prototype.
12315         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12316           stored with the current AP.  If the BSSID has indeed changed, we
12317           send it out to the applet, allowing the allowed-MAC list to grow
12318           automatically in response to roaming.
12319
12320 2006-05-16  Robert Love  <rml@novell.com>
12321
12322         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12323           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12324
12325 2006-05-13  Dan Williams  <dcbw@redhat.com>
12326
12327         * src/nm-device-802-3-ethernet.c
12328                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12329                         carrier detect (Debian bug #366373)
12330
12331 2006-05-11  Dan Williams  <dcbw@redhat.com>
12332
12333         Patch from Michael Biebl <biebl@teco.edu>
12334         * src/backends/NetworkManagerDebian.c
12335                 - Debian backend fixups
12336
12337 2006-05-10  Robert Love  <rml@novell.com>
12338
12339         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12340
12341 2006-05-09  Robert Love  <rml@novell.com>
12342
12343         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12344           private certificate passphrase, if any, in the GNOME Keyring.
12345         * libnm-utils/dbus-helpers.c: Update.
12346
12347 2006-05-05  Dan Williams  <dcbw@redhat.com>
12348
12349         * src/nm-device-802-11-wireless.c
12350                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12351                         nm_device_802_11_wireless_disable_encryption() since that's all
12352                         we use it for anymore; we don't ever set WEP keys ourselves.
12353                 - (real_deactivate_quickly): reset SSID and encryption keys
12354                 - (real_deactivate): move SSID and encryption key reset to
12355                         real_deactivate_quickly(), which gets run before us anyway
12356
12357 2006-05-05  Robert Love  <rml@novell.com>
12358
12359         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12360           root has a wacky default of its own (or, more common, a user has a
12361           bad umask and uses su/sudo to restart NetworkManager).  Anything
12362           other than 0022 does not do what we want with, for example,
12363           resolv.conf.  This problem is amplified by our judicious use of
12364           fopen(), which uses mode 0666 -- implying that the only way to get
12365           the permissions we want is with a umask of 0022.
12366
12367 2006-05-05  Dan Williams  <dcbw@redhat.com>
12368
12369         * gnome/libnm_glib/libnm_glib.c
12370                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12371                         to reconnect; instead wait a bit more with each reconnect attempt
12372                         up to a max of one minute.
12373
12374 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12375
12376         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12377           the WirelessNetwork structure using the proper function instead of
12378           just casting it directly to (const char *) (gnome.org #336991)
12379
12380 2006-05-03  Robert Love  <rml@novell.com>
12381
12382         * src/backends/NetworkManagerSuSE.c: Respect the variable
12383           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12384           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12385           to dynamically update /etc/resolv.conf.
12386
12387 2006-05-02  Peter Jones  <pjones@redhat.com>
12388
12389         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12390
12391 2006-05-02  Robert Love  <rml@novell.com>
12392
12393         Patch by Timo Hoenig;
12394         * tests/nm-online.c: Print pretty status indicator as timeout winds
12395           down.  Also fix possible race between DBUS startup and failure
12396           return.
12397
12398 2006-05-01  Robert Love  <rml@novell.com>
12399
12400         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12401           empty, too.
12402
12403 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12404
12405         * src/nm-device.c (discover_device_type): Actually use the hal
12406         device type instead of ioctl poking
12407
12408 2006-04-26  Robert Love  <rml@novell.com>
12409
12410         * tests/nm-online.c: New file.  Simple utility that returns exit status
12411           noting whether the connection is offline or online.  If offline on
12412           start, it waits 30 seconds (or a command-line given value) for an
12413           online signal.  If it times out, it again returns offline.  This is
12414           useful for scripts that want to wait for network connections.
12415
12416 2006-04-25  Robert Love  <rml@novell.com>
12417
12418         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12419           key mode (the authentication algorithm), e.g. open or shared, when we
12420           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12421           only shared was broken.  If the user specified a shared key, set it
12422           explicitly, otherwise let wpa_supplicant go with the default.
12423
12424 2006-04-24  Dan Williams  <dcbw@redhat.com>
12425
12426         * src/nm-device-802-11-wireless.c
12427                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12428
12429 2006-04-24  Dan Williams  <dcbw@redhat.com>
12430
12431         Commit the async scanning patch
12432
12433         * src/nm-device-802-11-wireless.c
12434                 - get rid of scan_mutex
12435                 - (wireless_event_helper): act on wireless scan events
12436                 - (real_start): schedule a pending scan
12437                 - (link_to_specific_ap): fake the link to the AP during a scan
12438                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12439                         strength during scans
12440                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12441                         nm_device_set_bitrate): unused with new scanning code, disable
12442                 - (nm_device_wireless_schedule_scan): removed
12443                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12444                 - (request_and_convert_scan_results): new function; retrieve scan
12445                         results from the driver and schedule the processing function
12446                 - (scan_results_timeout): timeout triggered when card doesn't send
12447                         a scan results wireless event during a certain interval
12448                 - (schedule_scan_results_timeout): new function; schedule the scan
12449                         results timeout
12450                 - (cancel_scan_results_timeout): new function; cancel the scan
12451                         results timeout
12452                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12453                         to do the scanning.  Otherwise, just request a scan but don't
12454                         grab results here; instead schedule a timeout for scan results and
12455                         let netlink notify us of scan completion events
12456                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12457                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12458                 - (supplicant_status_cb): ignore disconnect events while scanning
12459                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12460                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12461                         timeouts
12462                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12463
12464 2006-04-24  Dan Williams  <dcbw@redhat.com>
12465
12466         * gnome/applet/applet-dbus.c
12467                 - Disable the pending call debug stuff, seems under control now
12468
12469 2006-04-20  Robert Love  <rml@novell.com>
12470
12471         Fix bug where hidden ESSID's would not show up in the applet, even
12472         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12473         because nm_policy_device_list_update_from_allowed_list() would merge
12474         the data, putting a name to the hidden networks, but never notify NMI
12475         of the changes.  Simple fix is to invoke the function
12476         nm_dbus_signal_wireless_network_change() if we make a mapping.
12477         * src/NetworkManagerAPList.c: Call the function
12478           nm_dbus_signal_wireless_network_change() if we made a successful
12479           BSSID to ESSID mapping, notifying the applet of the "new" network.
12480         * src/NetworkManagerAPList.h: Update the prototypes for both
12481           nm_ap_list_copy_essids_by_address() and
12482           nm_ap_list_copy_one_essid_by_address().
12483
12484 2006-04-20  Robert Love  <rml@novell.com>
12485
12486         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12487           not set.  Just return zero.
12488
12489 2006-04-20  Robert Love  <rml@novell.com>
12490
12491         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12492           only one copy of nm-vpn-properties is running at a time via the 'ol
12493           X selection trick.  This prevents the user from opening two "VPN
12494           Connections" windows from within the applet, which leads to mass
12495           hysteria.
12496         * clipboard.c: New file, implementing simple X selection logic.
12497         * clipboard.h: New file.
12498         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12499
12500 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12501
12502         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12503         * configure.in
12504           initscript/Gentoo/Makefile.am
12505           initscript/Gentoo/NetworkManagerDispatcher.in
12506                 - New script
12507         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12508           Gentopia
12509
12510 2006-04-16  Dan Williams  <dcbw@redhat.com>
12511
12512         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12513         * configure.in
12514           initscript/Slackware/Makefile.am
12515           initscript/Slackware/rc.networkmanager-dispatcher.in
12516           initscript/Slackware/rc.networkmanager.in
12517                 - Update slackware initscripts
12518
12519 2006-04-10  Robert Love  <rml@novell.com>
12520
12521         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12522           the "delete_event" signal on the druid's parent window and handle it
12523           our way, lest using the WM to close the druid results in a series of
12524           bloody and ultimately lethal errors.
12525
12526 2006-04-10  Robert Love  <rml@novell.com>
12527
12528         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12529           'Back' too or else the 'Forward' option is initially disabled despite
12530           valid input.
12531
12532 2006-04-06  Robert Love  <rml@novell.com>
12533
12534         Fix bad but simple bug where an active modem connection did not update
12535         NM's connection state, breaking any app that did online/offline:
12536         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12537           represented whether a dial up connection is active, or not.
12538         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12539           to modem activation and deactivation.
12540         * src/NetworkManagerDbus.c: When asked our state, do not return
12541           disconnected if the modem is active.
12542
12543 2006-04-04  Robert Love  <rml@novell.com>
12544
12545         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12546           applet.  It just confuses the crap out of people and does not make a
12547           lot of sense, as the daemon still runs.
12548
12549 2006-04-02  Tor Krill  <tor@krill.nu>
12550
12551         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12552           in start of service.
12553         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12554           get Archlinux backend up to date.
12555
12556 2006-03-29  Robert Love  <rml@novell.com>
12557
12558         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12559         to add support for per-route MSS and improve support for per-interface
12560         MTU:
12561         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12562           optionally take an MSS parameter and set it for the given route.
12563           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12564           NMIP4Config's stored MSS, if any.
12565         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12566           the interface's MTU and the route's MSS, respectively.  Add functions
12567           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12568           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12569           MSS.
12570         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12571           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12572           nm_ip4_config_set_mss.
12573         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12574           VPN daemon.
12575         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12576           Change the retval of nm_system_get_mtu to guint32.
12577         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12578           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12579           servers can specify MTU's, we should set it here if the MTU was not
12580           provided.
12581
12582 2006-03-27  Jürg Billeter  <j@bitron.ch>
12583
12584         * configure.in:
12585         * initscript/Makefile.am:
12586         * initscript/paldo/Makefile.am:
12587         * initscript/paldo/NetworkManager.in:
12588         * initscript/paldo/NetworkManagerDispatcher.in:
12589         * src/backends/Makefile.am:
12590         * src/backends/NetworkManagerPaldo.c:
12591                 - Add paldo support
12592
12593 2006-03-27  Dan Williams  <dcbw@redhat.com>
12594
12595         Patch from Christian Persch <chpe@gnome.org>
12596         * gnome/applet/applet.glade
12597                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12598
12599 2006-03-27  Dan Williams  <dcbw@redhat.com>
12600
12601         Patch from Diffe <diffie@blazebox.homeip.net>
12602         * src/backends/NetworkManagerSlackware.c
12603                 - Don't restart howl, since it's been replaced by Avahi
12604                         in most distributions
12605
12606 2006-03-27  Dan Williams  <dcbw@redhat.com>
12607
12608         Patch from Tor Krill <bugzilla@krill.nu>
12609         * configure.in
12610           initscript/Makefile.am
12611           src/backends/Makefile.am
12612           src/backends/NetworkManagerArch.c
12613           initscript/Arch/Makefile.am
12614           initscript/Arch/networkmanager-dispatcher.in
12615           initscript/Arch/networkmanager.in
12616                 - Add Arch Linux support, fixes gnome.org #335147
12617
12618 2006-03-27  Dan Williams  <dcbw@redhat.com>
12619
12620         Patch from Diffe <diffie@blazebox.homeip.net>
12621      * initscript/Slackware/rc.networkmanager
12622         - update, fixed gnome.org #333368
12623
12624 2006-03-27  Robert Love  <rml@novell.com>
12625
12626         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12627           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12628
12629 2006-03-27  Robert Love  <rml@novell.com>
12630
12631         Patch by Jürg Billeter <j@bitron.ch>:
12632         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12633           systems.
12634         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12635           as we prefer glibc over kernel headers, if possible.
12636
12637 2006-03-27  Robert Love  <rml@novell.com>
12638
12639         Patch by Jon Escombe <list@dresco.co.uk>:
12640         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12641         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12642           fail, don't bail out.  We don't expect all of the various WPA-EAP
12643           values to be present.
12644         * src/nm-ap-security.c: We need to match all capabilities for each
12645           encryption type, not any one of them.
12646
12647 2006-03-27  Robert Love  <rml@novell.com>
12648
12649         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12650           restart, not reload, ypbind.  Unfortunately there is no superior
12651           solution.
12652
12653 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12654
12655         * gnome/applet/applet-notifications.c:
12656         When displaying a notification, make sure to get rid of the
12657         previous notification so as to not have competing bubbles,
12658         and stop leaking the old one.
12659
12660         * gnome/applet/applet.c:
12661         * gnome/applet/applet.h:
12662         Add a new 'notification' member to the applet, and zero it out
12663         and free it appropriately.
12664
12665 2006-03-23  Robert Love  <rml@novell.com>
12666
12667         Patch by j <j@bootlab.org>:
12668         * gnome/applet/applet.glade: Don't set the invisible_char property,
12669           which simply overrides the GTK default.  By and by, this behavior
12670           ought to be fixed in Glade.
12671
12672 2006-03-22  Robert Love  <rml@novell.com>
12673
12674         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12675
12676 2006-03-22  Robert Love  <rml@novell.com>
12677
12678         Bug fix by Timo Hoenig <thoenig@suse.de>:
12679         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12680           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12681           and the applet going AWOL.
12682
12683 2006-03-22  Robert Love  <rml@novell.com>
12684
12685         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12686           preprocessor define and use it instead of open-coded the DHCP
12687           timeout, which is currently 25 seconds, everywhere.
12688
12689 2006-03-22  Robert Love  <rml@novell.com>
12690
12691         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12692         key exchange via WPA, ostensibly providing good security without
12693         requiring hardware that supports full WPA.  Also, add UI elements to
12694         allow the user to select the pairwise & group cipher for WPA Enterprise
12695         networks, too:
12696         * gnome/applet/applet.glade: Update glade file.
12697         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12698           key type, too, to and from gconf.
12699         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12700           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12701           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12702           the capabilities match.
12703         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12704           prototype.
12705         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12706           serialize from UI to DBUS.
12707         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12708           one element.
12709         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12710           nmu_security_serialize_wpa_eap_with_cipher(), and
12711           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12712           serialize/deserialize the key type via DBUS as the new third DBUS
12713           parameter.
12714         * libnm-util/dbus-helpers.h: Update prototypes.
12715         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12716           too.  If the key type is WEP104, do Dynamic WEP, which means
12717           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12718           pairwise and group ciphers (fixes a FIXME).
12719
12720 2006-03-21  Robert Love  <rml@novell.com>
12721
12722         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12723           nm_system_get_mtu(), which returns a user-provided or system-mandated
12724           MTU value for a given device, if any, or zero if no such value
12725           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12726           if we have a provided value.
12727         * src/nm-device.c: Set the MTU of devices.
12728         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12729         * src/backends/NetworkManagerDebian.c,
12730           src/backends/NetworkManagerGentoo.c,
12731           src/backends/NetworkManagerRedHat.c,
12732           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12733
12734 2006-03-21  Robert Love  <rml@novell.com>
12735
12736         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12737           configuration file.
12738
12739 2006-03-17  Robert Love  <rml@novell.com>
12740
12741         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12742           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12743           it, in case it is not running in the first place.  We just want its
12744           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12745
12746 2006-03-15  Robert Love  <rml@novell.com>
12747
12748         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12749           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12750           label "WEP 40/128-bit" is inconsistent because the physical key size
12751           is 40 or 104-bits, to which a 24-bit initialisation vector is
12752           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12753           to read "40/104" or "64/128".  I do not care much which, but most
12754           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12755           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12756           WEP passphrase support only handles 128-bit keys, and any future
12757           64-bit passphrase support will require a new option (no way to auto-
12758           detect the target key size), explicitly label our passphrase support
12759           "WEP 128-bit Passphrase".
12760
12761 2006-03-15  Robert Love  <rml@novell.com>
12762
12763         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12764           the system init scripts (or some other mechanism) starting it (or a
12765           compatible DBUS service) before NetworkManager runs.  This means that
12766           distributions might need to update their init scripts.  This fixes
12767           possible races and is quite a bit cleaner.
12768         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12769           starting the NetworkManager daemon.
12770
12771
12772 2006-03-14  Robert Love  <rml@novell.com>
12773
12774         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12775           before adding anything.
12776
12777 2006-03-13  Robert Love  <rml@novell.com>
12778
12779         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12780           widgets, too, if they exist, in case the user hit the back button.
12781           Fixes a bug where the details page contains the widgets of multiple
12782           VPN modules (Novell bug #157048).
12783
12784 2006-03-13  Robert Love  <rml@novell.com>
12785
12786         Patch by Timo Hoenig <thoenig@suse.de>:
12787         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12788           daemon survive DBUS restarts, too.
12789
12790 2006-03-10  Robert Love  <rml@novell.com>
12791
12792         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12793           passphrase or key.
12794         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12795           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12796           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12797           in response to "toggled" signal on new toggle.
12798
12799 2006-03-10  Robert Love  <rml@novell.com>
12800
12801         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12802           serialization if strings are NULL, lest DBUS get angry.
12803
12804 2006-03-10  Robert Love  <rml@novell.com>
12805
12806         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12807
12808 2006-03-09  Robert Love  <rml@novell.com>
12809
12810         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12811           configurations.
12812
12813 2006-03-09  Dan Williams  <dcbw@redhat.com>
12814
12815         Track pending call requests in the applet, and report how many are
12816         outstanding, and how long each completed one takes.
12817         
12818         * gnome/applet/applet-dbus-devices.c
12819           gnome/applet/applet-dbus-vpn.c
12820                 - Track pending calls
12821
12822         * gnome/applet/applet-dbus.[ch]
12823                 - Remove some unused enums
12824                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12825                         new functions to track dbus pending calls and spit out some
12826                         statistics about them
12827
12828 2006-03-09  Robert Love  <rml@novell.com>
12829
12830         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12831           nm_ap_set_timestamp() take the second and micro-second parameters as
12832           direct arguments, which avoids both a dynamic memory allocation and a
12833           structure-to-structure copy!  Add a new interface, the aptly named
12834           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12835           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12836           the return from nm_ap_get_timestamp().  New users should use the new
12837           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12838           the extreme benefit to performance.
12839         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12840           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12841
12842 2006-03-08  Robert Love  <rml@novell.com>
12843
12844         * gnome/applet/applet.glade: Hide the password entry text with
12845           asterisks.
12846
12847 2006-03-08  Robert Love  <rml@novell.com>
12848
12849         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12850           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12851           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12852           a second argument, NMData.
12853         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12854         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12855           config files as trusted.
12856
12857 2006-03-06  Robert Love  <rml@novell.com>
12858
12859         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12860         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12861           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12862           Rivera, detect if the applet was auto-started.  If so, ask the user
12863           if he or she would like to stop automatically running the applet on
12864           login.  If so, disable autostart.
12865
12866 2006-03-06  Robert Love  <rml@novell.com>
12867
12868         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12869           directory in CFLAGS so developers can actually use NetworkManager.h.
12870
12871 2006-03-06  Robert Love  <rml@novell.com>
12872
12873         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12874           open-coded integer constants.  Add state_to_string() to map a given
12875           state to a textual description, and provide that when notifying of
12876           state change.
12877         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12878           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12879           this header directly, but it is currently not installed on most
12880           systems.
12881
12882 2006-03-05  Dan Williams  <dcbw@redhat.com>
12883
12884         Process netlink messages in device subclasses rather than in
12885         NetworkManager.c.  Also add support for recognizing Wireless Events.
12886         
12887         * configure.in
12888                 - Find GLIB_GENMARSHAL
12889
12890         * src/Makefile.am
12891                 - Since we're marshalling custom types for wireless event signals,
12892                         we get to create our own marshallers using GLIB_GENMARSHAL
12893
12894         * src/NetworkManager.c
12895                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12896                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12897                         cut down somewhat.  We no longer process signals here.
12898                 - (nm_data_new): create the netlink monitor here, and remove a
12899                         useless call to nm_policy_schedule_device_change_check()
12900                 - (nm_data_free): get rid of the netlink monitor here
12901                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12902                 - (main): don't create the netlink monitor here, let nm_data_new
12903                         do that.  Call nm_policy_schedule_device_change_check() right
12904                         before we jump to the mainloop to figure out which device
12905                         to use first
12906
12907         * src/NetworkManagerSystem.[ch]
12908                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12909                         convert back and forth from interface names to interface
12910                         indexes
12911
12912         * src/nm-device-802-11-wireless.c
12913                 - (real_init): connect to wireless-event signals from the netlink
12914                         monitor object
12915                 - (nm_device_802_11_wireless_event): new function, schedule handler
12916                         for wireless event signals from the netlink monitor object.  We
12917                         want the handler to run in the device's context
12918                 - (wireless_event_helper): handle wireless-event signals from netlink
12919                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12920                         signal handler
12921
12922         * src/nm-device-802-11-wireless.h
12923                 - remove unused prototype for nm_device_802_11_wireless_new
12924
12925         * src/nm-device-802-3-ethernet.c
12926                 - (real_init): new function; set up signal handlers for link events
12927                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12928                         handler for netlink link activated events on device's main loop
12929                 - (link_activated_helper): when we get a link activated event, set
12930                         the device's link to be active
12931                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12932                         handler for netlink link deactivated events on device's main loop
12933                 - (link_deactivated_helper): when we get a link deactivated event, set
12934                         the device's link to be inactive
12935                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12936                         dispose
12937
12938         * src/nm-device-802-3-ethernet.h
12939                 - remove unused prototype for nm_device_802_3_ethernet_new
12940
12941         * src/nm-device.[ch]
12942                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12943                         but locks the device list
12944                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12945
12946         * src/nm-netlink-monitor.[ch]
12947                 - (nm_netlink_monitor_class_install_signals): New signal
12948                         "wireless-event"
12949                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12950                         at the device list
12951                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12952
12953         * src/nm-marshal-main.c
12954                 - Include generated nm-marshal.c and nm-marshal.h
12955
12956         * src/nm-marshal.list
12957                 - List of custom marshal functions
12958
12959 2006-03-05  Dan Williams  <dcbw@redhat.com>
12960
12961         * gnome/applet/applet-notifications.h
12962                 - Protect prototype of nma_send_event_notification() because it
12963                         includes libnotify-specific types
12964                 - Include libnotify/libnotify.h too, since we technically need it
12965
12966         * gnome/applet/applet.c
12967                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12968                 - (nma_show_vpn_login_banner_dialog): add some error checking
12969
12970 2006-03-04  Dan Williams  <dcbw@redhat.com>
12971
12972         Clean up activation cancellation.  Should be a lot faster now.  Observed
12973         an issue with wireless devices between stage 2 and 3 of activation, where
12974         activation would be cancelled, but the device thread wouldn't notice until
12975         the supplicant association timed out.  Reorganize activation such that
12976         a cancellation handler gets immediately scheduled in the device's thread,
12977         and devices have a chance to perform any custom cleanup too.
12978
12979         * src/nm-device.[ch]
12980                 - (activation_cancel_handler): new device-type-specific function
12981                         for cleaning up device-type-specific stuff on cancellation
12982                 - (cancel_activation): removed
12983                 - (nm_device_activation_cancel): subsume functionality of
12984                         real_cancel_activation, but instead of doing anything, punt
12985                         operation to a handler that's run in device-thread context
12986                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12987                         a warning message
12988                 - (activation_handle_cancel_helper): cancellation handler run in
12989                         device-thread context, calls device-type-specific cancelation,
12990                         then tears down the activation request
12991                 - (real_activation_cancel_handler): generic cancellation handler,
12992                         deals with cancelling any in-process DHCP request
12993                 - (nm_device_activate_stage1_device_prepare,
12994                    nm_device_activate_stage2_device_config,
12995                    nm_device_activate_stage3_ip_config_start,
12996                    nm_device_activate_stage4_ip_config_get,
12997                    nm_device_activate_stage4_ip_config_timeout,
12998                    nm_device_activate_stage5_ip_commit): don't call
12999                         nm_device_schedule_activation_handle_cancel() any more, since
13000                         cancellation will have been already scheduled for us by
13001                         nm_device_activation_cancel().  Just exit the function and
13002                         assume that the cancel handler will be called next.
13003
13004         * src/nm-device-802-3-ethernet.c
13005                 - (real_act_stage2_config): remove; didn't do anything anyway
13006
13007         * src/nm-device-802-11-wireless.c
13008                 - (supplicant_status_cb): ensure we don't do anything if the activation
13009                         got cancelled
13010                 - (real_activation_cancel_handler): implement; cancel user key request
13011                         on activation cancellation
13012
13013 2006-03-04  Dan Williams  <dcbw@redhat.com>
13014
13015         * src/nm-device-802-11-wireless.c
13016                 - (supplicant_send_network_config): assume that drivers that don't
13017                         support WPA pretty much suck, and can't handle NM scanning
13018                         along with wpa_supplicant.
13019
13020 2006-03-03  Robert Love  <rml@novell.com>
13021
13022         * configure.in: Bump version to 0.6.0.
13023         * NEWS: Update.
13024
13025 2006-03-03  Robert Love  <rml@novell.com>
13026
13027         * configure.in: Require DBUS 0.60 or later.
13028
13029 2006-03-03  Dan Williams  <dcbw@redhat.com>
13030
13031         Fix a crash if an "Other wireless network" was chosen, failed, then
13032         chosen again from the applet's menu.  If the other network wasn't
13033         noticed in a scan, it wouldn't have any capabilities, but would still
13034         be listed because the user forced the network.  To fix this, we set
13035         sensible capabilities on the forced network, which will get overwritten
13036         with the correct ones if the network shows up later in a scan.
13037         
13038         * src/nm-ap-security.h
13039                 - Add a new "get_default_capabilities_func" member to the
13040                         NMAPSecurity class
13041
13042         * src/nm-ap-security.c
13043                 - (nm_ap_security_get_default_capabilities): new function
13044
13045         * src/nm-ap-security.c
13046           src/nm-ap-security-wep.c
13047           src/nm-ap-security-wpa-psk.c
13048           src/nm-ap-security-wpa-eap.c
13049                 - Implement get_default_capabilities_func() for all, which
13050                         uses the information contained in a specific NMAPSecurity
13051                         object to determine default AP capabilites necessary
13052                         to support that object
13053
13054         As a secondary measure, we now prune artificial access points that fail
13055         to be activated right away.  The thing failed, and we have no scan data for
13056         it, so it's pretty much useless since security information is only saved
13057         in the applets when a connection is successful.
13058
13059         * src/NetworkManagerAPList.c
13060                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
13061                         not artificial.  If we see it, it's no longer a figment of the
13062                         user's imagination :)
13063
13064         * src/NetworkManagerPolicy.c
13065                 - (nm_policy_activation_failed): send along the failed AP if we
13066                         have it
13067
13068         * src/nm-device-802-11-wireless.c
13069                 - (real_activation_failure_handler): remove artificial APs from
13070                         the device list, because activation failed
13071
13072 2006-03-02  Robert Love  <rml@novell.com>
13073
13074         Add support for retrieving both the per-device speed and the
13075         per-network maximum supported rate.  Then change the getProperties
13076         DBUS API for both networks and devices to report this informaiton.
13077         Finally, display the information via both nm-applet and nm-tool:
13078         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13079           and set it.
13080         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13081           Information' dialog.
13082         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13083         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13084           network_device_get_speed() and network_device_set_speed() for
13085           retrieving and setting, respectively, a network device's current
13086           speed.
13087         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13088         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13089           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13090           not matter (yet) what the units are, because we only feed it its own
13091           output.  Implement SIOCGIRATE and set the per-network maximum
13092           supported rate during scanning.
13093         * src/nm-device-802-11-wireless.h: Export the function
13094           nm_device_802_11_wireless_get_bitrate().
13095         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13096           function nm_device_802_3_ethernet_get_speed() for returning an
13097           802.3's current speed, in Mb/s.
13098         * test/nm-tool.c: Display the per-device current speed, if available,
13099           and the per-network maximum rate.
13100
13101 2006-03-02  Dan Williams  <dcbw@redhat.com>
13102
13103         * src/nm-device-802-11-wireless.c
13104                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13105                         card when it gets initialized.  Since devices don't get added to
13106                         the scan list until they are initialized, this function wasn't
13107                         setting the intitial scan interval correctly, and was leaving
13108                         it at 0.  This caused cards to get many scan requests in a short
13109                         amount of time when they were initialized
13110
13111 2006-03-02  Robert Love  <rml@novell.com>
13112
13113         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13114           active device.  But do not do what we used to do and override the
13115           state, which caused the dreaded icon race of '05.
13116
13117 2006-03-02  Robert Love  <rml@novell.com>
13118
13119         Commit Dan's update of my previous commit:
13120         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13121           set_mode() function itself does the check.  But do only set the
13122           frequency if in Ad-Hoc mode.
13123
13124 2006-03-02  Robert Love  <rml@novell.com>
13125
13126         Patch by Brian Magnuson <magnuson@rcn.com>:
13127         * src/nm-device-802-11-wireless.c: During scanning, only set the
13128           wireless mode to infrastructure if it is not currently in
13129           infrastructure mode.  For some driver, setting the mode is a costly
13130           operation, apparently.
13131
13132 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13133
13134         * Makefile.am: use the correct dir for autostart mechanism.
13135
13136 2006-02-28  Dan Williams  <dcbw@redhat.com>
13137
13138         Patch from Brian Magnuson <magnuson@rcn.com>
13139         * gnome/applet/applet.c
13140                 - (nma_show_vpn_failure_dialog): fix errors left over from
13141                         libnotify support changes
13142
13143 2006-02-28  Dan Williams  <dcbw@redhat.com>
13144
13145         * src/vpn-manager/nm-vpn-act-request.[ch]
13146                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13147                         just one value
13148                 - (nm_vpn_act_request_is_failed): new function; return whether or
13149                         not the vpn activation request has failed
13150
13151         * src/vpn-manager/nm-vpn-manager.c 
13152                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13153                         daemon to kill the connection when the activation request fails.
13154                         Fixes issue where NM would get confused if the VPN activation
13155                         request timed out, and would not allow further VPN connections
13156                         on that service.
13157
13158 2006-02-28  Dan Williams  <dcbw@redhat.com>
13159
13160         * gnome/applet/applet.c
13161                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13162                         overlapping connection requests, disable all VPN menu items
13163                         but the active VPN connection
13164
13165 2006-02-28  Dan Williams  <dcbw@redhat.com>
13166
13167         * src/vpn-manager/nm-vpn-connection.c
13168                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13169                         called g_object_unref() on the connection's parent device
13170                         when it should have been ref-ed instead.  Fixes crash with
13171                         repeated vpn connect requests
13172
13173 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13174
13175         * gnome/applet/applet.glade:
13176         Mark a few strings non-translatable, since they shouldn't be.
13177
13178 2006-02-28  Dan Williams  <dcbw@redhat.com>
13179
13180         * src/vpn-manager/nm-vpn-service.c
13181                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13182                         already running, don't blindly ask it to connect, but wait until
13183                         it's in the STOPPED state first.  Fixes an assertion when user
13184                         starts a second vpn connection without stopping the first.
13185                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13186                         dbus service exists before continuing with the connection
13187                         process, and reduce latency while waiting for it to become
13188                         available
13189                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13190                         waiting for the vpn service daemon to become available
13191                 - General log message cleanups; show progress via "Stage x of 4"
13192                         rather than not telling anyone how many stages there are
13193
13194 2006-02-28  Robert Love  <rml@novell.com>
13195
13196         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13197         * src/backends/NetworkManagerSuSE.c: Implement the interface
13198           nm_system_should_modify_resolv_conf() for SUSE.
13199         * src/backends/NetworkManagerDebian.c,
13200           src/backends/NetworkManagerGentoo.c,
13201           src/backends/NetworkManagerRedHat.c,
13202           src/backends/NetworkManagerSlackware.c: Add stub.
13203         * src/named-manager/Makefile.am: Grab includes from src.
13204         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13205           automatic updating of resolv.conf.  This is useful for testing,
13206           broken static configurations, and administrator lock-down.
13207
13208 2006-02-28  Dan Williams  <dcbw@redhat.com>
13209
13210         * src/nm-device-802-11-wireless.c
13211                 - Move all the wpa_supplicant-related management stuff into its
13212                         own struct, just for oranization's sake
13213                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13214                         to a GIOChannel/GSource
13215                 - (supplicant_log_stdout): new function; grab output from the
13216                         wpa_supplicant stdout pipe and write it to our logs.
13217
13218 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13219
13220         * src/nm-device-802-11-wireless.c:
13221         Err, fix thinko in my previous commit.
13222
13223 2006-02-28  Robert Love  <rml@novell.com>
13224
13225         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13226
13227 2006-02-28  Robert Love  <rml@novell.com>
13228
13229         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13230           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13231           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13232           deserializers are responsible for freeing the returned DBUS strings.
13233
13234 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13235
13236         * src/nm-device-802-11-wireless.c:
13237         The scan list is being pruned prematurely.  We should prune after
13238         the device has gone MIA for three scans, not one.  Split out the
13239         interval to realtime seconds function to better serve this.
13240
13241 2006-02-27  Robert Love  <rml@novell.com>
13242
13243         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13244           Open the pid file O_TRUNC, so if it already exists we truncate it to
13245           zero length.  Also, be more verbose about warnings generated during
13246           writing out the pid file.  Finally, always write out the pid file if
13247           in daemon mode.  Use "--pid-file" to override the default.
13248
13249 2006-02-27  Robert Love  <rml@novell.com>
13250
13251         Patch by R. Vinay <rvinay@novell.com>:
13252         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13253           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13254           Novell bug #153628).
13255           
13256 2006-02-27  Robert Love  <rml@novell.com>
13257
13258         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13259           entry so user can hit <ENTER> after entering passphrase (Novell bug
13260           #153738).
13261
13262 2006-02-27  Dan Williams  <dcbw@redhat.com>
13263
13264         * gnome/applet/*
13265                 - Mass search/replace of:
13266                         nmwa -> nma
13267                         NMWirelessApplet -> NMApplet
13268                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13269                    (it ain't just for wireless anymore, ma!)
13270                 - Fix duplicate function name printing when using nm_warning
13271                 - wireless-applet.glade -> applet.glade
13272
13273 2006-02-27  Dan Williams  <dcbw@redhat.com>
13274
13275         * dispatcher-daemon/NetworkManagerDispatcher.c
13276                 - Accept --pid-file with a path to a pidfile, write it out on
13277                         startup, and delete it on shutdown
13278
13279         * src/NetworkManager.c
13280                 - Accept --pid-file with a path to a pidfile, write it out on
13281                         startup, and delete it on shutdown
13282                 - Move nm_print_usage() lower
13283
13284         * initscripts/RedHat/NetworkManager.in
13285                 - Use new --pid-file option
13286                 - Fix service stopping to wait a bit for NM to quit
13287
13288         * initscripts/RedHat/NetworkManagerDispatcher.in
13289                 - Use new --pid-file option
13290
13291 2006-02-26  Dan Williams  <dcbw@redhat.com>
13292
13293         * src/Makefile.am
13294                 - make and install nm-crash-logger
13295
13296         * src/nm-logging.[ch]
13297                 - New files; consolidate logging and crash handling
13298
13299         * src/nm-crash-logger.c
13300           src/gdb-cmd
13301                 - Standalong crashlogger for NM, grab a backtrace
13302                         using GDB
13303
13304         * src/NetworkManager.[ch]
13305                 - Remove signal handling and put it into nm-logging.c
13306
13307 2006-02-26  Dan Williams  <dcbw@redhat.com>
13308
13309         * configure.in
13310           gnome/applet/Makefile.am
13311                 - Conditionalize all the notify stuff
13312
13313         Merge most of Chris Aillon's notification patch:
13314         
13315         * gnome/applet/applet-notifications.[ch]
13316                 - New files; show a notification
13317         
13318         * gnome/applet/applet-dbus-devices.[ch]
13319                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13320                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13321                         new functions, do the right thing when a device change occurs
13322
13323         * gnome/applet/applet-dbus.c
13324                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13325                         signals, so we can handle them specially
13326
13327         * gnome/applet/applet.[ch]
13328                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13329                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13330                 - (nmwa_notify_state): remove
13331                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13332                         notification work is now done when the appropriate dbus signals
13333                         are received.
13334                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13335                         defer execution of the notification/dialog stuff.  That was an
13336                         artifact of the previous multi-threaded nature of the applet
13337                         and is now pointless.
13338                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13339                         no longer needed.  Function folded into applet-notifications.c
13340
13341         * src/NetworkManagerPolicy.c
13342                 - (nm_policy_activation_finish): send the AP along with the device
13343                         status change signal, if the connection is wireless.  Should
13344                         fix the race where applet would show a connection to "unknown"
13345
13346 2006-02-25  Robert Love  <rml@novell.com>
13347
13348         Add WPA Enterprise support:
13349         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13350           nm-gconf-wso-wpa-eap.h.
13351         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13352           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13353           serialization and deserialization.
13354         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13355           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13356           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13357         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13358           settings related to WPA Enterprise.
13359         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13360           instantiate WPA Enterprise wireless-security-option.
13361         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13362           Implement WPA Enterprise wireless-security-option object.
13363         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13364           defines.  Cleanup.
13365         * libnm-util/cipher-wpa-psk-hex.c,
13366           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13367         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13368           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13369           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13370           including the cipher to DBUS method, and
13371           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13372           to output.
13373         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13374           nm-ap-security-wpa-eap.h
13375         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13376           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13377         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13378           files.  Implement NMAPSecurityWPA_EAP object.
13379         * src/nm-ap-security-wpa-psk.c: Cleanup.
13380         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13381           an NMAPSecurityWPA_EAP object via the method
13382           nm_ap_security_wpa_eap_new_deserialize().
13383         * src/nm-dbus-nm.c: Cleanup.
13384         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13385           WPA Enterprise support.
13386
13387 2006-02-24  Robert Love  <rml@novell.com>
13388
13389         Patch from Timo Hoenig <thoenig@suse.de>:
13390         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13391
13392 2006-02-24  Robert Love  <rml@novell.com>
13393
13394         Patch from Dan Winship <danw@novell.com>:
13395         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13396           area to transparent.
13397
13398 2006-02-21  Dan Williams  <dcbw@redhat.com>
13399
13400         * gnome/applet/applet.[ch]
13401           gnome/applet/applet-dbus.c
13402                 - Implement notification support for VPN messages too
13403
13404 2006-02-21  Dan Williams  <dcbw@redhat.com>
13405
13406         * gnome/applet/applet-dbus-info.c
13407                 - Clean up warning messages to not double-print the function
13408
13409 2006-02-21  Dan Williams  <dcbw@redhat.com>
13410
13411         * gnome/applet/applet-compat.c
13412                 - (convert_one_entry): accept entries without a key_type and
13413                         convert them to unencrypted networks
13414
13415 2006-02-21  Dan Williams  <dcbw@redhat.com>
13416
13417         * gnome/libnm_glib/libnm_glib.c
13418                 - Use __func__ everywhere we can
13419                 - Code cleanups
13420                 - Use dbus pending calls rather than blocking
13421                 - Reduce busywaits for our thread to start and stop
13422                         (gnome.org #330562)
13423                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13424                         stomp on others using the default shared dbus connection.
13425                         Fixes #rh177546# and gnome.org #326572
13426
13427 2006-02-21  Dan Williams  <dcbw@redhat.com>
13428
13429         Patch from Rodney Dawes <dobey@novell.com>
13430         * configure.in
13431           gnome/applet/Makefile.am
13432           gnome/applet/applet.c
13433                 - Add libnotify support if '--enable-notify=yes' is passed
13434                   at configure time
13435
13436 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13437
13438         * configure.in (ALL_LINGUAS): ko added. (Korean)
13439
13440 2006-02-15  Robert Love  <rml@novell.com>
13441
13442         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13443           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13444           and WPA_SUPPLICANT_CONTROL_SOCKET.
13445         
13446 2006-02-15  Robert Love  <rml@novell.com>
13447
13448         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13449           information about what connection stage we are at, provide the total
13450           number of stages, e.g. "Stage 2 of 5", so users know how far along
13451           they are if they experience problems.
13452
13453 2006-02-15  Robert Love  <rml@novell.com>
13454
13455         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13456           define to $sysconfdir.
13457         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13458           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13459           type of VPN and then editing another results in a mangled dialog
13460           box containing the widgets from both VPNs (fixes Novell #150854).
13461           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13462
13463 2006-02-14  Robert Love  <rml@novell.com>
13464
13465         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13466           syslog's file descriptor.
13467
13468 2006-02-14  Robert Love  <rml@novell.com>
13469
13470         Fix bug around since the change to "deal with APs changing settings on
13471         us," checked in on the fifth of February in the year of the dog, 
13472         wherein connecting to non-broadcast encrypted networks always fails
13473         because nm_ap_get_encrypted() always returns FALSE, even when the user
13474         provided a key, because the newly-created fake AP does not have any
13475         capabilities set, which is a sypmtom of security settings not matching
13476         capabilities (Novell bug #150784):
13477         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13478           nm_ap_add_capabilities_from_security(), which sets the given AP's
13479           capabilities off the given security settings.  Also improve our
13480           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13481           NM_AUTH_CIPHER_AUTO.
13482         * src/nm-device-802-11-wireless.c: Call the function
13483           nm_ap_add_capabilities_from_security() to ensure that capabilities
13484           match newly updated security settings.
13485
13486 2006-02-14  Robert Love  <rml@novell.com>
13487
13488         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13489           error as a string, not an integer, if possible; do not print the
13490           function name twice; always give the interface, if possible; misc.
13491           cleanup.
13492
13493 2006-02-12  Dan Williams  <dcbw@redhat.com>
13494
13495         Patch from Tom Parker <palfrey@tevp.net>
13496         * src/NetworkManagerSystem.h
13497                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13498                         no longer used
13499
13500         * src/backends/NetworkManagerDebian.c
13501                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13502                         unused variables
13503
13504 2006-02-12  Dan Williams  <dcbw@redhat.com>
13505
13506         * vpn-daemons/openvpn/intltool-extract.in
13507           vpn-daemons/openvpn/intltool-merge.in
13508           vpn-daemons/openvpn/intltool-update.in
13509           vpn-daemons/pptp/intltool-extract.in
13510           vpn-daemons/pptp/intltool-merge.in
13511           vpn-daemons/pptp/intltool-update.in
13512                 - Remove from CVS, they should get created by intltoolize,
13513                         shouldn't they?
13514
13515 2006-02-12  Dan Williams  <dcbw@redhat.com>
13516
13517         * vpn-daemons/pptp/src/pppd/patchlevel.h
13518         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13519                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13520                         Makefile-defined VERSION
13521
13522 2006-02-09  Dan Williams  <dcbw@redhat.com>
13523
13524         Patch from: Vinay A R <rvinay@novell.com>
13525         * src/vpn-manager/nm-vpn-act-request.[ch]
13526                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13527                         IPSec VPNs require them for std gateway.
13528                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13529                         and 'user_routes_count'
13530                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13531                         defined routes  from NMVPNActRequest object, returns the string
13532                         array of routes.
13533
13534         * src/vpn-manager/nm-vpn-manager.[ch]
13535                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13536                         for 'user_routes' and 'user_routes_count'
13537         
13538         * src/vpn-manager/nm-dbus-vpn.c
13539                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13540                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13541         
13542         * src/vpn-manager/nm-vpn-service.c
13543                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13544                         the vpn daemon
13545
13546         Modifications by Dan:
13547         * src/vpn-manager/nm-vpn-service.c
13548                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13549                         arrays into dbus
13550
13551         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13552         * vpn-daemons/pptp/src/nm-pptp-service.c
13553         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13554                 - Grab user routes from dbus message
13555                 - Free all string arrays we got from dbus
13556
13557 2006-02-07  Robert Love  <rml@novell.com>
13558
13559         Patch by Stefan Seyfried <seife@suse.de>:
13560         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13561
13562 2006-02-06  Robert Love  <rml@novell.com>
13563
13564         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13565
13566 2006-02-06  Robert Love  <rml@novell.com>
13567
13568         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13569           test ">=" is never false.  If no newline is found, we loop forever.
13570           We can just check for ">" because the following if() will see the
13571           zero-th argument if the while() gets that far.
13572
13573 2006-02-05  Dan Williams  <dcbw@redhat.com>
13574
13575         Refine handling of non-broadcast networks.
13576
13577         * src/NetworkManagerAPList.c
13578                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13579                         property from scanned AP to the AP from the device list
13580
13581         * src/nm-device-802-11-wireless.c
13582                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13583                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13584                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13585                         networks since those don't have APs.
13586                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13587                         AP as non-SSID-broadcasting
13588                 - (process_scan_results): don't handle non-SSID-broadcasting here
13589
13590 2006-02-05  Dan Williams  <dcbw@redhat.com>
13591
13592         * src/nm-device-802-11-wireless.c
13593                 - (get_supplicant_timeout): new function; return
13594                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13595                         14 channels.  These are likely a/b/g cards, like Atheros, and
13596                         slow as hell to scan.
13597                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13598                         get_supplicant_timeout()
13599
13600 2006-02-05  Dan Williams  <dcbw@redhat.com>
13601
13602         * src/dhcp-manager/nm-dhcp-manager.c
13603                 - Loose a commit race with Robert; make sure size check
13604                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13605
13606 2006-02-05  Robert Love  <rml@novell.com>
13607
13608         Patch by Christoph Brill <chrisbrill@gmx.net>:
13609         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13610           with DHCP_SERVICE_NAME.
13611
13612 2006-02-05  Dan Williams  <dcbw@redhat.com>
13613
13614         Remove anything having to do with device_setup_func from the
13615         AP security objects, since it's no longer used.
13616
13617         * src/nm-ap-security.h
13618                 - Kill device_setup_func and nm_ap_security_device_setup()
13619
13620         * src/nm-ap-security-wep.c
13621           src/nm-ap-security-wpa-psk.c
13622                 - (real_device_setup): remove
13623
13624         * src/nm-ap-security.c
13625                 - (real_device_setup): remove
13626                 - (nm_ap_security_device_setup): remove
13627
13628         * src/nm-device-802-11-wireless.[ch]
13629                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13630                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13631                         and done by wpa_supplicant now anyway
13632
13633 2006-02-05  Dan Williams  <dcbw@redhat.com>
13634
13635         * src/nm-device-802-11-wireless.c
13636                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13637                         settings on us.  Previously NM would loop asking for the
13638                         key but getting the same one back.  Now, if the NMI-supplied
13639                         cipher doesn't overlap with the scanned AP capabilities,
13640                         we request a completely new key from the user.
13641
13642 2006-02-05  Dan Williams  <dcbw@redhat.com>
13643
13644         * src/NetworkManagerUtils.c
13645                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13646                         Handle newline killing better
13647
13648 2006-02-05  Dan Williams  <dcbw@redhat.com>
13649
13650         * gnome/applet/nm-gconf-wso.c
13651                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13652                         of unencrypted access point security info.
13653
13654 2006-02-03  Robert Love  <rml@novell.com>
13655
13656         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13657           user's encryption key, so we print the err_msg_cmd not the command,
13658           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13659           sense.
13660
13661 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13662
13663         * initscript/RedHat/NetworkManagerDispatcher.in:
13664         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13665         Patch from Dan Walsh <dwalsh@redhat.com>
13666
13667 2006-02-03  Robert Love  <rml@novell.com>
13668
13669         * dispatcher-daemon/NetworkManagerDispatcher.c,
13670           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13671           but use the sysconfdir.
13672
13673 2006-02-03  Robert Love  <rml@novell.com>
13674
13675         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13676           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13677           'char *'.
13678         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13679           nm_ip4_config_get_hostname() and
13680           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13681         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13682           leak g_strdup() result.
13683
13684 2006-02-03  Robert Love  <rml@novell.com>
13685
13686         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13687           broadcast == TRUE.  Also, copy broadcast and artificial properties
13688           from source network to destination in nm_ap_copy().
13689         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13690           since we now default new networks to non-hidden.
13691
13692 2006-02-03  Dan Williams  <dcbw@redhat.com>
13693
13694         * gnome/applet/main.c
13695                 - (main): change the NEVER->ALWAYS so we start at the
13696                         beginning of the session, if being session-managed
13697
13698 2006-02-03  Dan Williams  <dcbw@redhat.com>
13699
13700         * gnome/applet/main.c
13701                 - (main): in a variation on Robert's patch, change
13702                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13703                         he wants.
13704
13705 2006-02-02  Robert Love  <rml@novell.com>
13706
13707         * src/Makefile.am: If we aren't going to create the run directory at,
13708           uh, run-time, create it during install.  Then users just doing
13709           'make install' are cool, too.  While we are here, create the
13710           dispatcher.d directory, too.
13711         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13712           the exact run directory.
13713         * Makefile.am: Install nm-applet.desktop.
13714
13715 2006-02-02  Robert Love  <rml@novell.com>
13716
13717         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13718           structure, which denotes whether or not the AP is hidden.  This is a
13719           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13720           can show up in the scan list.  Add nm_ap_get_broadcast() and
13721           nm_ap_set_broadcast() accessor interfaces.
13722         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13723           nm_ap_set_broadcast().
13724         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13725           "getProperties" method, which denotes whether or not the given
13726           network is hidden.
13727         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13728           an artificial network.  Set broadcast to TRUE when scanning returns
13729           an ESSID and FALSE when not.
13730         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13731           from "getProperties" method on a network.  Possible TODO is to
13732           somehow display this.
13733         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13734
13735 2006-02-02  Dan Williams  <dcbw@redhat.com>
13736
13737         * src/nm-device-802-11-wireless.c
13738                 - (supplicant_interface_init): don't try to create
13739                         /var/run/NetworkManager, since that should be done by
13740                         the distro package.  Causes problems for stuff like SELinux
13741
13742 2006-02-02  Robert Love  <rml@novell.com>
13743
13744         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13745         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13746           Check for and handle empty string for iface.
13747
13748 2006-02-01  Robert Love  <rml@novell.com>
13749
13750         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13751           manpage.
13752
13753 2006-01-31  Dan Williams  <dcbw@redhat.com>
13754
13755         * nm-applet.desktop
13756                 - Add --sm-disable to Exec arguments, presuming that when
13757                         using autostart, we don't want session management
13758
13759 2006-01-31  Robert Love  <rml@novell.com>
13760
13761         * src/NetworkManagerAP.c: Add two new manufacturer default network
13762           names: linksys-a and linksys-g.  These are found (at least) on the
13763           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13764           own ESSID.
13765
13766 2006-01-31  Robert Love  <rml@novell.com>
13767
13768         * src/NetworkManagerAP.c: Optimize the function
13769           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13770           machine code.  This is the first in a series of code tweaks aiming to
13771           generate better machine code and make NetworkManager all the better.
13772           Just kidding.  Who has time to go through the assembly generated for
13773           every function?  I certainly don't.  I have a wife, a kid, a job,
13774           a mortgage, a mistress.  But this function was so bad, I was called
13775           to arms.  Like the book.
13776
13777 2006-01-31  Robert Love  <rml@novell.com>
13778
13779         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13780           AP is not broadcasting, to scan with probe request frames.  Required
13781           for non-broadcast networks.
13782
13783 2006-01-31  Robert Love  <rml@novell.com>
13784
13785         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13786           preprocessor define (still 20s).  Fix message text in nm_info()
13787           s/too too/took too/.
13788
13789 2006-01-30  Dan Williams  <dcbw@redhat.com>
13790
13791         * src/nm-device-802-11-wireless.c
13792                 - (supplicant_monitor_start): increase connect/auth timeout to
13793                         20 seconds from 10 seconds
13794
13795 2006-01-30  Dan Williams  <dcbw@redhat.com>
13796
13797         * src/Makefile.am
13798                 - Define LOCALSTATEDIR
13799
13800         * src/nm-device-802-11-wireless.c
13801                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13802                         socket where we want it to
13803
13804         * src/wpa_ctrl.[ch]
13805                 - (wpa_ctrl_open): accept location to put local control socket
13806
13807 2006-01-30  Robert Love  <rml@novell.com>
13808
13809         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13810           get_ip4_string() for "domain_name".
13811
13812 2006-01-30  Robert Love  <rml@novell.com>
13813
13814         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13815           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13816           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13817           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13818           support for "Automatic" pairwise and group cipher configuration by
13819           letting wpa_supplicant handle the details.  Add UI elements, new
13820           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13821           charm.  Note this does more than add a nice feature, it fixes a bug.
13822           Apparently, some people have AP's where the pairwise cipher does not
13823           match the group cipher.  Insane, but true.
13824
13825 2006-01-30  Dan Williams  <dcbw@redhat.com>
13826
13827         * gnome/applet/applet-dbus-devices.c
13828                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13829                         functions, grab device driver name from NetworkManager
13830                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13831
13832         * gnome/applet/applet.c
13833                 - (nmwa_update_info): show driver name in Connection Information
13834                         dialog
13835
13836         * gnome/applet/nm-device.[ch]
13837                 - (network_device_get_driver, network_device_set_driver): add
13838                         accessors for driver name
13839
13840         * gnome/applet/wireless-applet.glade
13841                 - Add line for driver name to Connection Information dialog
13842
13843         * src/nm-dbus-device.c
13844                 - (nm_dbus_device_get_driver): new function to return driver name
13845                 - (nm_dbus_device_methods): hook up driver name function to dbus
13846
13847         * test/nm-tool.c
13848                 - (get_driver_name): new function
13849                 - (detail_device): grab and show driver name
13850
13851 2006-01-30  Robert Love  <rml@novell.com>
13852
13853         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13854           does not parse the markup if it is not part of the format.
13855
13856 2006-01-30  Robert Love  <rml@novell.com>
13857
13858         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13859           FALSE, we have no security options for this dialog, so we throw up
13860           an error dialog instead of a broken passphrase dialog.  Fixes
13861           Novell #138404.
13862         * gnome/applet/wireless-security-manager.c,
13863           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13864           does not add any security options, not even NONE, print a warning
13865           and return FALSE.  This let's functions constructing a dialog bail
13866           out if the device's capabilities and the network's requirements have
13867           zero overlap.
13868
13869 2006-01-27  Robert Love  <rml@novell.com>
13870
13871         * configure.in: Require wpa_supplicant.  Detect location of binary and
13872           use it.  Override with "--with-wpa_supplicant=foo".
13873         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13874           path to wpa_supplicant but use the auto-detected or user-provided
13875           value from configure.
13876
13877 2006-01-27  Robert Love  <rml@novell.com>
13878
13879         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13880           but the DHCP server did not return a hostname, try to look up our
13881           name via DNS and set the system hostname to that.
13882
13883 2006-01-27  Dan Williams  <dcbw@redhat.com>
13884
13885         * src/backends/NetworkManagerRedHat.c
13886                 - Add NM_CONTROLLED system network script support for RH/Fedora
13887
13888 2006-01-27  Dan Williams  <dcbw@redhat.com>
13889
13890         * src/backends/NetworkManagerGentoo.c
13891                 - (nm_system_device_get_disabled): add missing function.
13892                         Gnome BZ #328780
13893
13894 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13895
13896         * configure.in: Added vi in ALL_LINGUAS line.
13897         
13898 2006-01-26  Robert Love  <rml@novell.com>
13899
13900         * src/Makefile.am, src/kernel-types.h: Now that two different source
13901           files are feeling the crack-addled leakage of kernel types such as
13902           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13903           types in user-space -- define a header and include it as needed.
13904         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13905         * src/nm-device-802-3-ethernet.h: Remove defines.
13906         * src/wpa.c: Remove defines and include kernel-types.h.
13907
13908 2006-01-26  Robert Love  <rml@novell.com>
13909
13910         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13911           work.
13912
13913 2006-01-26  Robert Love  <rml@novell.com>
13914
13915         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13916         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13917           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13918           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13919           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13920           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13921           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13922           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13923           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13924           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13925           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13926           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13927           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13928           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13929           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13930           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13931           Kill unused variables, labels, and static functions.  Don't pass
13932           string literals as the format string for printf-like functions.
13933
13934 2006-01-25  Dan Williams  <dcbw@redhat.com>
13935
13936         * gnome/applet/wireless-applet.glade
13937                 - Remove WPA2 Checkbox
13938
13939         * gnome/applet/wireless-security-manager.c
13940                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13941                         This means the Wireless Security menu now has two WPA options,
13942                         one for "WPA Personal" and one for "WPA2 Personal"
13943
13944         * gnome/applet/wso-wpa-psk.[ch]
13945                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13946                         'wpa2' argument to determine WPA version to use
13947                 - (append_dbus_params_func): pass stored WPA version to cipher
13948                         rather than using the (removed) checkbox
13949
13950 2006-01-24  Robert Love  <rml@novell.com>
13951
13952         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13953           before we g_strdup(), not the ultimate string.
13954
13955 2006-01-23  Dan Williams  <dcbw@redhat.com>
13956
13957         * src/NetworkManagerAP.[ch]
13958                 - (nm_ap_new_from_ap): copy original essid too
13959                 - (nm_ap_unref): free original essid
13960                 - (nm_ap_get_orig_essid): new function
13961                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13962                         but keep original essid around too
13963
13964         * src/nm-device-802-11-wireless.c
13965                 - (supplicant_send_network_config): send wpa_supplicant the
13966                         _original_ essid, and not as a string, but in hex.  Should
13967                         allow us to connect to more APs that use wierd character
13968                         encodings for their essids
13969
13970         * utils/nm-utils.[ch]
13971                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13972                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13973                         use the current locale as a hint for what encoding the essid
13974                         might be in.  Obviously not 100% accurate, but the idea here is
13975                         that if a user's locale is ex. ja_JP, they are more likely than
13976                         not to be in Japan, where access points will likely be in some
13977                         Japanese encoding.
13978
13979 2006-01-23  Dan Williams  <dcbw@redhat.com>
13980
13981         * libnm-util/cipher-private.h
13982           libnm-util/cipher.c
13983           libnm-util/cipher.h
13984                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13985
13986 2006-01-23  Robert Love  <rml@novell.com>
13987
13988         Patch by Timo Hoenig <thoenig@suse.de>:
13989         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13990           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13991           by DHCP and pass it to the backends, allowing distribution-specific
13992           behavior with respect to the DHCP-supplied hostname (if nothing else,
13993           some distributions might not want to set the hostname).
13994         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13995           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13996           Also update our NIS behavior.
13997         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13998           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13999           Add stub functions.
14000
14001 2006-01-23  Robert Love  <rml@novell.com>
14002
14003         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
14004           gnome-session does autostart.  TODO: We need to install this to
14005           $prefix/share/autostart/.
14006
14007 2006-01-22  Dan Williams  <dcbw@redhat.com>
14008
14009         * src/NetworkManagerAP.[ch]
14010           src/nm-dbus-nmi.c
14011           src/nm-device-802-11-wireless.c         
14012                 - Make nm_ap_get_essid return "const char *"
14013
14014 2006-01-22  Dan Williams  <dcbw@redhat.com>
14015
14016         * src/NetworkManagerAP.[ch]
14017                 - (nm_ap_get_matched, nm_ap_set_matched): remove
14018
14019         * src/NetworkManagerAPList.[ch]
14020                 - (nm_ap_list_diff): removed
14021                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
14022                         deal with access points changing essids on us
14023
14024         * src/nm-device-802-11-wireless.c
14025                 - (add_new_ap_to_device_list): move AP dbus signal logic to
14026                         src/NetworkManagerAPList.c
14027                 - (real_can_interrupt_activation): new function; allow interruption
14028                         of device activation if we are waiting for a network key
14029
14030         * src/NetworkManagerPolicy.c
14031                 - (nm_policy_device_change_check): allow interruption of currently
14032                         activating devices if the device allows it.  Previous behavior
14033                         would refuse to activate a just-plugged wired device if a
14034                         wireless device was waiting for a key.
14035
14036         * src/nm-device.[ch]
14037                 - (nm_device_can_interrupt_activation): new function; ask devices
14038                         whether their activation can be interrupted
14039
14040 2006-01-20  Robert Love  <rml@novell.com>
14041
14042         * Makefile.am, configure.in: Add new man subdirectory.
14043         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
14044           man/Makefile.am: Add man pages for NetworkManager and its
14045           crime-solving bumbling buddy, NetworkManagerDispatcher.
14046         * man/.cvsignore: Add.
14047         * initscript/Debian/NetworkManager,
14048           initscript/Gentoo/NetworkManager.in,
14049           initscript/RedHat/NetworkManager.in,
14050           initscript/RedHat/NetworkManagerDispatcher.in,
14051           initscript/SUSE/networkmanager-dispatcher.in,
14052           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
14053
14054 2006-01-20  Robert Love  <rml@novell.com>
14055
14056         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
14057           instead of queuing.  This prevents the running of multiple NM
14058           daemons concurrently, which does not work whatsoever and results in
14059           neither daemon working correctly.  Also, we don't handle queuing and
14060           name-owner-changes, anyhow.
14061
14062 2006-01-20  Robert Love  <rml@novell.com>
14063
14064         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
14065         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
14066           to sbin, not bin.
14067
14068 2006-01-19  Robert Love  <rml@novell.com>
14069
14070         * configure.in: Require hal 0.5.0 or later.
14071
14072 2006-01-18  Robert Love  <rml@novell.com>
14073
14074         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
14075           Allow backends to flag a device (in whatever distro-dependent way
14076           they so desire) as disabled.  NM will ignore any such device.
14077         * src/backends/NetworkManagerDebian.c,
14078           src/backends/NetworkManagerRedHat.c,
14079           src/backends/NetworkManagerSlackware.c: Add stub function
14080           nm_system_device_get_disabled() that always returns FALSE (enabled).
14081         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14082           SUSE-specific configuration structure.  Fill it in from the
14083           NM_CONTROLLED variable in the system networking scripts.  If this var
14084           exists and is "no", we ignore the device.
14085
14086 2006-01-17  Robert Love  <rml@novell.com>
14087
14088         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14089           identical for NM.  For a full discussion, see the thread at
14090           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14091
14092 2006-01-17  Dan Williams  <dcbw@redhat.com>
14093
14094         * src/nm-device.c
14095                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14096                         function.  Fixes crash when wired DHCP fails.
14097
14098 2006-01-16  Robert Love  <rml@novell.com>
14099
14100         * src/Makefile.am: Don't install NMLoadModules
14101         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14102           from src/ to test/ as no one uses it anymore.  Note that I would be
14103           fine with removing it altogether.
14104
14105 2006-01-16  Robert Love  <rml@novell.com>
14106
14107         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14108           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14109           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14110           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14111           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14112           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14113           declarations, ever.
14114         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14115           NM_STATE_DISCONNECTED is zero).
14116
14117 2006-01-16  Robert Love  <rml@novell.com>
14118
14119         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14120           uninitialized parameter and buffer overflow.  Novell #143496.
14121
14122 2006-01-16  Dan Williams  <dcbw@redhat.com>
14123
14124         Apply the PtP Address bits of a patch from Tim Niemueller
14125
14126         * src/nm-ip4-config.[ch]
14127                 - Add ip4_ptp_address member to object
14128                 - (nm_ip4_config_copy): copy ptp address too
14129                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14130                         new functions
14131                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14132                         rather than local tunnel ip address
14133
14134         * src/vpn-manager/nm-vpn-service.c
14135                 - (print_vpn_config): update for PtP address
14136                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14137                         DBusMessageIters in preparation for getting routes from the VPN
14138                         service daemons too
14139
14140         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14141                 - (send_config_info): update for PtP address, clean up code
14142                 - (main): update for PtP address, clean up code, fix typo
14143
14144         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14145                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14146
14147         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14148                 - (pptp_ip_up): update for PtP address
14149
14150         * vpn-daemons/pptp/src/nm-pptp-service.c
14151                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14152
14153         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14154                 - (print_vpn_config): update for PtP address
14155                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14156
14157 2006-01-16  Dan Williams  <dcbw@redhat.com>
14158
14159         * gnome/applet/applet.c
14160                 - (nmwa_add_networks_helper): don't indicate an active network
14161                         if NM is disconnected or asleep
14162
14163 2006-01-16  Dan Williams  <dcbw@redhat.com>
14164
14165         * src/NetworkManagerPolicy.c
14166                 - (nm_policy_device_change_check): switch devices if we lose the link
14167                         on an ethernet device. 
14168
14169 2006-01-16  Dan Williams  <dcbw@redhat.com>
14170
14171         * gnome/applet/wso-wpa-psk-hex.[ch]
14172                 - Renamed -> wso-wpa-psk.[ch]
14173
14174         * gnome/applet/wso-wpa-psk.[ch]
14175                 - New files
14176
14177         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14178                 - Removed, rolled into wso-wpa-psk.[ch]
14179
14180         * gnome/applet/Makefile.am
14181                 - Updated for above changes
14182
14183         * gnome/applet/wireless-applet.glade
14184                 - Consolidate WPA-PSK options into one notebook
14185                         widget, and make dialogs invisible by default
14186                         to fix screen oddities
14187
14188         * gnome/applet/wireless-security-manager.c
14189                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14190                         than both the old hex & passphrase ones
14191
14192 2006-01-16  Dan Williams  <dcbw@redhat.com>
14193
14194         * gnome/applet/other-network-dialog.c
14195                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14196
14197 2006-01-16  Dan Williams  <dcbw@redhat.com>
14198
14199         * gnome/applet/applet.c
14200                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14201                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14202                         prevention to realize window before trying to get server
14203                         time
14204
14205         * gnome/applet/other-network-dialog.c
14206                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14207                         prevention to realize window before trying to get server
14208                         time
14209
14210         * gnome/applet/passphrase-dialog.c
14211                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14212                         prevention to realize window before trying to get server
14213                         time
14214
14215 2006-01-16  Robert Love  <rml@novell.com>
14216
14217         Patch from Timo Hoenig  <thoenig@suse.de:
14218         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14219           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14220           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14221           libnm-util/dbus-helpers.h: add checks whether headers are used
14222           within a C++ build.
14223
14224 2006-01-16  Dan Williams  <dcbw@redhat.com>
14225
14226         * gnome/applet/wireless-security-option.c
14227                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14228
14229 2006-01-16  Dan Williams  <dcbw@redhat.com>
14230
14231         * libnm-util/cipher-wpa-psk-passphrase.c
14232                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14233                         be 8 - 63 characters inclusive
14234
14235 2006-01-16  Dan Williams  <dcbw@redhat.com>
14236
14237         * src/nm-dbus-nm.c
14238                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14239
14240 2006-01-13  Robert Love  <rml@novell.com>
14241
14242         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14243         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14244           modules that do not use an interface.
14245
14246 2006-01-13  Dan Williams  <dcbw@redhat.com>
14247
14248         * src/nm-device.c
14249           src/nm-device.h
14250                 - Allow subclasses to implement deactivate_quickly()
14251                 - (nm_device_deactivate_quickly): call subclass
14252                         deactivate_quickly() methods
14253                 - (nm_device_set_active_link): small cleanups, and don't
14254                         deactivate the device right away because we risk a deadlock
14255                         when called from device thread, waiting for the device
14256                         thread to cancel activation
14257
14258         * src/nm-device-802-11-wireless.c
14259                 - (real_deactivate_quickly): new function
14260                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14261                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14262                         so that we kill the supplicant when we sleep too
14263                 - (supplicant_interface_init): work around naive naming attempts of
14264                         wpa_ctrl when naming sockets
14265
14266 2006-01-13  Dan Williams  <dcbw@redhat.com>
14267
14268         * src/nm-device-802-11-wireless.c
14269                 - (supplicant_cleanup): delete old device control sockets too
14270                 - (supplicant_get_device_socket_path): new function to consolidate
14271                         locations that need a path to a device's control socket
14272
14273 2006-01-12  Robert Love  <rml@novell.com>
14274
14275         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14276           description so that the description is unique for each
14277           pair (device,provider).  Fixes Novell #142773.
14278
14279 2006-01-12  Dan Williams  <dcbw@redhat.com>
14280
14281         * src/nm-device-802-11-wireless.c
14282                 - (supplicant_exec): ensure GError is correctly initialized
14283                         Reported by Diego González (gnome.org #326708)
14284
14285 2006-01-11  Robert Love  <rml@novell.com>
14286
14287         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14288           define if_mii(), open code the same results, and do so without any
14289           type punning.
14290
14291 2006-01-11  Robert Love  <rml@novell.com>
14292
14293         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14294           that wso_foo_new() returned non-NULL.  Instead, only append the new
14295           wso to wsm->options if the wso is non-NULL.  The crux is that we
14296           assume that the relevant key types are implied by WEP and WPA as
14297           appropriate.  To be sure, they should be, but we should not expect
14298           drivers to not be oozing piles of wolf fecal matter.
14299
14300 2006-01-11  Robert Love  <rml@novell.com>
14301
14302         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14303         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14304           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14305           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14306           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14307           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14308           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14309         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14310           comparing values within DBL_EPSILON.  Also fix shadowed variable
14311           usage.
14312
14313 2006-01-11  Dan Williams  <dcbw@redhat.com>
14314
14315         Add options for WPA2 and WPA1+CCMP (AES).
14316
14317         * gnome/applet/wireless-applet.glade
14318                 - Add UI bits for WPA+CCMP
14319
14320         * gnome/applet/other-network-dialog.c
14321                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14322                         and don't allow creation of WPA2 Ad-Hoc networks since
14323                         wpa_supplicant doesn't support them
14324
14325         * gnome/applet/wireless-security-manager.c
14326                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14327                         on to the specific wireless security option being created
14328
14329         * gnome/applet/wireless-security-option.[ch]
14330                 - (wso_wpa_create_key_type_model): new utility function to create
14331                         the model required for WPA Key Type combo box
14332
14333         * gnome/applet/wso-private.h
14334           gnome/applet/wireless-security-option.h
14335                 - Move private function prototypes into wso-private.h
14336
14337         * gnome/applet/wso-wpa-psk-hex.[ch]
14338           gnome/applet/wso-wpa-psk-passphrase.[ch]
14339                 - (append_dbus_params_func): get WPA version from checkbox and pass
14340                         it to the dbus serialization helper
14341                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14342                         key type combo changes
14343                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14344                         model and options
14345
14346         * libnm-util/cipher-wpa-psk-hex.c
14347           libnm-util/cipher-wpa-psk-passphrase.c
14348                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14349                         new function; allow the cipher to be changed after object creation
14350
14351         * src/nm-ap-security-wpa-psk.c
14352                 - (set_description): Do WPA2 descriptions too
14353
14354         * src/nm-ap-security.c
14355                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14356
14357 2006-01-11  Robert Love  <rml@novell.com>
14358
14359         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14360           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14361           from the ifreq structure in lieu of an open coded solution.  Removes
14362           a life-threatening type-punning.
14363         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14364           types, ever, whatsoever, baby.
14365
14366 2006-01-11  Robert Love  <rml@novell.com>
14367
14368         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14369           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14370           assignments to applet->nm_state into a new nmwa_set_state() function
14371           for both cleanliness and to help debugging.
14372
14373 2006-01-10  Robert Love  <rml@novell.com>
14374
14375         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14376           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14377           seconds, exclusive.  That is, we want to sleep x seconds such that
14378           1 < x < 2.
14379
14380 2006-01-10  Robert Love  <rml@novell.com>
14381
14382         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14383           the attr fields according to the example in the email available at
14384           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14385           Conversely, we do have to free 'name', so we do so, fixing a leak.
14386
14387 2006-01-10  Robert Love  <rml@novell.com>
14388
14389         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14390           sure that we close the socket!
14391
14392 2006-01-10  Robert Love  <rml@novell.com>
14393
14394         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14395           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14396           src/nm-device.c: Fix a FIXME!  Reimplement the function
14397           nm_device_update_hw_address() in device subclass variants,
14398           nm_device_802_3_ethernet_set_address() and
14399           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14400           This fixes the existing bug where MAC addresses are all zeros.
14401
14402 2006-01-10  Robert Love  <rml@novell.com>
14403
14404         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14405           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14406           option to give users ability to globally disconnect and put NM to
14407           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14408           clean disconnect.
14409
14410 2006-01-09  Robert Love  <rml@novell.com>
14411
14412         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14413           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14414           User-space does not supply these types, so we have to define them
14415           ourselves.  The relevant kernel maintainer refused to accept a patch
14416           switching these headers to the proper C99 types.
14417
14418 2006-01-09  Dan Williams  <dcbw@redhat.com>
14419
14420         Apply Robert's 'tray icon redo' patch with fixes
14421         * gnome/applet/applet.c
14422           gnome/applet/applet.h
14423                 - Instead of using a menu bar + menu item, simulate menu
14424                         behavior using a popup menu.  Highlight the area around
14425                         the icon more like a menu too, by playing with the
14426                         applet's size requisition
14427
14428 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14429         * libnm-util/dbus-helpers.c
14430           libnm-util/dbus-helpers.h
14431                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14432                         to 'exception_namespace' (:namespace is a keyword in
14433                         C++)
14434
14435 2006-01-09  Dan Williams  <dcbw@redhat.com>
14436
14437         * src/NetworkManagerPolicy.c
14438                 - (nm_policy_device_change_check): don't autoswitch away from
14439                         Ad-Hoc networks, since there's really no concept of
14440                         "link"
14441
14442         * src/nm-dbus-nm.c
14443                 - (nm_dbus_nm_create_wireless_network): mark created networks
14444                         as Ad-Hoc networks
14445
14446         * src/nm-device-802-11-wireless.c
14447                 - (real_activation_success_handler): add user-created Ad-Hoc
14448                         networks to the device's scan list
14449
14450 2006-01-08  Dan Williams  <dcbw@redhat.com>
14451
14452         We now require a patch for wpa_supplicant to support Ad-Hoc
14453         networks:
14454           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14455
14456         * src/nm-device-802-11-wireless.c
14457                 - (supplicant_send_network_config): turn off wpa_supplicant's
14458                         scanning.  Fixes Ad-Hoc networks.
14459
14460 2006-01-08  Dan Williams  <dcbw@redhat.com>
14461
14462         * src/nm-ap-security.c
14463           src/nm-ap-security.h
14464                 - Add a user_created argument to the write_supplicant_config
14465                         functions
14466
14467         * src/nm-ap-security-wep.c
14468           src/nm-ap-security-wpa-psk.c
14469           src/nm-device-802-11-wireless.c
14470                 - Make Ad-Hoc mode somewhat work, at least write the
14471                         correct options to wpa_supplicant
14472
14473 2006-01-08  Dan Williams  <dcbw@redhat.com>
14474
14475         * src/nm-device-802-11-wireless.c
14476                 - Remove unused code from the old device activation path
14477
14478 2006-01-08  Dan Williams  <dcbw@redhat.com>
14479
14480         * libnm-util/dbus-helpers.c
14481                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14482                         dbus when key == NULL
14483
14484 2006-01-08  Dan Williams  <dcbw@redhat.com>
14485
14486         * gnome/applet/nm-gconf-wso-wpa-psk.c
14487                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14488                         correct arguments to nmu_security_deserialize_wpa_psk()
14489
14490         * src/nm-ap-security-wpa-psk.c
14491                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14492                         arguments to nmu_security_deserialize_wpa_psk()
14493
14494 2006-01-08  Dan Williams  <dcbw@redhat.com>
14495
14496         * gnome/applet/wso-wpa-psk-hex.c
14497           gnome/applet/wso-wpa-psk-passphrase.c
14498                 - Hook up the append_dbus_params_func() function
14499
14500 2006-01-08  Dan Williams  <dcbw@redhat.com>
14501
14502         * src/nm-device-802-11-wireless.c
14503                 - (get_wireless_capabilities): correctly detect driver WPA
14504                         capabilities
14505
14506 2006-01-08  Dan Williams  <dcbw@redhat.com>
14507
14508         * gnome/applet/Makefile.am
14509           gnome/applet/wso-wpa-psk-hex.c
14510           gnome/applet/wso-wpa-psk-hex.h
14511                 - New files, implement WPA-PSK Hex key input
14512
14513         * gnome/applet/wireless-applet.glade
14514                 - Change existing wpa-psk stuff to wpa-psk-hex
14515                 - Add new widgets for wpa-psk-passphrase
14516
14517         * gnome/applet/wireless-security-manager.c
14518                 - (wsm_set_capabilities): enable WPA options
14519
14520         * gnome/applet/wso-wpa-psk-passphrase.c
14521                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14522                         for WPA-PSK passphrase
14523
14524 2006-01-08  Dan Williams  <dcbw@redhat.com>
14525
14526         * include/NetworkManager.h
14527                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14528                         applet/info-daemons
14529
14530         * gnome/applet/passphrase-dialog.c
14531                 - Use the constant.  Fixes a bug where the arguments to
14532                         dbus_message_new_error() were incorrect
14533
14534         * src/nm-dbus-nmi.c
14535                 - Use the constant
14536
14537 2006-01-07  Dan Williams  <dcbw@redhat.com>
14538
14539         * src/nm-device-802-11-wireless.c
14540                 - Add a link timeout so we allow the supplicant time to
14541                         reassociate if it can, before we deactivate the card
14542                 - Fix up link status and link updating so things work better
14543
14544 2006-01-07  Dan Williams  <dcbw@redhat.com>
14545
14546         * src/nm-device-802-11-wireless.c
14547                 - Switch over to using wpa_supplicant
14548                 - Add a timeout of 10s for association of the supplicant
14549                 - Start the monitor callback of the supplicant
14550
14551 2006-01-07  Dan Williams  <dcbw@redhat.com>
14552
14553         * src/NetworkManagerUtils.c
14554                 - (nm_utils_supplicant_request,
14555                   nm_utils_supplicant_request_with_check):
14556                         pass correct buffer length to wpa_ctrl_request()
14557
14558 2006-01-07  Dan Williams  <dcbw@redhat.com>
14559
14560         * src/nm-device-private.h
14561           src/nm-device.c
14562                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14563                         this function available to subclasses
14564
14565 2006-01-06  Robert Love  <rml@novell.com>
14566
14567         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14568           user plugging in a network cable signals their preference for to
14569           switch, unless the user explicitly selected a wireless network and
14570           therefore signaled their preference for said wireless network over
14571           wired.  In other words, do exactly what makes sense.
14572
14573 2006-01-06  Robert Love  <rml@novell.com>
14574
14575         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14576           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14577           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14578           showing up in my greps.
14579
14580 2006-01-06  Robert Love  <rml@novell.com>
14581
14582         * gnome/applet/applet-dbus-devices.c,
14583           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14584           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14585           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14586           New Network' both failed in the non-encrypted case because we were
14587           not appending the security options to the DBUS message.  And
14588           'Connect to Other' was also failing in the encrypted case because
14589           we were not incrementing to the next DBUS parameter.  All fixed.
14590           Thanks to dcdw for some debugging help.
14591
14592 2006-01-06  Robert Love  <rml@novell.com>
14593
14594         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14595           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14596           hangup code and add per-device hangup.  Tie last commit into the
14597           GNOME applet.  TODO:  Save, understand, and respond to the state of
14598           each dialup device.
14599
14600 2006-01-06  Robert Love  <rml@novell.com>
14601
14602         Patch by Timo Hoenig <thoenig@suse.de>:
14603         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14604           hangup specific dialup devices.
14605         * src/backends/NetworkManagerDebian.c,
14606           src/backends/NetworkManagerGentoo.c,
14607           src/backends/NetworkManagerRedHat.c,
14608           src/backends/NetworkManagerSlackware.c: Add stub backend.
14609         * src/backends/NetworkManagerRedHat.c,
14610           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14611           hangup specific dialup devices.
14612
14613 2006-01-04  Robert Love  <rml@novell.com>
14614
14615         * gnome/applet/applet-dbus-devices.c,
14616           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14617           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14618           connections.
14619
14620 2006-01-04  Dan Williams  <dcbw@redhat.com>
14621
14622         First dump of wpa_supplicant-related code.  It's not hooked up to
14623         anything yet though.  Thanks to Kay Sievers for
14624         wpa_supplicant_wrapper.c, which formed the basis for this work,
14625         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14626
14627         * src/Makefile.am
14628           src/wpa_ctrl.[ch]
14629                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14630
14631         * src/NetworkManagerUtils.[ch]
14632                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14633                         Add convenience functions for talking to wpa_supplicant
14634
14635         * src/nm-ap-security.[ch]
14636           src/nm-ap-security-wep.c
14637           src/nm-ap-security-wpa-psk.[ch]
14638                 - Update and implement real_write_supplicant_config functions
14639                         in all security types
14640                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14641                         nm-ap-security-wpa-psk.c
14642
14643         * src/nm-device-802-11-wireless.c
14644                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14645                    wpa_supplicant_start, wpa_supplicant_interface_init,
14646                    wpa_supplicant_send_network_config): add functions to talk to
14647                         wpa_supplicant and write network config to it
14648
14649 2006-01-04  Robert Love  <rml@novell.com>
14650
14651         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14652           values so that distribution-backends can differentiate between the
14653           various types (modem, ISDN, et cetera) of dialup device that they
14654           support.
14655         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14656           needed.
14657
14658 2006-01-03  Dan Williams  <dcbw@redhat.com>
14659
14660         * src/NetworkManagerPolicy.c
14661           src/nm-device.[ch]
14662           src/nm-device-802-11-wireless.c
14663                 - Move wireless-specific activation failure and success code
14664                         into wireless device class
14665
14666 2006-01-03  Robert Love  <rml@novell.com>
14667
14668         Patch by Preggna S:
14669         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14670           IPsec does not require that a VPN client be bound to an interface,
14671           due to the use of the in-kernel IPSec bits.  So make the tunnel
14672           device optional.
14673
14674 2006-01-03  Dan Williams  <dcbw@redhat.com>
14675
14676         * src/NetworkManagerAP.c
14677                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14678                         the WPA IE specifies that WEP is supported
14679
14680         * src/nm-device-802-11-wireless.c
14681                 - (process_scan_results): don't mark an AP as supporting WEP
14682                         if there's already other encryption capability info
14683
14684 2006-01-03  Dan Williams  <dcbw@redhat.com>
14685
14686         * src/dhcp-manager/nm-dhcp-manager.c
14687                 - Recognize activation cancellation when waiting for DHCP
14688                         configuration from dhcdbd
14689                 - Ignore non-dhcdbd messages
14690
14691         * src/nm-device.c
14692                 - (real_act_stage3_ip_config_start): return to correct behavior
14693                         of letting the dhcp-manager notify us of failure or
14694                         success rather than incorrectly doing that ourselves
14695                 - (nm_device_activate_stage4_ip_config_get): deal with
14696                         activation cancellation a bit earlier
14697
14698 2006-01-03  Dan Williams  <dcbw@redhat.com>
14699
14700         * src/nm-device-802-11-wireless.c
14701           src/nm-device.[ch]
14702                 - Add hooks to subclasses for stage3_ip_config_start and
14703                         stage4_ip_config_timeout
14704
14705         * src/nm-device-802-3-ethernet.c
14706                 - (real_get_generic_capabilities): make devices NM-supported
14707                         by default
14708
14709 2006-01-03  Robert Love  <rml@novell.com>
14710
14711         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14712           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14713           latter cannot differentiate between error and the address -1; misc.
14714           clean up.
14715
14716 2006-01-03  Dan Williams  <dcbw@redhat.com>
14717
14718         * src/NetworkManager.c
14719                 - Move link-checking/probing into the device subclasses
14720                         themselves
14721
14722         * src/nm-device.[ch]
14723           src/nm-device-802-11-wireless.c
14724           src/nm-device-802-3-ethernet.c
14725                 - Do periodic link checking in device subclasses rather
14726                         than being triggered from NetworkManager.c
14727                 - discover_wireless_capabilities -> get_wireless_capabilities
14728                 - discover_generic_capabilities -> get_generic_capabilities
14729                 - Device subclass activation routines now return a value of type
14730                         NMActStageReturn to indicate what step to perform next
14731                 - Devices now override stage4_get_ip4_config if they choose
14732
14733 2006-01-01  Dan Williams  <dcbw@redhat.com>
14734
14735         * src/nm-device-802-11-wireless.c
14736                 - (real_init): don't chain up to parent init because we don't
14737                         need to do that anymore
14738
14739         * src/nm-device.c
14740                 - (discover_device_type): fix arguments to ioctl() to correctly
14741                         pass interface name
14742                 - (nm_device_new): consolidate generic device initialization into
14743                         nm_device_new()
14744                 - (real_init): remove, consolidated to nm_device_new()
14745                 - (nm_device_deactivate, real_deactivate): consolidate
14746
14747 2006-01-01  Dan Williams  <dcbw@redhat.com>
14748
14749         * src/nm-activation-request.c
14750                 - Change dhcp_state member of the NMActRequest structure
14751                         from guint8 to guint32
14752
14753         * src/dhcp-manager/nm-dhcp-manager.[ch]
14754                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14755                         than guint8 to match the dbus argument.  Turns out we were
14756                         overwriting memory since we were passing in only a guint8
14757
14758 2005-12-31  Dan Williams  <dcbw@redhat.com>
14759
14760         * refactor NMDevice into a GObject-based framework with separate
14761                 objects for wired and wireless.  The following files are no
14762                 longer used but should stick around for a bit so we don't
14763                 loose code through the cracks:
14764                         NetworkManagerDevice.c
14765                         NetworkManagerDevice.h
14766                         NetworkManagerWireless.c
14767                         NetworkManagerWireless.h
14768
14769         The intent here is to allow each device type to manage its own
14770         connection & activation life-cycle, ie to allow wireless devices
14771         to interface with wpa_supplicant, etc.  There's a fair bit of
14772         encapsulation breakage right now that should gradually get pulled
14773         back into each device, along with things like periodic property
14774         updates and link probing.
14775
14776 2005-12-29  Dan Williams  <dcbw@redhat.com>
14777
14778         * include/NetworkManager.h
14779                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14780                         between networks that don't have any encryption at all
14781
14782 2005-12-29  Dan Williams  <dcbw@redhat.com>
14783
14784         * test/test-common.c
14785           test/test-common.h
14786           test/Makefile.am
14787                 - Move to a test-common subdirectory
14788
14789         * test/libnm-util/test-ciphers.c
14790                 - Move test data to test-inputs.h
14791                 - Test WPA ciphers too
14792
14793         * test/libnm-util/test-dbus-helpers.c
14794                 - Test serialization/deserialization of ciphers
14795
14796 2005-12-29  Dan Williams  <dcbw@redhat.com>
14797
14798         * gnome/applet/applet-dbus-devices.c
14799                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14800                         in dbus calls to NM
14801                 - Set capabilities on WirelessNetwork objects
14802                 - Receive and save type-specific device capabilities too
14803
14804         * gnome/applet/applet-dbus-info.c
14805           gnome/applet/applet-dbus.c
14806                 - Passphrase dialog no longer a singleton; new instance gets created
14807                         on each request.  Updates to deal with that.
14808
14809         * gnome/applet/applet.c
14810                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14811                         than single 'encrypted' flag
14812                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14813                         menu items
14814                 - Passphrase dialog updates per above
14815
14816         * gnome/applet/menu-items.c
14817                 - (network_menu_item_update): use AP capabilities to determine
14818                         encryption
14819
14820         * gnome/applet/nm-device.[ch]
14821                 - Add accessors for type-specific device capabilities
14822
14823         * gnome/applet/other-network-dialog.c
14824                 - Rework to respect device capabilities.  i.e., if the device doesn't
14825                         support WPA, remove that option from the security dropdown
14826
14827         * gnome/applet/passphrase-dialog.c
14828                 - Massive rework so that a new instance is created each time
14829                         it's used, to support wireless network capabilities
14830
14831         * gnome/applet/wireless-network.[ch]
14832                 - Add accessors and members for wireless network capabilities
14833
14834         * gnome/applet/wireless-security-manager.[ch]
14835                 - (wsm_set_capabilities): called after creation to set which
14836                         security options get shown to the user
14837
14838 2005-12-29  Dan Williams  <dcbw@redhat.com>
14839
14840         * libnm-util/cipher-wpa-psk-passphrase.c
14841                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14842                         like other ciphers
14843
14844 2005-12-23  Dan Williams  <dcbw@redhat.com>
14845
14846         * gnome/applet/applet-dbus-info.c
14847                 - (nmi_dbus_get_key_for_network): if there's no entry in
14848                         GConf for a network, assume we want a new key
14849                 - (nmi_save_network_info): serialize wireless security info
14850                         into GConf so its saved
14851
14852         * src/nm-dbus-nm.c
14853                 - Fix warning as we may not be passed security info when
14854                         connecting to a wireless network
14855
14856 2005-12-23  Dan Williams  <dcbw@redhat.com>
14857
14858         * gnome/applet/applet-compat.c
14859                 - Fix bugs in GConf entry conversion
14860
14861         * gnome/applet/applet-dbus-info.c
14862                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14863                         list being zero-length
14864
14865         * libnm-util/cipher-*
14866           libnm-util/dbus-helpers.c
14867                 - All ciphers must now return hashed keys as UTF-8 valid
14868                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14869                         through dbus as strings too.
14870                 - Consolidate various functions that do bin->hex and hex->bin
14871                         conversion into cipher.c
14872
14873         * src/nm-ap-security-wep.c
14874           src/nm-ap-security-wpa-psk.c
14875                 - Handle NULL keys since we may not know keys right away
14876
14877         * src/nm-dbus-nmi.c
14878                 - (nm_dbus_get_network_data_cb): actually advance to the start
14879                         of the wireless security info before we try to deserialize it
14880
14881         * libnm-util/test-ciphers.c
14882                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14883
14884 2005-12-22  Dan Williams  <dcbw@redhat.com>
14885
14886         * gnome/applet/applet-compat.[ch]
14887                 - Convert old-format GConf and keyring entries
14888                         when the applet starts up.
14889
14890         * gnome/applet/applet.c
14891                 - (nmwa_get_instance): Call the conversion function
14892                         on startup before dbus is initialized
14893
14894 2005-12-22  Dan Williams  <dcbw@redhat.com>
14895
14896         * gnome/applet/applet-dbus-info.c
14897                 - Remove nmi_dbus_create_error_message() in favor of
14898                         nmu_create_dbus_error_message()
14899                 - (nmi_dbus_get_network_properties): Error message cleanups
14900                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14901                         gconf key rather than 'addresses', since they really are BSSIDs
14902                 - (nmi_dbus_get_network_properties): Dispose of the security
14903                         object when we're done with it
14904
14905 2005-12-21  Dan Williams  <dcbw@redhat.com>
14906
14907         * Consolidate the info-daemon's "updateNetworkInfo" and
14908                 "addNetworkAddress" calls into just "updateNetworkInfo"
14909
14910 2005-12-21  Dan Williams  <dcbw@redhat.com>
14911
14912         * Make connection after key retrieval work again
14913
14914 2005-12-21  Dan Williams  <dcbw@redhat.com>
14915
14916         * gnome/applet/nm-gconf-wso*
14917                 - Make the serialize functions return gboolean
14918                         rather than int
14919
14920         * gnome/applet/nm-gconf-wso.c
14921                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14922                         parent class handling so we don't segfault
14923
14924         * src/NetworkManagerAP.[ch]
14925                 - (nm_ap_get_capabilities): new function, return capabilities
14926                         now that something can use them
14927                 - (nm_ap_set_encrypted): assume that an access point supports
14928                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14929                         we even tell whether it just supports WEP40?
14930
14931         * src/NetworkManagerDevice.c
14932                 - (ap_need_key): resurrect and update for the New World Order
14933                 - (nm_device_wireless_get_activation_ap): if we're not given
14934                         security info to use, create some based on access point
14935                         capabilities
14936
14937         * src/nm-ap-security-wep.c
14938                 - (nm_ap_security_wep_new_from_ap): create a new object
14939                         based on a certain access point's capabilities
14940
14941         * src/nm-ap-security.c
14942                 - (nm_ap_security_new_from_ap): delegate creation of a new
14943                         object based on access point capabilities to a subclass
14944                 - (nm_ap_security_copy_properties): don't segfault if we
14945                         don't have a key yet
14946
14947         * src/nm-dbus-nm.c
14948                 - (nm_dbus_nm_set_active_device): provide more informative
14949                         output when errors occur.  Also construct security info
14950                         for a given access point if we weren't given any
14951
14952 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14953
14954         * configure.in: Added Lithuanian to ALL_LINGUAS.
14955
14956 2005-12-21  Dan Williams  <dcbw@redhat.com>
14957
14958         * test/libnm-util
14959                 - Add some testcases for WEP ciphers
14960
14961 2005-12-17  Dan Williams  <dcbw@redhat.com>
14962
14963         * Fix bugs
14964
14965 2005-12-17  Dan Williams  <dcbw@redhat.com>
14966
14967         * include/NetworkManager.h
14968                 - Finally kill NMEncKeyType
14969
14970         * gnome/applet/applet-dbus-info.c
14971                 - (nmi_save_network_info): convert to NMGConfWSO
14972
14973         * gnome/applet/nm-gconf-wso-*.c
14974                 - Implement gconf serialization functions
14975
14976         * src/NetworkManagerPolicy.c
14977                 - (nm_policy_activation_finish): fix up meaning of
14978                         automatic/user_requested
14979
14980 2005-12-17  Dan Williams  <dcbw@redhat.com>
14981
14982         * gnome/applet/*
14983                 - More applet cleanups
14984                 - Use the dbus-method-dispatcher
14985
14986         * libnm-util/dbus-method-dispatcher.[ch]
14987                 - Generalize the implementation from NM in
14988                         NetworkManagerUtils.c
14989
14990 2005-12-16  Dan Williams  <dcbw@redhat.com>
14991
14992         * gnome/applet/*
14993                 - Fix up the passphrase dialog to use all the
14994                         WirelessSecurityOption stuff (untested)
14995
14996 2005-12-16  Dan Williams  <dcbw@redhat.com>
14997
14998         * Move nm_gconf_get_*_helper() functions to separate files,
14999                 gconf-helpers.c & gconf-helpers.h
15000
15001         * New NMGConfWSO objects for managing the gconf side of things.
15002                 Eventually these should be merged with the
15003                 WirelessSecurityOption objects and a common base (that can
15004                 serialize/deserialize from dbus & gconf) should be
15005                 refactored out, but for now they are separate.
15006
15007 2005-12-16  Robert Love  <rml@novell.com>
15008
15009         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
15010           binaries unless they exist (nm_spawn_process() emits a warning if
15011           asked to spawn a non-existant process).
15012
15013 2005-12-16  Dan Williams  <dcbw@redhat.com>
15014
15015         * gnome/applet/applet-dbus-info.c
15016                 - Clean up lots of gconf-related code
15017
15018 2005-12-16  Robert Love  <rml@novell.com>
15019
15020         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
15021
15022 2005-12-16  Dan Williams  <dcbw@redhat.com>
15023
15024         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
15025
15026         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
15027                 bits still to be done)
15028
15029 2005-12-16  Dan Williams  <dcbw@redhat.com>
15030
15031         * Finally move info-daemon related stuff out of
15032                 NetworkManagerDbus.c to nm-dbus-nmi.c
15033
15034 2005-12-16  Dan Williams  <dcbw@redhat.com>
15035
15036         * Kill auth_method for access points, since that's now done
15037                 by NMAPSecurity objects
15038
15039         * Add a copy-constructor of sorts to NMAPSecurity
15040                 (how do you do this properly in glib???)
15041
15042 2005-12-15  Dan Williams  <dcbw@redhat.com>
15043
15044         * Exorcise encryption key hashing on APs
15045         * Use libnm-util's serialization/deserialization in both the
15046                 applet and NM
15047         * Random other stuff
15048
15049 2005-12-15  Robert Love  <rml@novell.com>
15050
15051         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
15052           is being added to the icon naming spec, so let's use that (Tango CVS
15053           has the icon).  Because it is new, however, we fall back to the
15054           current "gnome-lockscreen" if the new icon is not around, thus
15055           behavior is the same.
15056         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
15057           factory junk.
15058
15059 2005-12-15  Robert Love  <rml@novell.com>
15060
15061         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
15062           well, help to give.  Couple other misc. bits.
15063
15064 2005-12-15  Dan Williams  <dcbw@redhat.com>
15065
15066         * libnm-util/dbus-helpers.[ch]
15067                 - Make this the one-stop-shop for serializing/deserializing
15068                         AP & connection security settings over dbus.  Both NM
15069                         and applets should use this to ensure consistent dbus
15070                         API going forwared.
15071
15072 2005-12-15  Robert Love  <rml@novell.com>
15073
15074         Patch by Timo Hoenig  <thoenig@suse.de>:
15075         * src/NetworkManagerDbus.c
15076                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15077                         if HAL jumps off the system bus.  Otherwise libdbus
15078                         (dbus_connection_dispatch) will try to run the filter
15079                         function of our libhal context which is already freed.
15080
15081 2005-12-15  Alexander Shopov  <ash@contact.bg>
15082
15083         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15084
15085 2005-12-14  Dan Williams  <dcbw@redhat.com>
15086
15087         * include/NetworkManager.h
15088           src/NetworkManagerWireless.c
15089                 - Rearrange 802.11 wireless-specific capabilities again
15090
15091         * src/Makefile.am
15092                 - Forgot to add wpa.c/wpa.h to the makefiles
15093
15094         * src/NetworkManagerAP.[ch]
15095                 - Implement access point capabilities and parse the
15096                         WPA/RSN IEs into the capability bitfield
15097                 - Switch the "encrypted" attribute to utilize the bitfield
15098                         and capabilities rather than being independent
15099
15100         * src/NetworkManagerDevice.c
15101                 - (nm_device_wireless_get_activation_ap): break it horribly
15102                         until we can push NMAPSecurity objects into access point
15103                         objects and through the activation chain
15104                 - Stuff WPA & RSN IEs into AP capabilities
15105
15106         * src/nm-dbus-nm.c
15107                 - Take a shot at actually making setActiveDevice work
15108
15109         * src/wpa.[ch]
15110                 - Make the API a bit saner
15111
15112 2005-12-14  Dan Williams  <dcbw@redhat.com>
15113
15114         * include/NetworkManager.h
15115                 - Add 802.11-specific capability for 802.1x key
15116                         management
15117
15118         * src/wpa.[ch]
15119                 - Pull in WPA IE and RSN IE parsing code from
15120                         wpa_supplicant so we can determine access point
15121                         capabilities
15122                 - Move WPA-related constants here from NetworkManagerAP.h
15123                         and NetworkManagerDevice.c
15124
15125         * src/NetworkManagerDevice.c
15126           src/NetworkManagerAP.[ch]
15127                 - Use WPA-related constants from wpa.h
15128
15129 2005-12-14  Dan Williams  <dcbw@redhat.com>
15130
15131         * include/NetworkManager.h
15132                 - Update and split 802.11 wireless-specific capabilities from
15133                         generic device capabilities
15134
15135         * src/NetworkManagerDevice.c
15136           src/NetworkManagerDevicePrivate.h
15137                 - (nm_device_wireless_discover_capabilities): Move 802.11
15138                         wireless-specific capability checks to
15139                         NetworkManagerWireless.c
15140                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15141                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15142
15143         * src/NetworkManagerWireless.[ch]
15144                 - (nm_802_11_wireless_discover_capabilities): Check extended
15145                         802.11 wireless-specific capabilities of the driver
15146
15147 2005-12-14  Robert Love  <rml@novell.com>
15148
15149         Patch from Stefan Scheler <sscheler@suse.de>:
15150         * src/NetworkManagerDevice.c: call backend code to activate and
15151           deactivate NIS.
15152         * src/NetworkManagerSystem.h: add new NIS interfaces.
15153         * src/backends/NetworkManagerDebian.c,
15154           src/backends/NetworkManagerGentoo.c,
15155           src/backends/NetworkManagerRedHat.c,
15156           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15157           support.
15158         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15159
15160 2005-12-14  Dan Williams  <dcbw@redhat.com>
15161
15162         * src/nm-ap-security*.[ch]
15163                 - Add AP security abstractions to NetworkManager
15164
15165         * src/nm-dbus-device.c
15166                 - Begin to parse new format dbus messages from the applet
15167                         and construct an AP security object from the message
15168
15169         * libnm-util/dbus-helpers.c
15170                 - Use message iters so we can append the key as a fixed
15171                         array of bytes, which actually works rather than
15172                         using dbus_message_append_args() as we were before
15173
15174 2005-12-14  Dan Williams  <dcbw@redhat.com>
15175
15176         * src/NetworkManagerDbus.c
15177           gnome/applet/applet-dbus.c
15178                 - Fix up dbus service replacement options.  The applet
15179                         should allow replacement, NM itself should not.
15180
15181 2005-12-13  Robert Love  <rml@novell.com>
15182
15183         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15184           Instead, fail silently if config is NULL by not asserting and not
15185           returning FALSE.  Also, make sure we always fclose() the file.
15186
15187 2005-12-13  Robert Love  <rml@novell.com>
15188
15189         Patch by Stefan Scheler <sscheler@suse.de>:
15190         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15191            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15192            via DHCP.  Still need the backends to commit the NIS domain name and
15193            and servers to yp.conf as needed.
15194
15195 2005-12-13  Robert Love  <rml@novell.com>
15196
15197         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15198           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15199
15200 2005-12-13  Robert Love  <rml@novell.com>
15201
15202         * src/named-manager/nm-named-manager.c: Don't unref the config until
15203           after we call rewrite_resolv_conf(), because get_last_default_domain()
15204           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15205           `config != NULL' failed" assertion failures and "Could not commit DNS
15206           changes" warnings.
15207
15208 2005-12-12  Dan Williams  <dcbw@redhat.com>
15209
15210         * libnm-util/dbus-helpers.[ch]
15211           libnm-util/Makefile.am
15212                 - new helper calls to consolidate locations where
15213                         NM's setDevice method is called
15214
15215         * gnome/applet/applet-dbus-devices.c
15216           gnome/applet/wireless-security-option.c
15217           gnome/applet/wso-*
15218                 - Implement dbus message param append function for
15219                         all wireless security options
15220
15221 2005-12-12  Robert Love  <rml@novell.com>
15222
15223         * libnm-util/cipher-wep-passphrase.c,
15224           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15225           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15226           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15227           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15228           When handling keys, we don't care what the sign is.  The compiler
15229           guarantees us that we get our 8-bits, which is all we care about.
15230         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15231
15232 2005-12-12  Dan Williams  <dcbw@redhat.com>
15233
15234         * gnome/applet/applet-dbus-devices.[ch]
15235           gnome/applet/applet.c
15236           gnome/applet/other-network-dialog.c
15237           gnome/applet/wireless-security-manager.[ch]
15238           gnome/applet/wireless-security-option.[ch]
15239           gnome/applet/wso-*
15240                 - Push the wireless security options further into the applet
15241
15242 2005-12-12  Robert Love  <rml@novell.com>
15243
15244         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15245           return any name servers.  That is perfectly valid.  (Novell #134369).
15246
15247 2005-12-11  Dan Williams  <dcbw@redhat.com>
15248
15249         * gnome/applet/wso-*
15250           gnome/applet/wireless-security-option.*
15251           gnome/applet/Makefile.am
15252                 - split each security option out so we can eventually
15253                         have each one build up their own dbus message
15254                         arguments to send to NM
15255
15256 2005-12-11  Dan Williams  <dcbw@redhat.com>
15257
15258         * Make validation of the key work correctly
15259
15260 2005-12-11  Dan Williams  <dcbw@redhat.com>
15261
15262         * Hook more bits of the Other Network Dialog up to the
15263                 wireless security manager stuff, and restructure
15264                 bits of the dialog so there's less code.
15265
15266 2005-12-10  Dan Williams  <dcbw@redhat.com>
15267
15268         * gnome/applet/Makefile.am
15269                 - Add libnm-util to includes
15270                 - Add libnm-util to link list
15271                 - Add wireless-security-common.* to compile list
15272
15273         * gnome/applet/other-network-dialog.c
15274                 - Convert to using the WirelessSecurityManager code and
15275                         widgets
15276
15277         * gnome/applet/passphrase-dialog.c
15278                 - Comment out references to stuff in the glade file that
15279                         cause runtime errors until it can be fixed up
15280                         to use the WirelessSecurityManager code
15281
15282         * gnome/applet/wireless-applet.glade
15283                 - Rename some widgets
15284                 - Add widgets for the WirelessSecurityManager code
15285                 - Remove passphrase-related stuff since that's now
15286                         handled by the WirelessSecurityManager code
15287
15288 2005-12-10  Dan Williams  <dcbw@redhat.com>
15289
15290         * gnome/applet/applet-dbus-devices.c
15291                 - Print out error message details for dbus pending call callbacks
15292                 - Move nmwa_dbus_update_devices() up
15293
15294         * gnome/applet/applet-dbus-vpn.c
15295                 - Print out error message details for dbus pending call callbacks
15296
15297 2005-12-10  Dan Williams  <dcbw@redhat.com>
15298
15299         * libnm-util/*
15300                 - More fixups
15301                 - Remove cipher-manager.* because we don't need it
15302                 - Forgot to add gnome-keyring-md5 files to compile list
15303
15304 2005-12-09  Dan Williams  <dcbw@redhat.com>
15305
15306         * libnm-util/*
15307           configure.in
15308           Makefile.am
15309                 - Add a utility library for clients of NetworkManager.  It's
15310                         only targetted at applets for the moment, and contains
15311                         a generalized 802.11 cipher framework for different
15312                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15313
15314 2005-12-09  Robert Love  <rml@novell.com>
15315
15316         * src/NetworkManagerDevice.c: handle error better in
15317           nm_device_set_mode().
15318
15319 2005-12-08  Robert Love  <rml@novell.com>
15320
15321         * include/NetworkManager.h: add WPA capabilities constants
15322         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15323           or WPA2 and add the capabilities bits as appropriate.
15324
15325 2005-12-08  Robert Love  <rml@novell.com>
15326
15327         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15328           NetworkManagerDispatcher.
15329         * configure.in, initscript/SUSE/.cvsignore,
15330           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15331           initscript.
15332
15333 2005-12-08  Robert Love  <rml@novell.com>
15334
15335         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15336
15337 2005-12-08  Robert Love  <rml@novell.com>
15338
15339         * src/NetworkManagerDevice.c: We want to fall back on and default to
15340           IW_MODE_AUTO, not -1, which is more in line with our previous
15341           behavior.  Otherwise, we try to set the wireless mode to -1 in
15342           nm_device_set_mode().
15343
15344 2005-12-07  Robert Love  <rml@novell.com>
15345
15346         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15347           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15348           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15349           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15350           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15351           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15352           zero.
15353
15354 2005-12-07  Robert Love  <rml@novell.com>
15355
15356         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15357           supplied IP is invalid, fall back to DHCP.
15358
15359 2005-12-07  Dan Williams  <dcbw@redhat.com>
15360
15361         * Convert NETWORK_MODE_* constants to IW_MODE_*
15362         * Make all the get_mode/set_mode functions take and return 'int'
15363         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15364
15365 2005-12-07  Robert Love  <rml@novell.com>
15366
15367         * src/NetworkManagerDevice.c: strncpy() buffer check.
15368         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15369
15370 2005-12-06  Dan Williams  <dcbw@redhat.com>
15371
15372         * gnome/applet/applet-dbus.c
15373                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15374
15375         * gnome/applet/applet-dbus-vpn.c
15376                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15377                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15378                         to TRUE here if stage was ACTIVATED
15379
15380 2005-12-06  Dan Williams  <dcbw@redhat.com>
15381
15382         * Change nm_device_is_* functions to better names:
15383                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15384                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15385
15386 2005-12-06  Dan Williams  <dcbw@redhat.com>
15387
15388         * Change naming of NMDeviceType to something more sensible:
15389                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15390                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15391                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15392
15393 2005-12-06  Dan Williams  <dcbw@redhat.com>
15394
15395         * Move NetworkManager.h -> include/NetworkManager.h
15396         * Split out VPN stuff into include/NetworkManagerVPN.h
15397         * Fix up makefiles to include new location
15398         * Fix up sources to include NetworkManagerVPN.h
15399
15400 2005-12-06  Dan Williams  <dcbw@redhat.com>
15401
15402         Various changes in the applet to move VPN connection "state" -> "stage",
15403         which it actually is.  I'd like to change the signal as well when we
15404         break compat in the near future.
15405
15406 2005-12-06  Dan Williams  <dcbw@redhat.com>
15407
15408         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15409         * initscript/Slackware/rc.networkmanager
15410                 - Cosmetic fix
15411
15412         * src/backends/NetworkManagerSlackware.c
15413                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15414                         interfaces
15415
15416 2005-12-05  Robert Love  <rml@novell.com>
15417
15418         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15419           to free, particularly here as it just barfs.
15420
15421 2005-12-05  Dan Williams  <dcbw@redhat.com>
15422
15423         * gnome/applet/applet-dbus.c
15424                 - Work with dbus 0.6 too
15425
15426 2005-12-03  Dan Williams  <dcbw@redhat.com>
15427
15428         * src/NetworkManagerUtils.[ch]
15429           src/nm-ip4-config.c
15430                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15431                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15432
15433 2005-12-01  Robert Love  <rml@novell.com>
15434
15435         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15436           need a NULL for the '...' parameter, too, to fill the so-called
15437           sentinel.
15438
15439 2005-12-01  Robert Love  <rml@novell.com>
15440
15441         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15442           interface is already gone, so don't call rtnl_link_change() to down
15443           it (which will segfault, anyhow).
15444
15445 2005-11-22  Robert Love  <rml@novell.com>
15446
15447         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15448           gateway is not set, just print a little note.  Configurations without
15449           gateways are valid.
15450
15451 2005-11-22  Robert Love  <rml@novell.com>
15452
15453         * README: update
15454
15455 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15456
15457         * configure.in: Added Finnish translation to ALL_LINGUAS
15458
15459 2005-11-14  Robert Love  <rml@novell.com>
15460
15461         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15462           Niemueller <tim@niemueller.de>.
15463
15464 2005-11-08  Dan Williams  <dcbw@redhat.com>
15465
15466         Patch from Bill Moss <bmoss@clemson.edu>
15467         * src/NetworkManagerDevice.c
15468                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15469                         of nm_policy_schedule_activation_finish() to prevent a
15470                         race condition that causes the link to be dropped
15471
15472 2005-11-08  Dan Williams  <dcbw@redhat.com>
15473
15474         Patch from Bill Moss <bmoss@clemson.edu>
15475         * src/NetworkManagerAPList.c
15476           src/NetworkManagerDevice.c
15477           src/NetworkManagerDbus.c
15478                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15479                         we get more readable ether/mac addresses
15480
15481 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15482
15483         * gnome/applet/main.c: Don't set the restart command.  This fixes
15484         the issue where the restart command was getting copies of all its
15485         arguments for each time the applet was restarted.
15486
15487 2005-11-02  Robert Love  <rml@novell.com>
15488
15489         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15490           if the widget state differs from our saved state.  This ensures we
15491           do not enter an endless loop of death and destruction.  Also, this
15492           guarantees us that we enforce the widget state.
15493
15494 2005-11-02  Robert Love  <rml@novell.com>
15495
15496         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15497         * gnome/applet/applet-dbus-devices.c: invoke the new function
15498           nmwa_enable_wireless_set_active() to ensure that the state of the
15499           'Enable Wireless' checkbox matches the daemon's state.  This is a
15500           concern because the daemon remembers the state.
15501
15502 2005-11-02  Robert Love  <rml@novell.com>
15503
15504         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15505           Enabled", as checkboxes should be actions/commands not positive
15506           statements, otherwise they are confusing in the unselected case.  See
15507           examples in GNOME HIG, Chapter 6.
15508
15509 2005-11-02  Robert Love  <rml@novell.com>
15510
15511         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15512           show a list of wireless networks or the wireless devices or the
15513           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15514           a bad bug: If wireless is disabled and the user picks a wireless
15515           network, NM will switch to the network, only to immediately switch
15516           back, as wireless is disabled.  This also reassures people that NM
15517           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15518
15519 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15520
15521         * gnome/applet/applet.c:
15522         * gnome/applet/applet.h:
15523         Partial backout of Dan's timeout animation patch.
15524         Timeout IDs cannot legally be 0, so revert the code in place to handle
15525         a timeout ID of 0 to denote the timeout isn't running.
15526
15527 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15528
15529         * src/NetworkManagerPolicy.c:
15530         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15531
15532 2005-10-28  Robert Love  <rml@novell.com>
15533
15534         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15535           "Import Saved Configuration..." to make it clear that importing is
15536           not the next step, but an option.  As an aside, a nice TODO would be
15537           to move Importing out of the vpn-specific dialog and into the main
15538           property editor, as Importing goes with Adding, but that will require
15539           some rearchitecting of the VPN stuff I suspect.
15540
15541 2005-10-27  Dan Williams  <dcbw@redhat.com>
15542
15543         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15544         we should replace most of the distro-specific backend code
15545         with libnl stuff.
15546
15547         Get it here:  http://people.suug.ch/~tgr/libnl/
15548
15549         * configure.in
15550           src/Makefile.am
15551                 - Add checks for libnl pkgconfig file
15552                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15553
15554         * src/NetworkManagerSystem.c
15555           src/nm-ip4-config.[ch]
15556                 - Use libnl rather than ioctl() for most things
15557                 - Remove unused functions
15558
15559 2005-10-27  Robert Love  <rml@novell.com>
15560
15561         * src/backends/NetworkManagerSuSE.c: fix warning message text
15562
15563 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15564
15565         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15566
15567 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15568
15569         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15570         project page <http://www.gnome.org/projects/NetworkManager/>
15571
15572 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15573
15574         * gnome/applet.c: Also use translator credits if we don't have
15575         the new GtkAboutDialog (older versions of GTK+)
15576
15577 2005-10-26  Robert Love  <rml@novell.com>
15578
15579         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15580           failure; correct usage text for "--no-daemon"
15581
15582 2005-10-25  Dan Williams  <dcbw@redhat.com>
15583
15584         * src/NetworkManagerDevice.c
15585                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15586                         no scan results
15587                 - (free_process_scan_cb_data): unref the device when freeing results
15588                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15589                         so we don't unref the device underneath ourselves
15590
15591 2005-10-25  Dan Williams  <dcbw@redhat.com>
15592
15593         * Back out 2005-10-24 commit from Tor Krill.  Patch
15594                 causes nameservers never to be removed from named.
15595
15596 2005-10-24  Dan Williams  <dcbw@redhat.com>
15597
15598         Clean up wireless scanning and wireless link probing.
15599
15600         * src/NetworkManagerDevice.c
15601                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15602                         just see if there's an activation request on the device, and check the
15603                         current link against the activation request access point's ESSID.
15604                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15605                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15606                         don't call process_scan_results() on zero-length data
15607                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15608                         15 seconds (from 10)
15609
15610 2005-10-24  Dan Williams  <dcbw@redhat.com>
15611
15612         Cleanup some applet stuff:
15613
15614         - Animation timeouts.  If NM died while the applet was animating,
15615                 the applet would not hide itself.  This is now fixed.
15616
15617         - Remove some dead code
15618
15619         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15620                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15621
15622         - Track animation timeout using a gboolean rather than the timeout's
15623                 ID, since timeout IDs can legally be 0.
15624
15625 2005-10-24  Dan Williams  <dcbw@redhat.com>
15626
15627         * src/backends/interface_parser.c
15628                 - Add void to function declarations that need it
15629                         to match patch from Engin AYDOGAN
15630
15631         * src/backends/interface_parser.h
15632                 - Remove unused prototype for ifparser_interfaces()
15633
15634         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15635         * src/backends/interface_parser.h:
15636                 - Compile fixes for gcc 4.0.2 (add void)
15637
15638 2005-10-24  Dan Williams  <dcbw@redhat.com>
15639
15640         Patch from Tor Krill <tor@krill.nu>
15641         * src/named-manager/nm-named-manager.c
15642                 - Write more than just the first nameserver to /etc/resolv.conf
15643                 - Write out valid /etc/resolv.conf on exit
15644
15645 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15646
15647         * gnome/applet/applet-dbus-vpn.c:
15648         Get rid of spurious newlines in debug console output
15649
15650 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15651
15652         * src/backends/NetworkManagerGentoo.c:
15653         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15654
15655 2005-10-20  Robert Love  <rml@novell.com>
15656
15657         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15658           direct comparison of floating point values, which is never correct.
15659           Also some misc. cleanup.
15660
15661 2005-10-19  Robert Love  <rml@novell.com>
15662
15663         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15664
15665 2005-10-19  Robert Love  <rml@novell.com>
15666
15667         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15668           sensitivity of the buttons.  Specificaly, do the right thing if
15669           there are no entries.
15670
15671 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15672
15673         * configure.in: Update check for adequate wireless-tools
15674         with an AC_TRY_COMPILE for the new symbols we use.
15675
15676 2005-10-19  Dan Williams  <dcbw@redhat.com>
15677
15678         * src/NetworkManagerDevice.c
15679                 - (process_scan_results): don't drop the last (or only)
15680                         access point we see
15681
15682 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15683
15684         * src/backends/NetworkManagerSlackware.c:
15685         Patch from Nico <lordllucifer@gmail.com>
15686                 - Update the Slackware backend.
15687
15688 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15689
15690         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15691         if we've got GLib 2.8.0
15692
15693 2005-10-18  Robert Love  <rml@novell.com>
15694
15695         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15696           function nm_schedule_state_change_signal_broadcast() when we
15697           deactivate a device, too.
15698
15699 2005-10-18  Robert Love  <rml@novell.com>
15700
15701         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15702           be used uninitialized.
15703
15704 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15705
15706         * test/libnm_glib_test.c: Test unregistering, too.
15707
15708 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15709
15710         * configure.in: Bump to 0.5.0
15711
15712 2005-10-17  Dan Williams  <dcbw@redhat.com>
15713
15714         * NetworkManager.h
15715                 - Remove WPA-related constants so they aren't part of the
15716                         upcoming release.
15717
15718 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15719
15720         * gnome/applet/applet.c:
15721         * gnome/applet/applet.h:
15722         Desensitize the 'Connection Information' menu item when there is
15723         no active connection.
15724
15725 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15726
15727         * gnome/libnm_glib/libnm_glib.c:
15728         Make libnm_glib_unregister_callback () actually unregister the callback
15729
15730 2005-10-17  Robert Love  <rml@novell.com>
15731
15732         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15733           two seconds -- tries is updated every 1/10 of a second, not every
15734           second..
15735
15736 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15737
15738         * gnome/applet/applet-dbus-info.c:
15739         Let D-BUS know that we haven't handled a message when we haven't.
15740
15741 2005-10-17  Robert Love  <rml@novell.com>
15742
15743         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15744           in order to remain 64-bit clean.
15745
15746 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15747
15748         * gnome/applet/applet-dbus-info.c:
15749         Find network encryption keys asynchronously
15750
15751 2005-10-17  Robert Love  <rml@novell.com>
15752
15753         * src/backends/NetworkManagerDebian.c,
15754           src/backends/NetworkManagerRedHat,
15755           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15756           comment delimiter.
15757
15758 2005-10-17  Robert Love  <rml@novell.com>
15759
15760         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15761           "/etc"
15762
15763 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15764
15765         * src/NetworkManagerDevice.c: (process_scan_results)
15766         Fix logic that checks to see whether we have an ESSID.
15767
15768 2005-10-15  Dan Williams  <dcbw@redhat.com>
15769
15770         Move scanning code into NetworkManager rather than use iwlib's
15771         iw_scan() function, so that we can figure out AP capabilities.
15772
15773         * NetworkManager.h
15774                 - Add AP capability bits
15775
15776         * src/NetworkManagerAP.[ch]
15777                 - Add capability field to NMAccessPoint structure
15778                 - Add WPA & RSN Information Element fields and accessor
15779                         functions to NMAccessPoint
15780
15781         * src/NetworkManagerDevice.c
15782                 - Remove usage of iw_scan
15783                 - Add scanning code to NetworkManager rather than use
15784                         iw_scan() from iwlib
15785
15786         * src/NetworkManagerUtils.[ch]
15787                 - (nm_dispose_scan_results): remove, unused
15788
15789 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15790
15791         * gnome/libnm_glib/libnm_glib.c:
15792         * gnome/libnm_glib/libnm_glib.h:
15793         Use guint instead of gint for callback IDs.
15794
15795 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15796
15797         * gnome/applet/applet.c:
15798         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15799         every 1000ms.  It will unconditionally call nmwa_update_state which
15800         kills the existing animation timeout and registers a new one with a
15801         callback to draw a new frame every 100ms.  There are 11 connecting
15802         icon frames, so the last 2 frames kept getting dropped.  Only reset
15803         the animation timeout if we aren't animating.
15804
15805 2005-10-11  Dan Williams  <dcbw@redhat.com>
15806
15807         * gnome/applet/applet-dbus-devices.c
15808                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15809                         We want to grab the product & vendor from net.physical_dev
15810                         rather than info.parent.
15811
15812 2005-10-11  Dan Williams  <dcbw@redhat.com>
15813
15814         * src/NetworkManagerDevice.c
15815                 - Use the driver's WE version for scanning rather than
15816                         the WE version NM was compiled with.  Fixes random
15817                         crashes in iw_scan () in iwlib.
15818
15819 2005-10-10  Dan Williams  <dcbw@redhat.com>
15820
15821         * Remove nm_system_load_device_modules() from backend files
15822                 and from NetworkManager.c
15823
15824 2005-10-10  Dan Williams  <dcbw@redhat.com>
15825
15826         * src/NetworkManagerPolicy.c
15827                 - Fix some bugs introduced by the capabilities patch
15828
15829 2005-10-10  Dan Williams  <dcbw@redhat.com>
15830
15831         * gnome/applet/applet-dbus-info.c
15832                 - (nmi_dbus_get_network_key): hide the menu when putting up
15833                         the keyring dialog.  (not sure if the code is right...)
15834
15835 2005-10-09  Dan Williams  <dcbw@redhat.com>
15836
15837         Patch from Bill Moss <bmoss@clemson.edu>
15838         * src/NetworkManagerDevice.c
15839                 - (nm_device_set_user_key_for_network): don't try to set auth
15840                         mode on the AP from the allowed list if it's NULL
15841
15842 2005-10-09  Dan Williams  <dcbw@redhat.com>
15843
15844         * Replace the "driver support level" stuff with capabilities.  The
15845                 capability field is a bitfield that is more flexible than the
15846                 old driver support level thing.  It's mostly so we can easily
15847                 figure out what supports WPA and what doesn't, but should be
15848                 quite useful later.
15849
15850 2005-10-09  Dan Williams  <dcbw@redhat.com>
15851
15852         * test/nmtest.c
15853                 - Removed
15854
15855         * test/nm-tool.c
15856           test/Makefile.am
15857                 - Added new "nm-tool" tool that gives quite a bit more
15858                         information
15859
15860 2005-10-07  Robert Love  <rml@novell.com>
15861
15862         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15863           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15864           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15865           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15866           appropriate
15867
15868 2005-10-07  Robert Love  <rml@novell.com>
15869
15870         * configure.in: Change our compile flags for the betterment of mankind.
15871           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15872           prototype is very bad on 64-bit platforms as types default to int but
15873           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15874           "-Wmissing-declarations" to warn if we define an exported function
15875           but fail to put it in a header.
15876
15877 2005-10-07  Robert Love  <rml@novell.com>
15878
15879         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15880           by the name nm_update_device_wireless_timeouts() and once tried,
15881           without success, to steal my pet turtle.
15882
15883 2005-10-07  Robert Love  <rml@novell.com>
15884
15885         * Cleanup prototypes: put some functions in header files and mark
15886           others as 'static' -- feel free to invert
15887         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15888           nm_vpn_manager_vpn_connection_list_copy()
15889         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15890           nm_vpn_service_get_dbus_connection()
15891         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15892           nm_vpn_manager_vpn_connection_list_copy()
15893         * src/vpn-manager/nm-vpn-service.c: make
15894           nm_vpn_service_act_request_failed() and
15895           nm_vpn_service_stage2_daemon_wait() static
15896         * src/vpn-manager/nm-vpn-service.h: add prototype for
15897           nm_vpn_service_get_dbus_connection()
15898
15899 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15900
15901         * gnome/applet/applet.c:
15902         * gnome/applet/applet.h:
15903         * gnome/applet/icons/Makefile.am:
15904         Convey information about the current connection stage in the
15905         icons themselves instead of creating a separate progress bar.
15906
15907 2005-10-04  Robert Love  <rml@novell.com>
15908
15909         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15910           convert an ether_addr structure's MAC into a string, because the
15911           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15912           versus 07:3B:04, while the former will not.
15913
15914 2005-10-04  Robert Love  <rml@novell.com>
15915
15916         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15917           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15918           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15919           default route in the 'Connection Information' dialog, send primary
15920           and secondary name servers in in "getProperties" DBUS method, add
15921           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15922           secondary domain name servers are crucial pieces of information
15923           that a user might need in debugging a network problem.
15924
15925 2005-10-04  Robert Love  <rml@novell.com>
15926
15927         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15928           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15929           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15930           default route in the 'Connection Information' dialog, send default
15931           route in "getProperties" DBUS method, add network_device_set_route(),
15932           and network_device_get_route().  The Gateway is a crucial piece of
15933           connection-related information that a user might need in debugging a
15934           network problem.
15935
15936 2005-10-03  Robert Love  <rml@novell.com>
15937
15938         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15939           NULL.
15940
15941 2005-10-02  Dan Williams  <dcbw@redhat.com>
15942
15943         * Shorten time taken to sleep by fastpathing bits of device deactivation
15944                 necessary for sleep.
15945
15946         * Fix issue where deactivating a device might deactivate the active
15947                 VPN connection, even if the VPN was not using the device.
15948
15949 2005-10-02  Dan Williams  <dcbw@redhat.com>
15950
15951         * gnome/applet/applet.c
15952                 - Adjust signal strength -> icon mapping values slightly
15953                         (so that 51% signal doesn't show a 75% icon) by adding
15954                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15955                         shows 50% icon, etc.
15956
15957 2005-09-29  Robert Love  <rml@novell.com>
15958
15959         * src/NetworkManager.c: removed unused variable.
15960
15961 2005-09-28  Dan Williams  <dcbw@redhat.com>
15962
15963         Support for named + DBus, using Red Hat DBus patches for named.  You
15964         can find those patches here, with "dbus" in the patch's filename:
15965
15966                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15967
15968         Don't forget the named dbus service file either.
15969
15970         Instead of writing a config file and spawing a named process, NM will
15971         use an already-running dbus-enabled named if it finds one.  NM will
15972         update named's forwarder configuration on the fly using dbus.
15973
15974         If there is no dbus-enabled named running, NM will automatically fall
15975         back to writing the most-recent DNS server information to /etc/resolv.conf
15976         and calling nm_system_update_dns() to kick the system's resolver.
15977
15978         Accordingly, all named-related configure-time options have been removed.
15979
15980 2005-09-26  Robert Love  <rml@novell.com>
15981
15982         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15983           ISDN support!
15984         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15985           bug in error path if "ASKPASSWORD" is "no".
15986
15987 2005-09-26  Robert Love  <rml@novell.com>
15988
15989         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15990           comment in /etc/resolv.conf -- ';' is not.
15991
15992 2005-09-19  Dan Williams  <dcbw@redhat.com>
15993
15994         * src/backends/NetworkManagerRedHat.c:
15995         * src/backends/NetworkManagerDebian.c:
15996         * src/backends/NetworkManagerSlackware.c:
15997         * src/backends/NetworkManagerGentoo.c:
15998         * src/backends/NetworkManagerSUSE.c:
15999         Fix invocations of "/sbin/ip address" to use short form instead
16000
16001 2005-09-19  Christopher Aillon  <caillon@redhat.com>
16002
16003         * src/nm-dbus-device.c: Don't assert when getting
16004         addresses of a not yet connected interface.
16005
16006         * gnome/applet/applet.c: Free icons if loading fails.
16007         Use translator-credits so translators can make themselves known.
16008
16009 2005-09-15  Christopher Aillon  <caillon@redhat.com>
16010
16011         * src/NetworkManagerAP.c:
16012         * src/NetworkManagerAP.h:
16013         * src/NetworkManagerDevice.c:
16014         Set a blacklist for certain common manufacturer default ESSIDs:
16015         APs with these ESSIDs are extremely likely to be completely
16016         different networks: connecting to one should not make NM
16017         auto-connect to every other AP with the same default ESSID.
16018
16019 2005-09-12  Christopher Aillon  <caillon@redhat.com>
16020
16021         * gnome/applet/wireless-applet.glade:
16022         The passphrase entry should also activate the default
16023
16024         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
16025
16026         * gnome/applet/applet-dbus-devices.c:
16027         * gnome/applet/applet.c:
16028         * gnome/applet/nm-device.c:
16029         * gnome/applet/nm-device.h:
16030         * src/NetworkManagerUtils.c:
16031         * src/NetworkManagerUtils.h:
16032         * src/nm-dbus-device.c:
16033         I've got a fever, and the only cure for it is less ioctl.
16034         Make NM push IP data rather than make the applet open a socket
16035         to the device.
16036
16037 2005-09-10  Christopher Aillon  <caillon@redhat.com>
16038
16039         * gnome/applet/applet.c:
16040         * gnome/applet/applet-dbus-devices.c:
16041         * gnome/applet/applet-dbus-info.c:
16042         * gnome/applet/passphrase-dialog.c:
16043         * gnome/libnm_glib/libnm_glib.c:
16044         * gnome/vpn-properties/nm-vpn-properties.c:
16045         * src/autoip.c:
16046         * src/backends/NetworkManagerRedHat.c:
16047         * src/named-manager/nm-named-manager.c:
16048         * src/NetworkManagerAPList.c:
16049         * src/NetworkManager.c:
16050         * src/NetworkManagerDbus.c:
16051         * src/NetworkManagerDevice.c:
16052         * src/NetworkManagerPolicy.c:
16053         * src/NetworkManagerSystem.c:
16054         * src/nm-dbus-device.c:
16055         * src/nm-dbus-nm.c:
16056         * src/vpn-manager/nm-vpn-manager.c:
16057         * src/vpn-manager/nm-vpn-service.c:
16058         * test/libnm_glib_test.c:
16059         * test/nminfotest.c:
16060         * test/nmtestdevices.c:
16061         Fix a bunch of 'unused variable' compiler warnings
16062
16063         * NetworkManager.h:
16064         * gnome/applet/applet-dbus-info.c:
16065         * gnome/applet/applet-dbus-info.h:
16066         * gnome/applet/applet.c:
16067         * gnome/applet/applet.h:
16068         * src/NetworkManager.c:
16069         * src/NetworkManagerDbus.c:
16070         * src/NetworkManagerDbus.h:
16071         * src/NetworkManagerDevice.c:
16072         * src/NetworkManagerDevice.h:
16073         * src/NetworkManagerMain.h:
16074         * src/NetworkManagerWireless.c:
16075         * src/NetworkManagerWireless.h:
16076         * src/nm-dbus-nm.c:
16077         Make NetworkManager be smart about how frequently to scan
16078         based on its current state.  Remove the UI for choosing when
16079         to scan.  Scanning still may disabled completely by the user
16080         via the "Wireless Enabled" menu item.
16081
16082 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16083
16084         * gnome/applet/applet.c:
16085         Also overlay the vpn connecting icons onto the wired icon,
16086         when appropriate.
16087
16088         * gnome/vpn-properties/nm-vpn-properties.glade:
16089         Clean up a few strings to use better grammar and proper casing.
16090
16091 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16092
16093         * gnome/applet/vpn-connection.c:
16094         * gnome/applet/vpn-connection.h:
16095         Add nmwa_vpn_connection_is_activating ()
16096
16097         * gnome/applet/applet.c:
16098         * gnome/applet/applet.h:
16099         * gnome/applet/icons/nm-vpn-connecting*.png:
16100         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16101         the user know something's happening between clicking the VPN item and it
16102         actually being connected.
16103
16104 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16105
16106         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16107         failure case as well.
16108
16109 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16110
16111         * gnome/panel/eggtrayicon.[ch]:
16112         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16113
16114 2005-09-07  Dan Williams  <dcbw@redhat.com>
16115
16116         Patch from Bill Moss <bmoss@clemson.edu>
16117         * src/applet-dbus.c
16118                 - (nmwa_dbus_filter): strip whitespace from beginning
16119                         and end of VPN login banner
16120
16121 2005-09-07  Dan Williams  <dcbw@redhat.com>
16122
16123         * The great VPN Manager rewrite of 2005
16124
16125 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16126
16127         * gnome/applet/menu-items.c:
16128         * gnome/applet/nm-device.c:
16129         * gnome/applet/wireless-network.c:
16130         * gnome/libnm_glib/libnm_glib.c:
16131         * src/NetworkManagerDbusUtils.c:
16132         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16133         g_malloc0 doesn't return NULL
16134
16135 2005-09-06  Dan Williams  <dcbw@redhat.com>
16136
16137         Patch from Tomislav Vujec <tvujec@redhat.com>
16138         * src/NetworkManagerDevice.c
16139                 - (nm_get_device_by_udi): don't return a device when we
16140                         actually didn't find what we were looking for
16141
16142 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16143
16144         * gnome/applet/applet-dbus-devices.c:
16145         * gnome/applet/applet-dbus-devices.h:
16146         * gnome/applet/applet-dbus.c:
16147         * src/NetworkManagerDbus.c:
16148         * src/NetworkManagerDbus.h:
16149         * src/NetworkManagerDevice.c:
16150         * src/nm-dbus-device.c:
16151         Make NM push updates about active device strength when it changes,
16152         rather than having the applet poll every 2s.
16153
16154 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16155
16156         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16157         network_device_set_strength
16158
16159 2005-09-04  Dan Williams  <dcbw@redhat.com>
16160
16161         Patch from Bill Nottingham <notting@redhat.com>
16162         * src/NetworkManagerDevice.c
16163                 - (nm_device_activation_cancel): reset the quit_activation flag
16164
16165 2005-09-04  Dan Williams  <dcbw@redhat.com>
16166
16167         * src/nm-activation-request.c
16168                 - (nm_act_request_unref): actually free the structure,
16169                         which we didn't seem to be doing before
16170
16171 2005-09-04  Dan Williams  <dcbw@redhat.com>
16172
16173         Patch from John Palmieri <johnp@redhat.com>
16174         * gnome/applet/applet-dbus-devices.c
16175                 - Fix up unreffing of DBusMessage objects
16176
16177 2005-09-04  Dan Williams  <dcbw@redhat.com>
16178
16179         Patch from John Palmieri <johnp@redhat.com>
16180         * gnome/applet/nm-device.c
16181                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16182
16183 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16184
16185         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16186
16187 2005-09-02  Bill Nottingham  <notting@redhat.com>
16188
16189         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16190
16191 2005-09-01  Dan Williams  <dcbw@redhat.com>
16192
16193         * src/NetworkManager.c
16194                 - (nm_remove_device_from_list): rename to nm_remove_device
16195                 - (nm_hal_device_removed): call nm_remove_device()
16196
16197         * src/NetworkManagerDevice.c
16198                 - Change the NMWirelessScanCB member 'reschedule' which
16199                         wasn't used to 'force' to indicate that we need to
16200                         force a scan when adding a device
16201
16202         * src/nm-dbus-nm.c
16203                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16204                         from the device list
16205                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16206
16207 2005-09-01  Robert Love  <rml@novell.com>
16208
16209         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16210           and the check "!iface" in the error case is probably never true.
16211
16212 2005-09-01  Dan Williams  <dcbw@redhat.com>
16213
16214         Patch from Bill Nottingham <notting@redhat.com>
16215         * src/backends/NetworkManagerRedHat.c
16216                 - Add initial dialup support to Red Hat/Fedora backend
16217
16218 2005-09-01  Dan Williams  <dcbw@redhat.com>
16219
16220         * gnome/applet/applet-dbus-devices.c
16221                 - Sort both wireless networks and devices again, which got
16222                         broken when removing threading
16223
16224 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16225
16226         * gnome/applet/applet.c:
16227         Only show the "Stop/Start All Wireless Devices" menuitem
16228         if we actually have wireless devices.
16229
16230         * gnome/applet/applet-dbus-info.c:
16231         * gnome/applet/applet.c:
16232         * gnome/applet/other-network-dialog.c:
16233         * gnome/applet/vpn-password-dialog.c:
16234         Drop the gtk_dialog_run () calls in favor of connecting to
16235         "response" signals, needed now that the applet is not threaded.
16236
16237 2005-08-31  Dan Williams  <dcbw@redhat.com>
16238
16239         Patch from Bill Moss <bmoss@clemson.edu>
16240         * src/NetworkManagerDevice.c
16241                 - (nm_device_wireless_scan): fix scan timeout values
16242
16243 2005-08-30  Dan Williams  <dcbw@redhat.com>
16244
16245         * gnome/applet/wireless-applet.glade
16246                 - HIG-ify the Other Wireless Networks dialog a bit more
16247                 - Fix some potential segfaults in the info dialog
16248
16249 2005-08-30  Dan Williams  <dcbw@redhat.com>
16250
16251         * gnome/applet/applet-dbus-devices.c
16252                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16253
16254 2005-08-30  Dan Williams  <dcbw@redhat.com>
16255
16256         * gnome/applet/applet-dbus.[ch]
16257                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16258                         they weren't being used anyway
16259
16260 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16261
16262         * test/nmtestdevices.c: (print_usage), (main):
16263         Check the number of arguments, and fix a typo
16264
16265 2005-08-29  Dan Williams  <dcbw@redhat.com>
16266
16267         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16268         * gnome/applet/applet.c
16269                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16270
16271 2005-08-29  Dan Williams  <dcbw@redhat.com>
16272
16273         * gnome/applet/*
16274                 - Don't use threads any more.  Anything that blocks
16275                         (like gtk_dialog_run()) will  have to get fixed up which
16276                         should happen quickly.  We really only had threads to make
16277                         the animation smooth, and when everything got converted over
16278                         to DBus Pending Calls, the need for threads kind of went away
16279
16280 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16281
16282         * gnome/applet/applet.c: Draw VPN connections as radio items
16283         since we don't yet support multiple VPNs.
16284         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16285         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16286
16287 2005-08-29  Dan Williams  <dcbw@redhat.com>
16288
16289         Patch from j@bootlab.org
16290         - Make --without-named work
16291         - Make --with-dhcdbd work correctly
16292
16293 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16294
16295         * configure.in: Added "ca" to ALL_LINGUAS.
16296
16297 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16298
16299         * Fix up VPN state handling between the applet and NetworkManager,
16300                 so that the applet doesn't show a VPN as connected when one
16301                 really is not
16302                         - The applet no longer has a pointer to the active VPN's
16303                                 name, but tracks each VPNs state individually
16304                         - NM no longer has a "getActiveVPNConnection" method
16305                         - NM no longer broadcasts the "VPNConnectionChange" signal
16306                         - NM now broadcasts a "VPNConnectionStateChange" signal
16307                                 whenever the state of a VPN changes
16308
16309 2005-08-26  Dan Williams <dcbw@redhat.com>
16310
16311         * gnome/applet/applet-dbus-devices.c
16312           gnome/applet/applet-dbus-vpn.c
16313                 - Remove calls to dbus_pending_call_ref() because we already
16314                         "own" the pending call
16315                 - Remove calls to dbus_pending_call_get_completed() because
16316                         when we are in the callback, the pending call is completed
16317                         by definition
16318
16319 2005-08-22  Dan Williams <dcbw@redhat.com>
16320
16321         Patch by Bill Moss <bmoss@clemson.edu>
16322         * src/dhcp-manager/nm-dhcp-manager.c
16323                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16324                         some time to send out a RELEASE if they like
16325
16326 2005-08-22  Dan Williams <dcbw@redhat.com>
16327
16328         Noticed by Bill Moss <bmoss@clemson.edu>
16329         * src/NetworkManagerDbus.c
16330                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16331                         instead of just cancelling its activation
16332
16333         * src/NetworkManagerDevice.c
16334                 - (nm_device_deactivate): some small cleanups
16335                 - (nm_device_set_user_key_for_network): deactivate the device
16336                         instead of just cancelling its activation
16337
16338 2005-08-22  Dan Williams <dcbw@redhat.com>
16339
16340         Noticed by Bill Moss <bmoss@clemson.edu>
16341         * src/NetworkManagerDevice.c
16342                 - (nm_device_wireless_scan): fix scan timeout, we were
16343                         waiting way too long for scans to complete
16344
16345 2005-08-22  Dan Williams <dcbw@redhat.com>
16346
16347         Patch from j@bootlab.org:
16348         * src/backends/NetworkManagerDebian.c
16349                 - Make the Debian backend work for static IP again
16350
16351 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16352
16353         * gnome/applet/other-network-dialog.c:
16354         The "Create New Network" and "Connect to Other Network"
16355         dialogs share alot of code, but shouldn't share a window
16356         title.  Give them different ones.
16357
16358         * gnome/applet/wireless-applet.glade:
16359         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16360         Some more minor UI tweaks.
16361
16362 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16363
16364         * gnome/applet/other-network-dialog.c:
16365         * gnome/applet/wireless-applet.glade:
16366         Also need mnemonic widgets, and underline enabled.
16367
16368 2005-08-19  Dan Williams <dcbw@redhat.com>
16369
16370         * vpn-daemons/vpnc/nm-vpnc-service.c
16371                 - (vpnc_watch_cb): remove no-longer-relevant comment
16372                 - (write_config_option): new function, helper to write
16373                         config options to vpnc's stdin
16374                 - (nm_vpnc_config_write): use the new helper, make the
16375                         code shorter
16376
16377 2005-08-19  Christopher Aillon <caillon@redhat.com>
16378
16379         * gnome/applet/passphrase-dialog.c:
16380         * gnome/applet/wireless-applet.glade:
16381         Make the passphrase dialog response based, and treat
16382         responses other than OK (such as Esc, [X]) as a cancel.
16383
16384 2005-08-18  Christopher Aillon <caillon@redhat.com>
16385
16386         * initscript/Gentoo/NetworkManager:
16387         * initscript/RedHat/NetworkManager:
16388         * initscript/RedHat/NetworkManagerDispatcher:
16389         * initscript/SUSE/networkmanager:
16390         CVS remove these in place of .in replacements
16391
16392         * configure.in:
16393         * initscript/Gentoo/NetworkManager.in:
16394         * initscript/RedHat/NetworkManager.in:
16395         * initscript/RedHat/NetworkManagerDispatcher.in:
16396         * initscript/SUSE/networkmanager.in:
16397         These scripts now are generated so they work still when
16398         NM is built using a bindir other than /usr/bin
16399
16400 2005-08-18  Dan Williams <dcbw@redhat.com>
16401
16402         * gnome/applet/main.c
16403                 - Revert previous change for --no-session since
16404                         --sm-disable does the same thing
16405
16406 2005-08-18  Dan Williams <dcbw@redhat.com>
16407
16408         * gnome/applet/applet-dbus-info.c
16409                 - (nmi_dbus_create_error_message): new function
16410                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16411                         functions.  Also don't check for both device _and_ network before
16412                         asking for a user's key, because we may not have gotten all our
16413                         networks back from NM quite yet (due to the dbus pending calls
16414                         coming in later).  Fixes a hang in NM/nm-applet.
16415
16416         * src/NetworkManagerDbus.c
16417                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16418                         slightly more sane manner, even though we are still broken for
16419                         certain other error conditions.
16420                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16421                         to the info-daemon too
16422
16423         * src/NetworkManagerDevice.c
16424                 - Fix some debug messages to be info messages instead
16425
16426 2005-08-18  Dan Williams <dcbw@redhat.com>
16427
16428         * gnome/applet/main.c
16429                 - Add new "--no-session" parameter that disables applet
16430                         session management, ie for testing
16431
16432 2005-08-18  Christopher Aillon <caillon@redhat.com>
16433
16434         * gnome/applet/other-network-dialog.c:
16435         * gnome/applet/wireless-applet.glade: More mnemonics
16436
16437 2005-08-17  Robert Love  <rml@novell.com>
16438
16439         * initscript/SUSE/networkmanager: update
16440
16441 2005-08-17  Dan Williams  <dcbw@redhat.com>
16442
16443         * Tag NM_0_4_1_RELEASE
16444
16445 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16446
16447         * gnome/applet/applet.c: More translatable string cleanup
16448
16449
16450 2005-08-17  Dan Williams  <dcbw@redhat.com>
16451
16452         * gnome/applet/applet-dbus-info.c
16453                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16454                         from the dbus message, which tells us to unconditionally
16455                         ask the user for a new key.  Otherwise, we pull the key from
16456                         the keyring and return it.  If we fail to get the key from the
16457                         keyring, we ask the user for a new key.
16458                 - (nmi_dbus_get_network_key): new function to grab the key for
16459                         an essid from the keyring.
16460                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16461                         Also, don't return any key in the dbus message.
16462
16463         * src/NetworkManagerDbus.[ch]
16464                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16465                         indicate that we unconditionally want a new key.  This function
16466                         is now also used to get keys from the info-daemon which are
16467                         pre-stored, not just for asking the user for a new key.  The
16468                         "new_key" parameter indicates whether or not we wish to ask the
16469                         user for a new key.
16470                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16471                         info-daemon in the return message, so use NULL instead.  The
16472                         key will be filled in at connect time by calling
16473                         nm_dbus_get_user_key_for_network()
16474
16475         * src/NetworkManagerDevice.c
16476                 - (nm_device_wireless_configure): update for "new_key" param to
16477                         nm_dbus_get_user_key_for_network().  We initially set new_key
16478                         to FALSE to see if we have a stored key in the info-daemon, but
16479                         if the connection is unsuccessful at this stage we request a
16480                         new one
16481
16482 2005-08-17  Dan Williams  <dcbw@redhat.com>
16483
16484         * gnome/applet/icons/nm-no-connection.png
16485           gnome/applet/icons/nm-device-wired.png
16486                 - Use Diana's new RJ45 connector icons
16487
16488 2005-08-17  Dan Williams  <dcbw@redhat.com>
16489
16490         * src/NetworkManagerPolicy.c
16491                 - (nm_policy_device_change_check): clarify switching rules if
16492                         both new and old devices are valid; mainly, don't switch
16493                         away from user-requested wireless connection back to a wired
16494                         one
16495
16496 2005-08-17  Dan Williams  <dcbw@redhat.com>
16497
16498         * gnome/applet/Makefile.am
16499                 - Relocate the applet to /usr/bin since it is no longer
16500                         executed by anything, but directly by the user
16501
16502 2005-08-17  Dan Williams  <dcbw@redhat.com>
16503
16504         Patch from Bill Moss <bmoss@clemson.edu>
16505
16506         * gnome/applet/applet-dbus-info.[ch]
16507                 - (nmi_save_network_info): save timestamp for network if it
16508                         was a change requested by the user
16509                 - (nmi_dbus_update_network_info): get user_requested from dbus
16510                         message and pass to nmi_save_network_info()
16511
16512         * gnome/applet/applet.c
16513                 - (nmwa_update_network_timestamp): remove
16514                 - (nmwa_menu_item_activate): don't set timestamp on networks
16515                         here, only after a successful connect in nmi_save_network_info()
16516
16517         * src/NetworkManagerDbus.[ch]
16518                 - (nm_dbus_update_network_info): pass user_requested into the 
16519                         dbus message
16520
16521         * src/NetworkManagerPolicy.c
16522                 - (nm_policy_activation_finish): pass user_requested to
16523                         nm_dbus_update_network_info()
16524
16525 2005-08-16  Robert Love  <rml@novell.com>
16526
16527         * gnome/applet/applet.c: Better "Dial Up" menu item.
16528
16529 2005-08-16  Robert Love  <rml@novell.com>
16530
16531         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16532           "Connection Information" menu item.
16533
16534 2005-08-16  Dan Williams  <dcbw@redhat.com>
16535
16536         Patch from j@bootlab.org
16537         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16538
16539         * configure.in: allow specifying the path to dhcdbd
16540
16541 2005-08-16  Robert Love  <rml@novell.com>
16542
16543         Patch from j@bootlab.org
16544         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16545           src/backends/interface_parser.h: Debian dialup support.
16546
16547 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16548
16549         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16550         * gnome/applet/applet.c: Add some mnemonics for VPNC
16551
16552         * vpn-daemons/.cvsignore: fix this up a little bit
16553
16554 2005-08-16  Robert Love  <rml@novell.com>
16555
16556         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16557           support.
16558
16559 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16560
16561         * gnome/applet/applet.c: Split markup out of translatable strings
16562         and clean up logic a little bit.  (fixes #309012)
16563
16564 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16565
16566         * gnome/vpn-properties/nm-vpn-properties.c:
16567         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16568         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16569         Makeshift fix to remove newlines from translatable strings.
16570         Note that we now return an allocated string, so callers of
16571         get_confirmation_details () must now call g_free () on the
16572         result. (fixes #309033).
16573
16574 2005-08-12  Robert Love  <rml@novell.com>
16575
16576         * gnome/applet/applet-dbus.c: remove newlines from translatable
16577           strings--not needed here anyway. (fix b.g.o #309011)
16578         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16579
16580 2005-08-11  Robert Love  <rml@novell.com>
16581
16582         * gnome/applet/applet.c: mark string as translatable.
16583
16584 2005-08-11  Robert Love  <rml@novell.com>
16585
16586         * initscript/SUSE/networkmanager: update.
16587
16588 2005-08-11  Dan Williams  <dcbw@redhat.com>
16589
16590         * src/nm-dhcp-manager.c
16591                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16592                         an gateway returned from DHCP, try to use the address of the DHCP
16593                         server as the gateway instead.  Found by Ralf Ertzinger.
16594
16595 2005-08-10  Robert Love  <rml@novell.com>
16596
16597         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16598           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16599
16600 2005-08-10  Dan Williams  <dcbw@redhat.com>
16601
16602         Patch from Bill Moss <bmoss@clemson.edu>
16603         * Consolidate writes of access point information updates to the info daemon
16604                 so that we only do it when the connection to the access point was
16605                 successful.  Also consolidates updates to GConf in the Gnome applet.
16606
16607         * src/nm-netlink-monitor.c
16608                 - Silence compile warning when calling g_object_new()
16609
16610 2005-08-08  Dan Williams  <dcbw@redhat.com>
16611
16612         Patch from Steev <steev@steev.net>:
16613         * src/backends/NetworkManagerGentoo.c
16614                 - Stub new dialup backend functions
16615
16616 2005-08-08  Dan Williams  <dcbw@redhat.com>
16617
16618         Patch from Colin Slater:
16619         * src/backends/NetworkManagerGentoo.c
16620                 - (nm_system_update_dns): Fix exit status check for restarting
16621                         nscd
16622
16623 2005-08-05  Robert Love  <rml@novell.com>
16624
16625         * NetworkManager.h,
16626           gnome/applet/applet-dbus-devices.c,
16627           gnome/applet/applet-dbus-devices.h,
16628           gnome/applet/applet-dbus.c,
16629           gnome/applet/applet.c,
16630           gnome/applet/applet.h,
16631           src/NetworkManager.c,
16632           src/NetworkManagerMain.h,
16633           src/NetworkManagerSystem.h,
16634           src/backends/NetworkManagerRedHat.c,
16635           src/backends/NetworkManagerSuSE.c,
16636           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16637
16638 2005-08-05  Robert Love  <rml@novell.com>
16639
16640         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16641           machine's hostname to make adhoc creation idiot-proof.
16642
16643 2005-08-04  Robert Love  <rml@novell.com>
16644
16645         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16646           freed.
16647
16648 2005-08-04  Dan Williams  <dcbw@redhat.com>
16649
16650         * gnome/applet/applet-dbus-info.c
16651           gnome/applet/applet-dbus-info.h
16652                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16653                         to store key, key type, and auth method rather than just auth method
16654                 - (nmi_dbus_update_network_info): new function
16655                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16656
16657         * gnome/applet/passphrase-dialog.c
16658                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16659                         of saving the info ourselves
16660
16661         * gnome/libnm_glib/libnm_glib.c
16662                 - Remove the stupid version check for dbus
16663
16664         * src/NetworkManagerAP.c
16665           src/NetworkManagerAP.h
16666                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16667
16668         * src/NetworkManagerDbus.c
16669           src/NetworkManagerDbus.h
16670                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16671                         more than just the auth method
16672
16673         * src/NetworkManagerDevice.c
16674                 - Update network info at the appropriate times
16675
16676 2005-07-29  Ray Strode  <rstrode@redhat.com>
16677
16678         * src/NetworkManager.c (nm_info_handler): don't use input as format
16679         string (Spotted by Ian Jackson).
16680
16681 2005-07-27  Dan Williams  <dcbw@redhat.com>
16682
16683         * src/nm-dbus-nm.c
16684           src/nm-dbus-net.c
16685                 - Random cleanups of spacing
16686
16687         * gnome/applet/applet.h
16688           gnome/applet/other-network-dialog.c
16689           gnome/applet/passphrase-dialog.c
16690                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16691
16692         Patch from Bill Moss:
16693                 - Make Other Wireless Networks work again with encryption keys
16694
16695 2005-07-26  Dan Williams  <dcbw@redhat.com>
16696
16697         Patch from Steev <steev@steev.net>:
16698         * src/backends/NetworkManagerGentoo.c
16699           src/backends/Makefile.am
16700                 - Fix up Gentoo backend
16701
16702 2005-07-26  Robert Love  <rml@novell.com>
16703
16704         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16705
16706 2005-07-25  Robert Love  <rml@novell.com>
16707
16708         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16709           in the same group as the wireless networks, since they are all
16710           mutually exclusive.
16711
16712 2005-07-24  Ray Strode  <rstrode@redhat.com>
16713
16714         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16715         remove unneeded NULL arg from g_object_new().  Any
16716         warnings caused by not having the extra NULL are just a
16717         result of a bug in glib 2.7.0 - 2.7.2.
16718
16719 2005-07-22  Robert Love  <rml@novell.com>
16720
16721         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16722
16723 2005-07-22  Robert Love  <rml@novell.com>
16724
16725         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16726           parameters (gcc 4.0.2 warning fix).
16727
16728 2005-07-18  Robert Love  <rml@novell.com>
16729
16730         Suggested by Aaron Bockover (abockover@novell.com)
16731         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16732           s/Ascii/ASCII
16733         * gnome/applet/passphrase-dialog.c: ditto
16734         * gnome/applet/wireless-applet.glade: ditto
16735
16736 2005-07-13  Dan Williams  <dcbw@redhat.com>
16737
16738         Patch from Ray Strode <halfline@gmail.com>
16739         * vpn-daemons/vpnc/nm-vpnc-service.c
16740                 - Don't let vpnc daemonize, fixes some races with PID file reading
16741
16742 2005-07-13  Dan Williams  <dcbw@redhat.com>
16743
16744         Patch from Ray Strode <halfline@gmail.com>
16745         * Random cleanups for strict CFLAGS
16746
16747 2005-07-07  Dan Williams  <dcbw@redhat.com>
16748
16749         Patch from Derek Atkins <warlord@MIT.EDU>
16750         * src/nm-dbus-net.c:
16751                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16752
16753 2005-07-07  Dan Williams  <dcbw@redhat.com>
16754
16755         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16756         * src/backends/NetworkManagerGentoo.c
16757                 - Gentoo backend Static IP nameserver fixes
16758                 - General Gentoo backend goodness
16759
16760 2005-07-07  Dan Williams  <dcbw@redhat.com>
16761
16762         Patch from Bastien Nocera:
16763         * gnome/applet/applet.c
16764                 - Fix up error reporting when icons or glade files are missing
16765
16766 2005-07-07  Robert Love  <rml@novell.com>
16767
16768         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16769           are not any VPN connections above it.
16770
16771 2005-07-07  Robert Love  <rml@novell.com>
16772
16773         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16774
16775 2005-07-05  Robert Love  <rml@novell.com>
16776
16777         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16778           zero.
16779
16780 2005-07-05  Robert Love  <rml@novell.com>
16781
16782         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16783           on wired or unencrypted wireless.
16784
16785 2005-07-01  Robert Love  <rml@novell.com>
16786
16787         * src/NetworkManagerSystem.c: Print the error via strerror().
16788
16789 2005-06-30  Robert Love  <rml@novell.com>
16790
16791         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16792           then exit if the glade file is not found.  currently the application
16793           just hangs.
16794
16795 2005-06-30  Robert Love  <rml@novell.com>
16796
16797         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16798           explicitly up all interfaces on wake from sleep.
16799
16800 2005-06-30  Robert Love  <rml@novell.com>
16801
16802         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16803           with information about the currently active connection.
16804         * gnome/applet/applet.h: (ditto)
16805         * gnome/applet/wireless-applet.glade: (ditto), new file
16806
16807 2005-06-30  Robert Love  <rml@novell.com>
16808
16809         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16810         * src/nm-dbus-nm.c: print when we sleep and wake up.
16811         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16812         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16813           in /sbin unless D-BUS is, folks).
16814         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16815
16816 2005-06-27  Robert Love  <rml@novell.com>
16817
16818         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16819           case.
16820
16821 2005-06-27  Robert Love  <rml@novell.com>
16822
16823         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16824           items radios.
16825
16826 2005-06-26  Robert Love  <rml@novell.com>
16827
16828         * src/NetworkManagerDevice.c: be specific about which device in
16829           nm_info() message.
16830
16831 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16832
16833         * src/nm-netlink-monitor.c: correct spelling error.
16834
16835 2005-06-23  Robert Love  <rml@novell.com>
16836
16837         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16838         * gnome/applet/passphrase-dialog.c: more of that keyring!
16839
16840 2005-06-23  Robert Love  <rml@novell.com>
16841
16842         * configure.in: remove extraneous GNOMEKEYRING directives.
16843         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16844         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16845         * gnome/applet/passphrase-dialog.c: whitespace.
16846
16847 2005-06-23  Robert Love  <rml@novell.com>
16848
16849         * src/NetworkManagerDevice.c: division in assignment was flipped.
16850
16851 2005-06-23  David Zeuthen  <david@fubar.dk>
16852
16853         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16854         signal to the child to indicate that we got what we wanted when we
16855         see two new-lines right after each other.
16856         (nmwa_vpn_request_password): Pass a structure with several members
16857         instead of just the passwords
16858
16859 2005-06-23  Dan Williams <dcbw@redhat.com>
16860
16861         * src/NetworkManager.c
16862           src/NetworkManagerMain.h
16863                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16864                 - (nm_hal_init): new function, init libhal context then add devices
16865                 - (nm_hal_deinit): new function, clean up libhal context
16866                 - (nm_data_free): Move Hal cleanup here
16867                 - (main): check whether Hal is running, and if so, get a list of
16868                         network devices from it
16869
16870         * src/NetworkManagerDbus.c
16871                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16872                         and when it appears, get a list of network devices from it.  If
16873                         Hal goes away, clean up the libhal context
16874
16875 2005-06-22  Robert Love  <rml@novell.com>
16876
16877         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16878           permissions of scripts before executing.
16879
16880 2005-06-21  Robert Love  <rml@novell.com>
16881
16882         * initscript/SUSE/networkmanager: update.
16883         * src/backends/NetworkManagerSuSE.c: cleanup.
16884
16885 2005-06-21  Robert Love <rml@novell.com>
16886
16887         * gnome/applet/applet.c: use menu mnemonics.
16888         * gnome/applet/menu-items.c: (ditto)
16889
16890 2005-06-21  Robert Love  <rml@novell.com>
16891
16892         * applet/applet-dbus-devices.c: mark non-static functions static.
16893         * applet/applet-dbus-vpn.c: (ditto)
16894         * applet/applet.c: (ditto)
16895         * applet/nm-device.h: (ditto)
16896         * applet/other-network-dialog.c: (ditto)
16897         * applet/passphrase-dialog.c: (ditto)
16898         * NetworkManager.c: (ditto)
16899         * NetworkManagerDbus.c: (ditto)
16900         * NetworkManagerDevice.c: (ditto)
16901         * NetworkManagerPolicy.c: (ditto)
16902         * NetworkManagerUtils.c: (ditto)
16903         * NetworkManagerWireless.c: (ditto)
16904         * NetworkManagerWireless.h: (ditto)
16905         * nm-netlink-monitor.c: (ditto)
16906         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16907         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16908         * autoip.c: include autoip.h.
16909         * autoip.h: new file.  define get_autoip().
16910         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16911         * NetworkManagerDbus.h: remove duplicate definitions.
16912
16913 2005-06-20  Robert Love  <rml@novell.com>
16914
16915         * Makefile.am: Add missing intltool-foo.in generated files to
16916           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16917           with the start of stuff to cleanup on 'distclea'.
16918         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16919           stuff right and 'distcheck' works.
16920         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16921           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16922           Makefile.am for each.  And systray/Makefile needs to be redone.
16923
16924 2005-06-19  Dan Williams <dcbw@redhat.com>
16925
16926         * src/NetworkManagerDevice.c
16927         - (nm_device_wireless_process_scan_results): scan every 20s when
16928           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16929
16930 2005-06-19  Dan Williams <dcbw@redhat.com>
16931
16932         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16933
16934 2005-06-18  Ray Strode <rstrode@redhat.com>
16935
16936         * src/nm-netlink-monitor.c 
16937         (nm_netlink_monitor_event_handler): check for the presence
16938         of either error condition not both. 
16939         
16940         (nm_netlink_monitor_error_handler): emit error signal if
16941         error occurs.
16942
16943         (nm_netlink_monitor_event_handler),
16944         (nm_netlink_monitor_error_handler),
16945         (nm_netlink_monitor_disconnect_handler): if an 
16946         assertion fails disconnect the event handler to prevent 
16947         infinite loops.
16948
16949         * src/nm-netlink-monitor.h: add new error condition
16950         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16951
16952 2005-06-18  Ray Strode <rstrode@redhat.com>
16953
16954         * src/nm-netlink-monitor.c 
16955         (nm_netlink_monitor_event_handler): remove bogus < 0
16956         check on unsigned value and return early if the kernel
16957         didn't send any bytes.
16958
16959 2005-06-17  Robert Love  <rml@novell.com>
16960
16961         * initscript/SUSE/networkmanager: Change the Provides and default
16962         run levels
16963
16964 2005-06-16  Dan Williams <dcbw@redhat.com>
16965
16966         Patch from Robert Love:
16967         * gnome/applet/applet.c
16968                 - Beautify some applet menu item names
16969
16970 2005-06-17  David Zeuthen  <davidz@redhat.com>
16971
16972         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16973         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16974         Also add new methods can_export, import_file and export.
16975
16976         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16977         to the main UI
16978
16979         * gnome/vpn-properties/nm-vpn-properties.c:
16980         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16981         nm-vpn-ui-interface.h.
16982         (update_edit_del_sensitivity): Also update "Export" sensitivity
16983         (add_vpn_connection): Also add new SVC_NAME column
16984         (import_settings): New function
16985         (retrieve_data_from_selected_connection): New function
16986         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16987         this function
16988         (export_cb): New function
16989         (init_app): Also setup the "export" widget
16990         (main): Support the --import-service and --import-file commandline
16991         arguments
16992
16993         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16994         D-BUS 0.34
16995
16996 2005-06-16  Dan Williams <dcbw@redhat.com>
16997
16998         Patch from Robert Love:
16999         * gnome/applet/menu-items.c
17000                 - (network_menu_item_new): pass -1 as wireless network
17001                         menu items height size request rather than ascent / 2
17002
17003 2005-06-16  Dan Williams <dcbw@redhat.com>
17004
17005         * Clean up wording in Wireless Scan Methods menu items and constants
17006
17007 2005-06-16  Robert Love  <rml@novell.com>
17008
17009         * po/POTFILES.in
17010                 - remove gtkcell* files
17011
17012 2005-06-15  Dan Williams <dcbw@redhat.com>
17013
17014         Patch from Robert Love: make the applet stetic
17015
17016         * gnome/applet/Makefile.am
17017                 - Don't compile the gtkcellview and gtkcellrendererprogress files
17018
17019         * gnome/applet/gtkcellview.h
17020           gnome/applet/gtkcellview.c
17021           gnome/applet/gtkcellrendererprogress.h
17022           gnome/applet/gtkcellrendererprogress.c
17023                 - Removed
17024
17025         * gnome/applet/menu-items.c
17026                 - Progress bars are 5:1 size ratio
17027                 - Use GTK progress bars rather than internal ones
17028
17029 2005-06-15  Dan Williams <dcbw@redhat.com>
17030
17031         Patch from Robert Love:
17032         * initscript/SUSE/networkmanager
17033                 - Fix typo
17034
17035 2005-06-15  Dan Williams <dcbw@redhat.com>
17036
17037         * src/backends/NetworkManagerSuSE.c
17038           src/backends/NetworkManagerRedHat.c
17039           src/backends/NetworkManagerDebian.c
17040                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
17041
17042 2005-06-15  Dan Williams <dcbw@redhat.com>
17043
17044         * src/backends/NetworkManagerDebian.c
17045                 - Add nm_system_device_get_use_dhcp() to debian backend
17046
17047         Patch from Kay Sievers:
17048         * src/backends/NetworkManagerSuSE.c
17049                 - Update debian backend for static IP nameservers
17050
17051         * src/NetworkManagerDevice.c
17052                 - Actually set the device to use static IP or DHCP rather
17053                         than always DHCP
17054
17055 2005-06-15  Dan Williams <dcbw@redhat.com>
17056
17057         Patch from Thom May:
17058         * src/backends/NetworkManagerDebian.c
17059                 - Update debian backend for static IP nameservers
17060
17061 2005-06-15  Dan Williams <dcbw@redhat.com>
17062
17063         Patches from Robert Love:
17064         * gnome/applet/wireless-applet.glade
17065                 - Tighten up wording
17066
17067         * src/NetworkManagerDevice.c
17068                 - Remove misplaced ';'
17069
17070         * configure.in
17071           initscript/Makefile.am
17072           initscript/SUSE/Makefile.am
17073           initscript/SUSE/networkmanager
17074                 - Add SUSE initscript
17075
17076 2005-06-12  David Zeuthen  <davidz@redhat.com>
17077
17078         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17079
17080         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17081
17082         * gnome/vpn-properties/nm-vpn-properties.c: New file
17083
17084         * gnome/vpn-properties/Makefile.am: New file
17085
17086         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17087         array of passwords
17088
17089         * src/vpn-manager/nm-vpn-manager.c
17090         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17091         instead of just a single one
17092
17093         * src/vpn-manager/nm-dbus-vpn.c:
17094         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17095         here
17096         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17097
17098         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17099         Change the interface here to give a list of passwords. Also, don't
17100         require username, but do require service
17101
17102         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17103         the binary for the auth-dialog and use that instead of putting up a
17104         dialog asking for a single password
17105
17106         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17107         however do remember the service
17108
17109         * gnome/applet/main.c (main): Setup i18n
17110
17111         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17112         connection to '%s'" to the tooltip if we are connected using VPN
17113         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17114         key to determine whether we the auth-dialog needs to
17115         reprompt. Also cope with the fact that the auth-dialog now returns
17116         an array of passwords.
17117         (nmwa_menu_configure_vpn_item_activate): New handler for
17118         "Configure VPN..." menu item
17119         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17120         (is_vpn_available): New function to determine if we got any
17121         NM-compatible VPN software installed
17122         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17123         items only if we have NM-compatible VPN software installed
17124         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17125         logic for detecting when VPN connections are removed
17126
17127         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17128         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17129         since these are defined elsewhere
17130
17131         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17132         function used to keep track of whether the last attempt succeded
17133         (nmwa_dbus_filter): Update last_attempt according to whether the
17134         VPN connection could be established or not
17135
17136         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17137         Change prototype to take an array of passwords, not just a single
17138         password
17139
17140         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17141         update service, not user
17142         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17143         dbus_active_vpn_name is not NULL before using it
17144         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17145         string array instead of assuming a single password
17146
17147         * gnome/applet/applet-dbus-info.c:
17148         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17149         user name; don't read from gconf
17150
17151         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17152         VPN_NAME_FILES_DIR
17153
17154         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17155
17156         * configure.in: Add checks for gmodule-2.0.
17157         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17158         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17159         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17160         for details
17161
17162         * vpn-daemons/Makefile.am: Removed
17163
17164         * vpn-daemons/README: New file to describe extensions points for VPN
17165         software
17166
17167 2005-06-10  Dan Williams <dcbw@redhat.com>
17168
17169         * src/backends/NetworkManagerRedHat.c
17170                 - (get_current_profile_name): new function, grab current network profile name from
17171                         /etc/sysconfig/network
17172                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17173                         update an IP4 Config structure's settings from it
17174                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17175                         get DNS info from current network profile
17176
17177 2005-06-09  Dan Williams <dcbw@redhat.com>
17178
17179         Patch from Robert Love:
17180         * src/NetworkManagerDevice.c
17181           src/NetworkManagerUtils.c
17182                 - 64-bit build fixes
17183
17184 2005-06-09  Dan Williams <dcbw@redhat.com>
17185
17186         Patch from Kay Sievers and Robert Love:
17187         * configure.in
17188           src/backends/Makefile.am
17189           src/backends/NetworkManagerSuSE.c
17190                 - Add SuSE support
17191
17192 2005-06-09  Dan Williams <dcbw@redhat.com>
17193
17194         * NetworkManager.h
17195                 - Add NMWirelessScanMethod enum for scan methods
17196
17197         * gnome/applet/applet-dbus-devices.c
17198                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17199                 - (nmwa_dbus_update_scanning_enabled): remove
17200                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17201                         since it got removed
17202                 - (nmwa_dbus_enable_scanning): remove
17203
17204         * gnome/applet/applet-dbus-info.c
17205                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17206                         update the wireless scanning method from NMI
17207                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17208                         method value to NetworkManager
17209                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17210
17211         * gnome/applet/applet-dbus-info.h
17212                 - Add prototype for nmi_dbus_signal_update_scan_method
17213
17214         * gnome/applet/applet.c
17215                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17216                         Wireless Scanning menu based on current wireless scan method
17217                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17218                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17219                         and update our menu items to make sure the right one is checked
17220                 - (nmwa_set_scanning_enabled_cb): remove
17221                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17222                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17223                         Scanning menu item
17224                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17225                         from GConf
17226                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17227                         so we get notified of preference values too
17228                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17229
17230         * gnome/applet/applet.h
17231                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17232                 - Add wireless scan method member to applet data
17233                 - Remove pause_scanning_item, add Wireless Scanning submenu
17234
17235         * src/NetworkManager.c
17236                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17237                 - (main): grab scanning method from NMI if we can
17238
17239         * src/NetworkManagerDbus.c
17240                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17241                         nm_dbus_update_wireless_scan_method()
17242                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17243                         from NMI
17244                 - (nm_dbus_nmi_is_running): redundant function, removed
17245                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17246                         when NMI comes back
17247
17248         * src/NetworkManagerDevice.c
17249                 - (nm_device_is_activated): return TRUE if the device is activated
17250                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17251                         and we are activated
17252
17253         * src/nm-dbus-nm.c
17254                 - (nm_dbus_nm_set_scanning_enabled): removed
17255                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17256                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17257
17258 2005-06-09  Dan Williams <dcbw@redhat.com>
17259
17260         * NetworkManager.h
17261           src/vpn-manager/nm-vpn-service.c
17262                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17263
17264 2005-05-27  Dan Williams <dcbw@redhat.com>
17265
17266         * vpn-daemons/vpnc/nm-vpnc-service.c
17267                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17268                         Should fix the bug where the VPN connection terminates the first time.
17269
17270 2005-05-20  Dan Williams <dcbw@redhat.com>
17271
17272         * NetworkManager.h
17273                 - Differentiate VPN config signals between bad VPN config options
17274                         and bad IP config
17275
17276         * gnome/applet/applet-dbus-info.h
17277                 - Add prototypes for wireless network and vpn connection update functions
17278
17279         * gnome/applet/applet-dbus.c
17280                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17281
17282         * gnome/applet/applet.c
17283                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17284                         error signals
17285                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17286                         propogation to NetworkManager
17287                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17288                         notify propogation to NetworkManager
17289
17290         * src/NetworkManagerDbus.c
17291                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17292                         are updating so a network can be removed from it if necessary
17293
17294         * src/vpn-manager/nm-vpn-manager.c
17295                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17296
17297         * vpn-daemons/vpnc/nm-vpnc-service.c
17298                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17299                 - (nm_vpnc_dbus_signal_launch_failed): remove
17300                 - (nm_vpnc_dbus_signal_connect_failed): remove
17301                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17302                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17303                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17304                         for new generalized error signal function, remove config file stuff
17305                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17306                         we can write configuration options to it
17307                 - (nm_vpnc_config_file_generate): removed
17308                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17309                 - (nm_vpnc_config_options_validate): validate the config options we receive
17310                         from NetworkManager to block potential exploits
17311                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17312                         starting vpnc
17313                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17314                         to NetworkManager
17315
17316 2005-05-16  Dan Williams  <dcbw@redhat.com>
17317
17318         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17319                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17320                         is not "connect"
17321
17322 2005-05-16  Dan Williams  <dcbw@redhat.com>
17323
17324         Patch from Tomislav Vujec <tvujec@redhat.com>
17325         * gnome/applet/applet-dbus-info.c
17326                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17327                         GConf and pass them to NetworkManager.  New key is 'routes' under
17328                         the VPN connection, and should be a string list
17329
17330         * src/NetworkManagerSystem.c
17331                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17332                         set them on the device when we set the rest of the VPN config.  Ensure
17333                         they are in the correct format since they are passed directly to the
17334                         command line.
17335
17336         * src/backends/NetworkManagerRedHat.c
17337           src/backends/NetworkManagerDebian.c
17338                 - (nm_system_device_add_route_via_device_with_iface): new function
17339
17340         * src/vpn-manager/nm-dbus-vpn.c
17341                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17342
17343         * src/vpn-manager/nm-vpn-manager.c
17344                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17345                         them into the IP4 config functions
17346
17347 2005-05-15  Dan Williams  <dcbw@redhat.com>
17348
17349         From Filip Miletic:
17350         * po/sr.po
17351           po/sr@Latn.po
17352           configure.in
17353                 - Serbian translation added
17354
17355 2005-05-15  Dan Williams  <dcbw@redhat.com>
17356
17357         * dispatcher-daemon/NetworkManagerDispatcher.c
17358                 - (main): sync arguments with NetworkManager and the applet, now use
17359                         "--no-daemon" rather than "daemon=no"
17360                 - (nmd_print_usage): Fix script path in usage message
17361
17362 2005-05-15  Dan Williams  <dcbw@redhat.com>
17363
17364         * src/NetworkManagerDevice.[ch]
17365           src/NetworkManagerPolicy.c
17366           src/NetworkManager.c
17367           src/nm-dbus-nm.c
17368                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17369                         longer send the DeviceNoLongerActive signal unconditionally, but only
17370                         when the device is actually active.
17371
17372         * dispatcher-daemon/NetworkManagerDispatcher.c
17373                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17374                         and simplify the logic
17375                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17376                         we free it later on
17377
17378         * initscript/RedHat/Makefile.am
17379           initscript/RedHat/NetworkManagerDispatcher
17380                 - Add initscript for NetworkManagerDispatcher
17381
17382
17383         Patch from Bill Moss:
17384         * dispatcher-daemon/NetworkManagerDispatcher.c
17385                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17386
17387         * src/NetworkManagerDbus.c
17388                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17389                         and DeviceNowActive gets signaled, then the device has a new IP address
17390                         anyway.  There's no need for a separate signal.
17391
17392         * src/NetworkManagerDevice.c
17393                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17394
17395         * src/NetworkManagerPolicy.c
17396                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17397                         activates successfully.  This kind of went missing when I reworked the
17398                         activation code.
17399
17400 2005-05-15  Dan Williams  <dcbw@redhat.com>
17401
17402         * configure.in
17403                 - Check for dhcdbd and error if its not found
17404
17405         * src/dhcp-manager/Makefile.am
17406           src/dhcp-manager/nm-dhcp-manager.c
17407                 - Use path to dhcdbd that configure found
17408
17409 2005-05-14  Dan Williams  <dcbw@redhat.com>
17410
17411         * gnome/applet/nm-device.c
17412                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17413                         sort wireless networks alphabetically
17414
17415         * gnome/applet/applet-dbus-devices.c
17416                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17417                         before copying them over to the GUI
17418
17419 2005-05-14  Dan Williams  <dcbw@redhat.com>
17420
17421         * src/NetworkManager.c
17422                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17423                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17424                         the device list, as does nm_get_active_device() which is called from
17425                         nm_vpn_manager_deactivate_vpn_connection().
17426
17427 2005-05-14  Dan Williams  <dcbw@redhat.com>
17428
17429         * NetworkManager.h
17430                 - Add signals for VPN Launch and Connect failures
17431
17432         * gnome/applet/applet-dbus.c
17433                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17434
17435         * gnome/applet/applet.c
17436                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17437                         function to handle all VPN failure messages
17438                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17439                         function to hanlde all VPN failure  messages
17440                 - (show_warning_dialog): work around focus-stealing prevention
17441
17442         * gnome/applet/other-network-dialog.c
17443           gnome/applet/passphrase-dialog.c
17444                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17445                         problem where it never enabled for ASCII Key and Hex Key types
17446
17447         * gnome/applet/wireless-applet.glade
17448                 - Add window title to Other Wireless Network Dialog
17449
17450         * src/vpn-manager/nm-dbus-vpn.c
17451                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17452                         function to handle all VPN failure messages
17453
17454         * src/vpn-manager/nm-vpn-manager.c
17455                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17456
17457         * vpn-daemons/vpnc/nm-vpnc-service.c
17458                 - (nm_vpnc_dbus_signal_launch_failed): new function
17459                 - (nm_vpnc_dbus_signal_connect_failed): new function
17460                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17461                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17462                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17463                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17464
17465 2005-05-11  Dan Williams  <dcbw@redhat.com>
17466
17467         * vpn-daemons/vpnc/nm-vpnc-service.c
17468                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17469                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17470                         file exists before trying to write it out.
17471
17472 2005-05-10  Dan Williams  <dcbw@redhat.com>
17473
17474     * gnome/applet/applet-dbus-device.c
17475         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17476             prevented just entering ESSID and leaving key and key type up to
17477             NetworkManager (which should have them already cached)
17478
17479 2005-05-08  Dan Williams  <dcbw@redhat.com>
17480
17481         * src/NetworkManagerPolicy.c
17482                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17483                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17484                         fix a situation where NM is told to terminate and the device stops activation,
17485                         but the main thread isn't aware of that because it would never have run
17486                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17487                         had already quit.
17488
17489         * src/NetworkManagerDevice.c
17490                 - (nm_device_probe_wired_link_state): cosmetic fixes
17491                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17492                         we've failed to activate or been canceled.
17493                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17494
17495 2005-05-08  Dan Williams  <dcbw@redhat.com>
17496
17497         * src/NetworkManagerWireless.c
17498                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17499                         value of WEXT quality structures, and add a debug message when we cannot
17500                         determine any quality % at all
17501
17502 2005-05-08  Dan Williams  <dcbw@redhat.com>
17503
17504         * src/dhcp-manager/nm-dhcp-manager.c
17505                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17506                         it goes down.
17507
17508 2005-05-06  Dan Williams  <dcbw@redhat.com>
17509
17510         * gnome/applet/applet-dbus-device.c
17511           gnome/applet/applet-dbus-info.c
17512           gnome/applet/applet-dbus.c
17513           gnome/applet/applet.c
17514           gnome/applet/applet.h
17515                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17516
17517         * gnome/applet/applet-dbus.c
17518                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17519                         so we notice when wired device's carriers come back on.  Should
17520                         fix issue with wired devices being grayed out even if the cable
17521                         is in, for devices that support carrier detection.
17522
17523         * gnome/applet/applet.c
17524                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17525                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17526                         tooltip message
17527                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17528                         Fix situation where applet wouldn't respond to menu selections
17529
17530         * src/NetworkManager.c
17531           src/NetworkManagerDevice.c
17532           src/NetworkManagerDbus.c
17533           src/NetworkManagerDbus.h
17534                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17535
17536         * src/NetworkManagerDbus.c
17537                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17538                         Remove, no longer used or relevant
17539                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17540                 - (nm_dbus_schedule_device_status_change_signal): add
17541
17542         * src/NetworkManagerDevice.c
17543                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17544                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17545                         ie don't deactivate them unless explicitly told to by the user.  Also send
17546                         CARRIER_OFF / CARRIER_ON signals when link changes
17547                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17548                         Don't print error message when device is no longer around
17549                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17550                         not just during activation
17551
17552         * src/NetworkManagerPolicy.c
17553                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17554                         auto-device-selection.
17555                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17556
17557         * src/NetworkManagerSystem.c
17558                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17559                         is no longer present (Bill Moss)
17560
17561         * src/backends/shvar.c
17562                 - (svOpenFile): Open read-only to make SELinux happy
17563
17564         * src/backends/NetworkManagerRedHat.c
17565                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17566                         the path to the ifcfg-* files
17567
17568 2005-05-05  Dan Williams  <dcbw@redhat.com>
17569
17570         * Expose activation stages to NetworkManager clients, like the applet
17571         * Add Diana's progress icons to the applet, cued off NM activation stage
17572         * Use more descriptive tooltips, cued off NM activation stage
17573
17574 2005-05-05  Ray Strode  <rstrode@redhat.com>
17575
17576         * src/nm-netlink-monitor.c:
17577                 - Use clear_event_source instead of g_nullify_pointer() again.
17578
17579 2005-05-05  Dan Williams  <dcbw@redhat.com>
17580
17581         * gnome/applet/main.c
17582                 - Fix session management so the applet is actually managed now
17583
17584         * gnome/applet/passphrase-dialog.c
17585                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17586
17587 2005-05-05  Dan Williams  <dcbw@redhat.com>
17588
17589         Patch from Bill Moss:
17590         * gnome/libnm_glib/libnm_glib.c
17591                 - Fix for dbus-0.33
17592
17593 2005-05-05  Dan Williams  <dcbw@redhat.com>
17594
17595         Suggestion from Bill Moss:
17596         * src/NetworkManagerSystem.c
17597                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17598
17599
17600         * src/NetworkManager.c
17601                 - (nm_data_free): move destruction of the various managers after
17602                         release of device list, because deactivating and freeing a device
17603                         requires at least the named manager
17604                 - (nm_poll_and_update_wireless_link_state):
17605                   (nm_device_link_activated):
17606                   (nm_device_link_deactivated):
17607                         don't grab the device list lock when actually updating device
17608                         link status or strength, since nm_device_set_link_active()
17609                         needs to call nm_get_active_device(), which also locks the device list.
17610
17611         * src/NetworkManagerDevice.c
17612                 - (nm_device_set_link_active): if a device's link switches from off->on,
17613                         and it's wired, and the active device is wireless (or there is no
17614                         active device), activate the new device whose link just came on
17615                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17616                         my only calling the link to the current ap "failed" when more than 2
17617                         consecutive link checks have failed
17618
17619 2005-05-04  Dan Williams  <dcbw@redhat.com>
17620
17621         * src/NetworkManagerDevice.c
17622                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17623                         but let link_to_specific_ap() do the locking where it needs
17624
17625         Patch from Bill Moss:
17626         * src/NetworkManagerSystem.c
17627                 - Set MTU of VPN devices to 1412
17628
17629 2005-05-04  Dan Williams  <dcbw@redhat.com>
17630
17631         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17632
17633         * Fix some holes in device activation and retaining the currently connected
17634                 access point
17635
17636 2005-05-03  Dan Williams  <dcbw@redhat.com>
17637
17638         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17639           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17640           means you need dhcdbd, which you can get here (get the latest one):
17641
17642                 http://people.redhat.com/jvdias/dhcdbd/
17643
17644           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17645           interface as dhcdbd.
17646
17647         * Rewrite device activation to facilitate the new DHCP infrastructure and
17648           future improvements.  Its now "activation request" based, ie there is a single
17649           activation request composed of the device, access point, and other info which
17650           follows the entire activation process.  There are 5 stages of the activation
17651           process which correspond to:
17652
17653                 1) Device preparation
17654                 2) Device configuration (bring it up, set ESSID/Key/etc)
17655                 3) IP Config Start (fire off DHCP if we're using it)
17656                 4) IP Config Get (grab config from DHCP or static config files)
17657                 5) IP Config Commit (set device's IP address, DNS, etc)
17658
17659           Note that there is no longer a "scanning" step, since the access point must
17660           be known _before_ activation starts.  If the access point drops out or does
17661           not exist for some reason, the entire activation process fails and must be
17662           restarted for a different access point or device.
17663
17664         Patch from Bill Moss:
17665         * gnome/applet/applet.c
17666                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17667
17668 2005-04-27  Dan Williams  <dcbw@redhat.com>
17669
17670         * gnome/applet/applet-dbus-vpn.c
17671           gnome/applet/applet.c
17672           gnome/applet/applet.h
17673                 - Fix up active VPN handling so that we reliably know when a VPN
17674                         connection has been deactivated
17675
17676         * src/vpn-manager/nm-vpn-manager.c
17677                 - Remove duplicate VPNConnectionChange signal
17678
17679 2005-04-27  Dan Williams  <dcbw@redhat.com>
17680
17681         Patch from Peter Jones:
17682         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17683
17684         Patch from Bill Moss:
17685         * src/NetworkManagerSystem.c
17686                 - Fix checking of return value from ioctl()
17687
17688 2005-04-27  Dan Williams  <dcbw@redhat.com>
17689
17690         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17691         * Warn and exit if icons cannot be found
17692
17693 2005-04-27  Dan Williams  <dcbw@redhat.com>
17694
17695         Patch from Tom Parker:
17696         * Update debian backend
17697
17698 2005-04-27  Dan Williams  <dcbw@redhat.com>
17699
17700         * Merge the applet and the info-daemon, and move the converged
17701                 applet under gnome/applet
17702         * Move libnm_glib to gnome/libnm_glib
17703         * Convert most dbus calls between the applet, info-daemon, and NM
17704                 into async calls
17705         * Fix a few things valgrind noticed
17706         * Make NM broadcast state more reliably
17707
17708 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17709
17710         * configure.in: Added ne in ALL_LINGUAS
17711
17712 2005-04-15  Dan Williams  <dcbw@redhat.com>
17713
17714         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17715                 code for dbus 0.2x versions
17716
17717 2005-04-15  Dan Williams  <dcbw@redhat.com>
17718
17719         Patches from Tom Parker:
17720         - Fix memleaks
17721         - Join with worker thread rather than polling for its exit
17722
17723         Patch from Bill Moss:
17724         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17725
17726 2005-04-15  Dan Williams  <dcbw@redhat.com>
17727
17728         - Fixes to pass 'make distcheck'
17729
17730 2005-04-15  Dan Williams  <dcbw@redhat.com>
17731
17732         Initial VPN Support
17733                 - supports 'vpnc'
17734                 - reworks device IP configuration, backend files have changed and will need
17735                         to be updated for all distributions.  I will try to do what I can for
17736                         them, but I cannot test them.
17737
17738         - Move named directory to src/named-manager
17739         - Make backends directory self-contained
17740
17741 2005-04-06  Dan Williams  <dcbw@redhat.com>
17742
17743         Add debug code for socket/file descriptor leaks.  We register every socket
17744         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17745         list of sockets that we forgot to close on shutdown.  This also consolidates
17746         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17747
17748 2005-04-06  Dan Williams  <dcbw@redhat.com>
17749
17750         * dhcpcd/dhcpcd.c
17751                 - (dhcp_interface_free): fix a file descriptor leak that may have
17752                         caused network drivers to not unload due to refcounts > 0
17753
17754 2005-04-04  Dan Williams  <dcbw@redhat.com>
17755
17756         * panel-applet/NMWirelessAppletDbus.c
17757                 - (nmwa_dbus_call_nm_method): remove some commented code
17758
17759         * src/NetworkManagerAPList.[ch]
17760                 - (nm_ap_list_remove_ap_by_essid): new function
17761
17762         * src/NetworkManagerDevice.c
17763                 - (nm_device_wireless_force_use): remove access points from the ignore list
17764                         when the user forces them
17765
17766         * src/nm-dbus-device.c
17767                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17768
17769 2005-04-04  Dan Williams  <dcbw@redhat.com>
17770
17771         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17772
17773 2005-04-04  Dan Williams  <dcbw@redhat.com>
17774
17775         * src/NetworkManagerDevice.c:
17776                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17777                         of only erroring after the second consecutive scan times out.  Also
17778                         don't exit when the card requires more time than we can give it, just
17779                         log the event and continue.
17780
17781 2005-04-01  Steve Murphy  <murf@e-tools.com>
17782
17783         * configure.in: Added "rw" to ALL_LINGUAS.
17784
17785 2005-04-01  Dan Williams <dcbw@redhat.com>
17786
17787         Perform scans during device activation, if needed.  Both activation 
17788         and scans run in the same GMainContext.  Therefore, if an access point
17789         is not found by the time the device starts activation, it will not
17790         be available until after activation.  We now try to scan during
17791         activation (in nm_wa_test) every 15s so that all available access
17792         points are more likely to be found and available for the activation
17793         procedure.
17794
17795         Also change nm_wireless_link_state_handle() to only update the "best"
17796         AP if we are not forcing a device and if we are not about to change
17797         state.  This attempts to work around a race when forcing a device,
17798         where the forced AP would get cleared out too soon by the link state
17799         checking timeout in the main thread, and the activation attempt with
17800         that AP would fail.
17801
17802 2005-04-01  Dan Williams <dcbw@redhat.com>
17803
17804         * po/POTFILES.in
17805                 - Update with new translatables
17806
17807 2005-03-31  Dan Williams <dcbw@redhat.com>
17808
17809         * panel-applet/NMWirelessAppletDbus.c
17810                 - Fix device names now that hal has changed device parenting for
17811                         network devices.
17812
17813 2005-03-31  Dan Williams <dcbw@redhat.com>
17814
17815         Tighten up handling of wireless devices that don't support wireless
17816         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17817         hadn't been doing pseudo-scanning for a while either and would just
17818         spin waiting for an access point.  They are now manual devices where
17819         the user must choose the access point from the menu every time.  All
17820         "allowed" access points are listed in the applet's menu regardless
17821         of whether or not they can be seen by the card, since it can't scan
17822         anyway.
17823
17824         * src/NetworkManager.c
17825                 - (nm_wireless_link_state_handle): new function, but only update
17826                         the "best" ap for non-scanning devices when its not activating,
17827                         and when no device is being forced on the card
17828                 - (nm_link_state_monitor): split wireless link state handling out
17829                         into separate function
17830
17831         * src/NetworkManagerDevice.c
17832                 - (nm_device_copy_allowed_to_dev_list): new function
17833                 - (nm_device_new): populate non-scanning cards' AP lists with
17834                         access points from the "allowed" list
17835                 - (nm_device_new): don't start a scanning timeout for devices that
17836                         can't scan
17837                 - (nm_device_activation_schedule_finish): new parameter, should be
17838                         the AP that failed to be connected to, pass it on to the
17839                         activation finish function in NetworkManagerPolicy.c
17840                 - (nm_device_activate_wireless): don't ever try to get a new AP
17841                         for non-scanning devices, just fail.  The user must choose
17842                         a new access point manually.
17843                 - (nm_device_activate): grab the AP that failed connection and
17844                         pass it on
17845                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17846                         a link to it, user must manually choose a new one
17847                 - (nm_device_do_pseudo_scan): remove function
17848                 - (nm_device_wireless_process_scan_results): remove bits for non-
17849                         scanning cards since they never get here
17850                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17851                         and fake the scan list for test devices a bit earlier
17852
17853         * src/NetworkManagerPolicy.c
17854                 - (nm_policy_activation_finish): use the failed_ap that we get
17855                         passed rather than getting the best_ap from the card, which
17856                         may have changed since we were scheduled
17857                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17858                         update their scan list directly from the allowed list when
17859                         we get updates to the allowed list from NetworkManagerInfo
17860
17861         * src/NetworkManagerPolicy.h
17862                 - New member for failed access point in NMActivationResult
17863
17864   -------------------------------------
17865
17866         Driver Notification patch: notifies the user when their driver
17867                 sucks.  Gives them the option to ignore further insertions
17868                 of the card that has the sucky driver.
17869
17870         * NetworkManager.h
17871                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17872                         enum and replace it with NO_CARRIER_DETECT and
17873                         NO_WIRELESS_SCAN
17874
17875         * panel-applet/NMWirelessApplet.[ch]
17876                 - Merge essid.glade -> wireless-applet.glade
17877                 - Implement the "Your driver sucks" notification dialog
17878
17879         * panel-applet/NMWirelessAppletDbus.c
17880                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17881                 - Grab hardware address for each device from NM too
17882                 - Check whether the driver for each device sucks or not whenever
17883                         a new device is noticed
17884
17885         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17886                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17887
17888         * src/NetworkManager.c
17889                 - Fix a double-unref on device removal
17890
17891         * src/NetworkManagerUtils.c
17892                 - Set appropriate driver support level on a device that doesn't
17893                         support scanning or carrier detection
17894
17895         * src/nm-dbus-device.c
17896                 - New "getHWAddress" dbus method on devices
17897                 - getSupportsCarrierDetect -> getDriverSupportLevel
17898
17899 2005-03-31  Dan Williams <dcbw@redhat.com>
17900
17901         * src/NetworkManagerDevice.c
17902                 - (nm_device_wireless_scan): Fix leak of scan results in some
17903                         instances
17904
17905 2005-03-29  Dan Williams <dcbw@redhat.com>
17906
17907         * src/NetworkManager.c
17908                 - (nm_poll_and_update_wireless_link_state): make code less indented
17909
17910         Patch from Bill Moss:
17911         * src/NetworkManager.c
17912                 - (nm_device_update_link_state): Update signal strength on wireless
17913                         devices every time we update link state too.
17914
17915 2005-03-29  Dan Williams <dcbw@redhat.com>
17916
17917         * src/NetworkManagerDevice.c
17918                 - (nm_device_set_essid): Work around Orinoco cards which need
17919                         extra time after setting the ESSID
17920
17921 2005-03-29  Dan Williams <dcbw@redhat.com>
17922
17923         * src/NetworkManagerDevice.c
17924                 - Merge one more bit of Peter Jones' completion patch
17925
17926 2005-03-29  Dan Williams <dcbw@redhat.com>
17927
17928         * src/NetworkManagerDevice.c
17929                 - (nm_device_force_use): Fix possible segfault
17930
17931 2005-03-29  Dan Williams <dcbw@redhat.com>
17932
17933         * src/NetworkManagerDevice.c
17934                 - Use iw_get_ext() where we should rather than iw_set_ext()
17935
17936 2005-03-29  Dan Williams <dcbw@redhat.com>
17937
17938         * src/NetworkManagerDevice.c
17939                 - (nm_device_set_up_down): remove check for unsupported devices
17940                         that caused NM to not bring devices up when they were
17941                         added to the device list.
17942
17943 2005-03-28  Dan Williams <dcbw@redhat.com>
17944
17945         * src/NetworkManagerDevice.c
17946                 - (mdio_read): Fix two bugs that caused all devices to fail
17947                         the MII carrier detection support checks
17948
17949 2005-03-26  Dan Williams <dcbw@redhat.com>
17950
17951         * src/NetworkManagerDevice.c
17952                 - (nm_device_wireless_scan): Remove duplicated scanning code
17953
17954 2005-03-25  Dan Williams <dcbw@redhat.com>
17955
17956         * panel-applet/NMWirelessApplet.c
17957                 - (nmwa_about_cb): Add some more contributors
17958                 - (nmwa_update_state): show the applet when there's no connection
17959                 - Enable the "Stop/Resume all wireless devices" option in the
17960                         context menu
17961                 - New "no connection" icon
17962
17963         * src/NetworkManager.c
17964                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17965                         wireless is disabled or we're asleep
17966
17967         * src/NetworkManagerDHCP.c
17968                 - Remove trailing "\n" on debug messages
17969
17970         * src/NetworkManagerDbus.c
17971                 - (nm_dbus_network_status_from_data): new state "asleep"
17972
17973         * src/NetworkManagerDevice.c
17974                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17975                         latency and wait times for most operations
17976                 - (nm_device_wireless_scan): Don't scan when asleep
17977
17978         * src/NetworkManagerPolicy.c
17979                 - (nm_policy_get_best_device): return no device when asleep
17980                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17981                         for all wireless devices on update, not just active device
17982
17983         * src/NetworkManagerUtils.c
17984                 - Merge Peter Jones' "completion" patch
17985
17986         * src/nm-dbus-nm.c
17987                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17988                         we're told to disable them
17989                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17990
17991         * utils/nm-utils.h
17992                 - New variants of the warn/info/error/debug print functions that can take
17993                         variables rather than static strings
17994
17995 2005-03-24  Dan Williams <dcbw@redhat.com>
17996
17997         * src/NetworkManagerUtils.c
17998                 - (nm_get_device_driver_name): driver names are now on the parents of
17999                         "Network Interface" objects, so look for them there
18000
18001 2005-03-24  Dan Williams <dcbw@redhat.com>
18002
18003         * test/nmtest.c
18004                 - Escape some forgotten object paths before we shove them through dbus
18005
18006 2005-03-24  Dan Williams <dcbw@redhat.com>
18007
18008         * dhcpcd/dhcpcd.[ch]
18009           src/NetworkManagerDHCP.c
18010                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
18011                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
18012
18013         * src/NetworkManagerDbus.c
18014                 - spacing cleanups
18015
18016         * src/nm-dbus-dhcp.c
18017                 - Make the API suck less.  There is now only 1 type of each function,
18018                         ie only "getInteger" and no longer also "getIntegerv".  All types
18019                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
18020                         that will never have more than 1 element.  This should simplify
18021                         things greatly.
18022
18023         * test/nm-dhcp-opt-test.c
18024                 - Make the tool not segfault
18025                 - adapt to new DHCP Options API
18026
18027 2005-03-22  Dan Williams <dcbw@redhat.com>
18028
18029         * src/NetworkManager.c
18030                 - (nm_wired_link_deactivated): actually ignore netlink events from
18031                         wireless devices.
18032
18033 2005-03-22  Dan Williams <dcbw@redhat.com>
18034
18035         * src/NetworkManager.c
18036                 - (nm_wired_link_activated): actually ignore netlink events from
18037                         wireless devices.
18038
18039 2005-03-17  Dan Williams <dcbw@redhat.com>
18040
18041         Patch from Tom Parker:
18042         * src/nm-netlink-monitor.c
18043                 - Include unistd.h
18044         * info-daemon/NetworkManagerInfoDbus.c
18045                 - (nmi_dbus_update_network_auth_method): free GConf values
18046
18047         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
18048         * src/NetworkManagerDevice.c
18049                 - (nm_device_set_wireless_config): wait for successful
18050                         association longer for some cards (Atheros a/b/g)
18051
18052 2005-03-15  Ray Strode  <rstrode@redhat.com>
18053
18054         * src/NetworkManager.c:
18055         (sigterm_pipe_handler):
18056         remove bogus FIXME
18057
18058 2005-03-15  Ray Strode  <rstrode@redhat.com>
18059
18060         * src/NetworkManagerDbus.c:
18061         Fix some sign weirdness that gcc4 doesn't like,
18062         and add a header file so PPC can hopefully find
18063         SIGTRAP
18064
18065 2005-03-14  Ray Strode  <rstrode@redhat.com>
18066         
18067         Fourth (probably working) cut at porting to
18068         dbus 0.30 api and new hal. This cut adds
18069         some new logging macros to make debugging
18070         easier.
18071
18072         * dispatcher-daemon/NetworkManagerDispatcher.c:
18073         * info-daemon/NetworkmanagerInfo.c:
18074         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
18075         * info-daemon/NetworkManagerInfoVPN.c:
18076         * src/NetworkManager.c:
18077         * src/NetworkManagerAP.c:
18078         * src/NetworkManagerAPList.c:
18079         * src/NetworkManagerDHCP.c:
18080         * src/NetworkManagerDbus.c:
18081         * src/NetworkManagerDevice.c:
18082         * src/NetworkManagerPolicy.c:
18083         * src/NetworkManagerSystem.c:
18084         * src/NetworkManagerUtils.c:
18085         * src/NetworkManagerWireless.c:
18086         * src/autoip.c:
18087         * src/nm-dbus-nm.c:
18088         * src/backends/NetworkManagerDebian.c:
18089         * src/backends/NetworkManagerGentoo.c:
18090         * src/backends/NetworkManagerRedHat.c:
18091         * src/backends/NetworkManagerSlackware.c:
18092         use new logging macros.
18093
18094         * dispatcher-daemon/NetworkManagerDispatcher.c:
18095         (nmd_dbus_filter): s/dbus_free/g_free/
18096
18097         * info-daemon/Makefile.am: link in utils library.
18098         * info-daemon/NetworkmanagerInfo.c: use new logging 
18099         macros.
18100         (nmi_dbus_get_network): don't assume enumerations
18101         are 32-bit.
18102         (nmi_dbus_nmi_message_handler): don't free what 
18103         doesn't belong to us.
18104
18105         * libnm_glib/libnm_glib.c:
18106         (libnm_glib_get_nm_status): 
18107         (libnm_glib_init): don't free what doesn't
18108         belong to us.
18109         (libnm_glib_dbus): strdup result, so it doesn't get
18110         lost when message is unref'd.
18111
18112         * panel-applet/NMWirelessAppletDbus.c:
18113         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18114
18115         * src/NetworkManager.c:
18116         (nm_monitor_wired_link_state): request initial status 
18117         dump of all cards when we start up, instead of relying
18118         on /sys/.../carrier.
18119         (nm_info_handler), (nm_set_up_log_handlers): 
18120         log handlers to specify what syslog priorites 
18121         the logging macros default to.
18122
18123         * src/NetworkManagerAPList.c: 
18124         (nm_ap_list_populate_from_nmi):
18125         s/dbus_free_string_array/g_strfreev/
18126
18127         * src/NetworkManagerDbus.c:
18128         (nm_dbus_get_network_object):
18129         validate d-bus message argument types.
18130         Advance message iterator after reading argument,
18131         prepend instead of append to GSList.
18132
18133         * src/NetworkManagerDevice.c:
18134         (nm_device_probe_wired_link_status):
18135         remove redundant /sys in /sys path. remove wrong
18136         contents == NULL means has carrier assumption.
18137
18138         * src/nm-netlink-monitor.c 
18139         (nm_netlink_monitor_request_status): implement
18140         function to ask kernel to dump interface link
18141         status over netlink socket.
18142
18143         * test/*.c: s/dbus_free/g_free/
18144
18145         * utils/nm-utils.h:
18146         (nm_print_backtrace): new macro to print backtrace.
18147         (nm_get_timestamp): new macro to get sub-second precise
18148         unix timestamp.
18149         (nm_info), (nm_debug), (nm_warning), (nm_error):
18150         new logging functions. nm_info just prints,
18151         nm_debug includes timestamp and function,
18152         nm_warning includes function, nm_error includes
18153         backtrace and sigtrap.
18154
18155 2005-03-11  Ray Strode  <rstrode@redhat.com>
18156
18157         Third (unfinished, partially working) cut at porting to 
18158         dbus 0.30 api and new hal.
18159
18160         * info-daemon/NetworkManagerInfoDbus.c:
18161                 don't free null arrays.
18162
18163         * panel-applet/NMWirelessAppletDbus.c: 
18164         * src/nm-dbus-device.c:
18165         * src/nm-dbus-net.c: 
18166         * src/NetworkManagerDbus.c: more 
18167         STRING -> OBJECT_PATH fun
18168         * src/NetworkManagerDevice.c:
18169         * src/NetworkManagerDevice.h:
18170         (rename nm_device_get_link_active): rename to 
18171         nm_device_has_active_link
18172         (nm_device_wireless_link_active): rename to
18173         nm_device_probe_wireless_link_state
18174         (nm_device_wired_link_active): rename to
18175         nm_device_probe_wired_link_state.  Rewrite to
18176         use carrier file since hal doesn't maintain
18177         link state anymore.
18178         (nm_device_update_link_active): rename to
18179         nm_device_update_link_state
18180         * src/NetworkManagerPolicy.c 
18181           (nm_policy_activation_finish): check for NULL
18182           MAC address.
18183
18184         * src/Makefile.am:
18185         * src/NetworkManagerMain.h: 
18186         * src/NetworkManager.c:
18187         * src/nm-netlink-monitor.c:
18188         * src/nm-netlink-monitor.h: New class to support
18189         monitoring wired ethernet link status, since HAL
18190         doesn't export that information anymore.
18191
18192 2005-03-09  Ray Strode  <rstrode@redhat.com>
18193
18194         Second (unfinished, unworking) cut at porting to 
18195         dbus 0.30 api.
18196
18197         * dispatcher-daemon/NetworkManagerDispatcher.c:
18198         * info-daemon/NetworkManagerInfoDbus.c:
18199         * panel-applet/NMWirelessAppletDbus.c:
18200         * src/NetworkManagerDbusUtils.c:
18201         * src/NetworkManagerDbusUtils.h:
18202         * src/nm-dbus-device.c:
18203         * src/nm-dbus-nm.c:
18204         * test/nmtest.c: support dbus "object path" type
18205
18206         * configure.in: 
18207         * Makefile.am:
18208         * info-daemon/Makefile.am:
18209         * libnm_glib/Makefile.am:
18210         * panel-applet/Makefile.am:
18211         * dispatcher-daemon/Makefile.am
18212         * src/Makefile.am:
18213         * test/Makefile.am:
18214         * utils/Makefile.am: 
18215         * utils/nm-utils.c: 
18216         * utils/nm-utils.h: new utils static lib
18217
18218 2005-03-07  Ray Strode  <rstrode@redhat.com>
18219
18220         * info-daemon/NetworkManagerInfoDbus.c:
18221         * libnm_glib/libnm_glib.c:
18222         * panel-applet/NMWirelessAppletDbus.c:
18223         * src/NetworkManager.c:
18224         * src/NetworkManagerDbus.c:
18225         * src/NetworkManagerDevice.c:
18226         * src/NetworkManagerUtils.c:
18227         * src/nm-dbus-device.c:
18228         * src/nm-dbus-dhcp.c:
18229         * src/nm-dbus-net.c:
18230         * src/nm-dbus-nm.c:
18231         * test/nminfotest.c:
18232         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18233
18234 2005-03-04  Dan Williams  <dcbw@redhat.com>
18235
18236         * configure.in
18237                 - Mark HEAD as 0.4
18238
18239 2005-03-04  Dan Williams  <dcbw@redhat.com>
18240
18241         Patch from Peter Jones:
18242         - Make stuff work with gcc 4.0
18243
18244 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18245
18246         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18247
18248 2005-02-27  Jim Huang  <jserv@kaffe.org>
18249
18250         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18251
18252 2005-02-27  Dan Williams  <dcbw@redhat.com>
18253
18254         Patch from Bill Moss:
18255         * panel-applet/NMWirelessAppletDbus.c
18256                 - Make sure strength for current access point is up-to-date when we
18257                         update the gui data model
18258
18259 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18260
18261         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18262
18263 2005-02-27  Dan Williams  <dcbw@redhat.com>
18264
18265         * src/backends/NetworkManagerRedHat.c
18266                 - (nm_system_init): Kill any dhclient processes lying around as well
18267                         as stopping 'nifd' if its already been started.  NetworkManager
18268                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18269
18270 2005-02-27  Dan Williams  <dcbw@redhat.com>
18271
18272         * panel-applet/NMWirelessApplet.c
18273                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18274                         dbus data model, not the GUI data model twice.
18275
18276 2005-02-27  Dan Williams  <dcbw@redhat.com>
18277
18278         * panel-applet/NMWirelessApplet.[ch]
18279           panel-applet/NMWirelessAppletDbus.[ch]
18280                 - Move to incremental network updates.  Instead of blowing away our list
18281                         of devices every time we get a signal from NetworkManager, we now
18282                         incrementally add/remove networks when NetworkManager notifies us that
18283                         a new network has appeared or disappered.  Strength updates now happen
18284                         on-the-fly for each access point as well.  There are now two copies of
18285                         data from NetworkManager: one for the dbus side, and one for the gui side.
18286                         When the dbus side data is modified, it is copied over to the gui side
18287                         so we don't have to hold the data_mutex for long periods of time (and
18288                         therefore block animation of the applet's icon).
18289                 - Clean up some memleaks too
18290
18291         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18292                 - Minor code beautification
18293
18294         * src/NetworkManagerAPList.c
18295                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18296                         completely new and whether or not an existing one's strength was updated.
18297                         Try to fix multiple access points and signal strength by using the highest
18298                         signal strength in each scan for any given ESSID.
18299
18300         * src/NetworkManagerDbus.[ch]
18301                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18302                         wireless networks; now we have only WirelessNetworkUpdate which includes
18303                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18304                 - Kill usage of DbusMessageIter
18305
18306         * src/NetworkManagerDevice.c
18307                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18308                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18309                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18310                         currently associated with from the network list.
18311                 - Update for new signals during scan, send out Appeared, Disappeared, or
18312                         StrengthChanged when necessary.
18313
18314 2005-02-25  Dan Williams  <dcbw@redhat.com>
18315
18316         * README
18317                 - Line break the README
18318
18319 2005-02-25  Dan Williams  <dcbw@redhat.com>
18320
18321         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18322                 - Remove usage of gtk_window_set_default_size()
18323
18324         * panel-applet/essid.glade
18325                 - Stick default size here
18326                 - Add in random crap that current glade wants to add in now
18327
18328 2005-02-25  Dan Williams  <dcbw@redhat.com>
18329
18330         * src/backends/NetworkManagerRedHat.c
18331                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18332                         and that we actually tell nscd to reload the hosts cache when it changes
18333
18334 2005-02-25  Dan Williams  <dcbw@redhat.com>
18335
18336         * info-daemon/NetworkManagerInfoDbus.c
18337                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18338
18339         * test/nminfotest.c
18340                 - Whack usage of DbusMessageIter
18341                 - Clean up DbusError and DbusMessage handling and freeing
18342                 - Remove unused unregister handler
18343
18344         * test/nmtest.c
18345                 - Whack usage of DbusMessageIter
18346
18347         * test/nmtestdevices.c
18348                 - Whack usage of DbusMessageIter
18349
18350 2005-02-25  Dan Williams  <dcbw@redhat.com>
18351
18352         * NetworkManager.h
18353                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18354                         signal
18355
18356 2005-02-25  Dan Williams  <dcbw@redhat.com>
18357
18358         * named/nm-named-manager.c
18359                 - Ensure that pid and watch variables for child named process get cleared out
18360                         when the child goes away.
18361
18362 2005-02-22  Dan Williams  <dcbw@redhat.com>
18363
18364         * src/NetworkManagerPolicy.c
18365                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18366                         and NULL out data->active_device so that we have to choose another one.
18367                         This may make NetworkManager keep attempting to connect to a wired network
18368                         if it fails, but if it keeps failing the wired network has more problems than
18369                         just NetworkManager.
18370
18371         * src/backends/NetworkManagerRedHat.c
18372                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18373                         is already running
18374
18375         * named/nm-named-manager.c
18376                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18377                         named so that the distro can flush whatever name service caching
18378                         daemon it uses
18379
18380 2005-02-21  Dan Williams  <dcbw@redhat.com>
18381
18382         * src/NetworkManagerDHCP.[ch]
18383                 - (nm_device_dhcp_remove_timeouts): new function
18384
18385         * src/NetworkManagerDevice.c
18386                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18387                         remove the DHCP timeouts.
18388
18389 2005-02-21  Dan Williams  <dcbw@redhat.com>
18390
18391         * panel-applet/NMWirelessApplet.[ch]
18392           panel-applet/menu-info.[ch]
18393                 - Give the panel applet some major love: menu items are no longer
18394                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18395                         This allows the applet to actually reflect theme changes correctly,
18396                         since themeing of subclassed items in GTK _sucks_.
18397
18398 2005-02-18  Dan Williams  <dcbw@redhat.com>
18399
18400         * libnm_glib/libnm_glib.[ch]
18401           test/libnm_glib_test.c
18402                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18403                         and its data, and doesn't have to free the callback data anymore
18404
18405 2005-02-18  Dan Williams  <dcbw@redhat.com>
18406
18407         * panel-applet/NMWirelessApplet.c
18408                 - Revert 2005-02-18 William Jon McCann fix for standard
18409                         copyright string until it passes 'make distcheck'.
18410                         With standard copyright string, xgettext complains
18411                         about "Non-ASCII string at ...".
18412
18413 2005-02-18  Dan Williams  <dcbw@redhat.com>
18414
18415         * panel-applet/essid.glade
18416           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18417                 - Correct spelling of "adaptor"->"adapter"
18418
18419 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18420
18421         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18422         (nmwa_about_cb): Use standard copyright string.  Update comment
18423         text to reflect that it is a notification area applet.  Remove
18424         leading newline in authors list.
18425         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18426         instead of on parent menu item activation.  Fixes #167550.
18427
18428 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18429
18430         * panel-applet/essid.glade: Capitalize items as per HIG.
18431           Fixes #167632
18432
18433 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18434
18435         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18436         files for GTK 2.4 or lower, since now public in GTK 2.6.
18437
18438         * panel-applet/essid.glade: Don't specify window size.
18439         
18440 2005-02-17  Dan Williams  <dcbw@redhat.com>
18441
18442         Caught by Bill Moss:
18443         * dhcpcd/client.c
18444                 - Time remaining for DHCP transaction calculation was incorrectly
18445                         inside a #ifdef DEBUG
18446
18447 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18448
18449         * configure.in: Added fr (French) to ALL_LINGUAS.
18450
18451 2005-02-14  Dan Williams  <dcbw@redhat.com>
18452
18453         * src/NetworkManagerDHCP.c
18454                 - (set_domain_searches): Fix free of invalid pointer
18455
18456 2005-02-14  Dan Williams  <dcbw@redhat.com>
18457
18458         Patch from Peter Jones:
18459         * dhcpcd/client.c
18460                 - Ensure we return RET_DHCP_CEASED everywhere we should
18461         * dhcpcd/udpipgen.c
18462                 - Use faster TOS for IP packets
18463                 - Don't set ip_id since we're UDP
18464
18465         Patch from Tomislav Vujec:
18466         * src/nm-dbus-dhcp.c
18467           test/nm-dhcp-opt-test.c
18468                 - Clean up warnings to enable cvs tree compilation.
18469
18470 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18471
18472         * configure.in
18473           po/hr.po
18474                 - Add the Croatian locale.
18475
18476 2005-02-14  Colin Walters  <walters@verbum.org>
18477
18478         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18479         list of domains to search.
18480         
18481         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18482
18483 2005-02-13  Dan Williams  <dcbw@redhat.com>
18484
18485         * dhcpcd/client.c
18486                 - Debug output cleanups of DHCP option printing and parsing.
18487
18488 2005-02-13  Dan Williams  <dcbw@redhat.com>
18489
18490         Patch from Dan Reed:  DHCP options D-BUS API
18491                 Exposes the DHCP options that a device receives to clients over D-BUS.
18492
18493         * configure.in
18494                 - A few cleanups
18495
18496         * dhcpcd/client.h
18497                 - Correct names, option length, and types for DHCP options
18498
18499         * dhcpcd/dhcpcd.[ch]
18500                 - Clarify function names that access DHCP options & data
18501
18502         * src/NetworkManagerDHCP.c
18503                 - Use new DHCP data access functions
18504
18505         * src/NetworkManagerDbus.c
18506                 - Message handler for DHCP functions
18507
18508         * src/nm-dbus-dhcp.[ch] (new)
18509                 - DHCP dbus methods
18510
18511         * test/nm-dhcp-opt-test.c
18512                 - Test DHCP D-BUS API and return all present DHCP options
18513
18514 2005-02-12  Dan Williams  <dcbw@redhat.com>
18515
18516         * test/Makefile.am
18517           test/nmclienttest.c
18518           test/nmtest.c
18519                 - Move nmclienttest.c -> nmtest.c
18520
18521 2005-02-12  Dan Williams  <dcbw@redhat.com>
18522
18523         * dhcpcd/buildmsg.c
18524                 - Pad DHCP packets until they are at least 300 bytes in size.
18525
18526 2005-02-11  Dan Williams  <dcbw@redhat.com>
18527
18528         * dhcpcd/client.c
18529                 - (dhcp_init): only print out client ID and class ID if they are specified
18530
18531         * src/NetworkManagerDbus.[ch]
18532           src/nm-dbus-nm.[ch]
18533           src/nm-dbus-device.[ch]
18534           src/nm-dbus-net.[ch]
18535                 - Move NM, Device, and Net functions to separate files and use the
18536                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18537                         method dispatching
18538
18539         * src/NetworkManagerDbusUtils.c
18540                 - Add new validate_method called before each dispatch (if present)
18541                         that can validate the method call
18542
18543         * src/NetworkManagerWireless.c
18544                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18545                         levels never to be evaluated
18546
18547         Patch from j@bootlab.org
18548         * src/NetworkManagerDevice.c
18549                 - Add typedef for "u64"
18550
18551         * src/backends/NetworkManagerDebian.c
18552                 - Copy in Dave Woodhouse's fixes for IPv6
18553
18554 2005-02-11  Dan Williams  <dcbw@redhat.com>
18555
18556         Patch from Dave Woodhouse for IPv6:
18557         * src/NetworkManagerUtils.c
18558                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18559                         and multicast addresses
18560
18561         * src/NetworkManagerDevice.c
18562                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18563                         after bringing up a card.
18564
18565 2005-02-10  Dan Williams  <dcbw@redhat.com>
18566
18567         Patch from Dave Woodhouse:
18568         * src/NetworkManagerSystem.h
18569           src/backends/NetworkManagerDebian.c
18570           src/backends/NetworkManagerGentoo.c
18571           src/backends/NetworkManagerSlackware.c
18572                 - New nm_system_device_add_ip6_link_address() function to add link-local
18573                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18574
18575         * src/backends/NetworkManagerRedHat.c
18576                 - (nm_system_device_add_ip6_link_address): implement
18577                 - (nm_system_device_flush_addresses): revert to previous behavior of
18578                         flushing all addresses
18579
18580 2005-02-10  Dan Williams  <dcbw@redhat.com>
18581
18582         Patch from Tom Parker:
18583         * src/NetworkManagerDevice.c
18584                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18585                         mii.h headers are broken, and instead use our own typedefs
18586
18587 2005-02-10  Dan Williams  <dcbw@redhat.com>
18588
18589         * dhcpcd/buildmsg.c
18590                 - (fill_host_and_class_id): only fill in client and class IDs if
18591                         they are set by callers.
18592
18593         * dhcpcd/client.c
18594                 - (class_id_setup): don't autogenerate a class ID, only use one
18595                         we're given, if any.
18596                 - (client_id_setup): don't autogenerate a client ID, only use one
18597                         we're given, if any.
18598
18599         * dhcpcd/dhcpcd.c
18600                 - (dhcp_interface_init): ensure that client options are correctly
18601                         NULL terminated
18602
18603         * src/NetworkManagerDHCP.c
18604                 - (nm_device_dhcp_request): pass hostname to dhcp library
18605
18606 2005-02-10  Dan Williams  <dcbw@redhat.com>
18607
18608         * dhcpcd/client.c
18609                 - #rh147661# Don't send kernel version in DHCP requests
18610
18611         * src/NetworkManagerSystem.h
18612           src/backends/NetworkManagerDebian.c
18613           src/backends/NetworkManagerGentoo.c
18614           src/backends/NetworkManagerRedHat.c
18615           src/backends/NetworkManagerSlackware.c
18616                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18617                         functions, they are no longer used anyway
18618
18619         * src/backends/NetworkManagerRedHat.c
18620                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18621                         addresses in an attempt to keep IPv6 local-scope addresses around
18622
18623 2005-02-10  Dan Williams  <dcbw@redhat.com>
18624
18625         * src/NetworkManager.c
18626                 - (nm_create_device_and_add_to_list): change the add message slightly
18627
18628         * src/NetworkManagerUtils.c
18629                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18630                         Return driver name to calling function
18631                 - (nm_get_driver_support_level): print out the driver a device is using
18632                         during the support check
18633
18634         Patch from Dave Woodhouse:
18635         * dhcpcd/udpipgen.c
18636                 - (in_cksum): copy last byte of odd-sized packets into a
18637                         'u_short' rather than a 'u_char', should fix wrong checksums
18638                         on big-endian platforms
18639
18640 2005-02-09  Dan Williams  <dcbw@redhat.com>
18641
18642         * Clean up usage of GSList objects and looping through their members
18643         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18644                 now.
18645         * Fix problem where even if scanning was turned off, card would still
18646                 cycle through frequencies.
18647
18648 2005-02-08  Dan Williams  <dcbw@redhat.com>
18649
18650         * panel-applet/NMWirelessApplet.c
18651                 - Fix for gtk 2.4
18652
18653 2005-02-08  Dan Williams  <dcbw@redhat.com>
18654
18655         Patch from Bill Moss
18656         * panel-applet/NMWirelessApplet.c
18657                 - Restore correct ESSID in tooltips
18658
18659 2005-02-07  Dan Williams  <dcbw@redhat.com>
18660
18661         * panel-applet/NMWirelessApplet.[ch]
18662                 - Add a context menu that contains:
18663                         Pause/Resume Wireless Scanning
18664                         Stop/Start All Wireless Devices
18665                         About...
18666                 - Grab active device strength off active device,
18667                         not its network
18668
18669         * panel-applet/NMWirelessAppletDbus.[ch]
18670                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18671                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18672                 - Update active device strength every 2 seconds, not every 1 second
18673
18674         * panel-applet/menu-info.c
18675                 - Only disable wired devices in the menu when they support carrier detection,
18676                         and don't currently have a link.  Non-carrier-detect devices will always
18677                         remain choosable
18678
18679         * src/Makefile.am
18680           src/NetworkManagerDbusUtils.[ch]
18681                 - Add new new dbus utils sources
18682
18683         * src/NetworkManager.c
18684                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18685                         with the boolean parameter
18686                 - Set scanning_enabled & wireless_enabled to TRUE
18687
18688         * src/NetworkManagerDbus.c
18689                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18690                 - Implement scanning & wireless enable/disable calls
18691                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18692
18693         * src/NetworkManagerDevice.c
18694                 - New link detection stuff again...
18695                         o  Create device's mainloop earlier (but don't run it earlier)
18696                         o  Hook up new carrier-detect support stuff
18697                         o  Add in the ethtool & mii support detection code
18698                 - Don't scan if scanning is disabled
18699
18700         * src/NetworkManagerPolicy.c
18701                 - Never automatically choose a device that doesn't support carrier detection
18702                 - Don't automatically choose a wireless device if wireless is disabled
18703
18704 2005-02-07  Dan Williams  <dcbw@redhat.com>
18705
18706         * libnm_glib/libnm_glib.c
18707                 - Small cleanup in element list iteration
18708
18709 2005-02-07  Dan Williams  <dcbw@redhat.com>
18710
18711         * src/NetworkManagerWireless.c
18712                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18713                         to be in line with the WEXT quality specification
18714
18715 2005-02-02  Dan Williams  <dcbw@redhat.com>
18716
18717         Patch from Nathan Fredrickson <nathan@silverorange.com>
18718         * Fix up compile for deprecation of libgnomeui
18719                 - Switch to <glib/gi18n.h> from <libintl.h>
18720                 - Remove <libgnomeui/libgnomeui.h> includes
18721                 - Use gtk_window_set_default_icon_from_file() rather than
18722                         gnome_window_set_default_icon_from_file()
18723
18724         * named/nm-named-manager.c
18725                 - (generate_named_conf): Fix return-nothing in non-void
18726                         function
18727
18728 2005-02-02  Dan Williams  <dcbw@redhat.com>
18729
18730         * Clean up unused variables and the like
18731
18732 2005-02-02  Dan Williams  <dcbw@redhat.com>
18733
18734         * src/NetworkManagerAPList.c
18735                 - (nm_ap_list_merge_scanned_ap): merge strength too
18736
18737         * src/NetworkManagerUtils.c
18738                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18739                         of locking issues by printing out prettier information than g_mutex_lock
18740                 - Print out names of mutexes registered with nm_register_mutex_desc()
18741                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18742                         us to seemingly block here for too long
18743
18744         * src/NetworkManager.c
18745           src/NetworkManagerAPList.c
18746           src/NetworkManagerDevice.c
18747                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18748                         so we get better debug information printed
18749
18750         * src/NetworkManagerDbus.c
18751                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18752                         since it sometimes has locking side effects
18753                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18754                         from 10s
18755                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18756                         we don't need a switch.  This gets called often enough that we can't block
18757                         until the scan mutex is acquired, because we'll block on device activation
18758                         and a few other things, which hangs main thread for too long.
18759
18760         * src/NetworkManagerPolicy.c
18761                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18762                         nm_device_need_ap_switch() will be called               
18763
18764 2005-02-02  Dan Williams  <dcbw@redhat.com>
18765
18766         * panel-applet/NMWirelessApplet.c
18767                 - Display name of wireless network we are connecting to or connected to
18768                         in the tooltip of the applet
18769
18770 2005-02-02  Dan Williams  <dcbw@redhat.com>
18771
18772         * src/NetworkManagerDHCP.c
18773                 - Hopefully fix double-default-route problem by cleaning up the default
18774                         route added by DHCP code right before the DHCP transaction begins
18775
18776 2005-02-02  Dan Williams  <dcbw@redhat.com>
18777
18778         * named/nm-named-manager.c
18779                 - Write out valid resolv.conf when we exit
18780
18781 2005-02-01  Dan Williams  <dcbw@redhat.com>
18782
18783         Patch from Colin Walters:
18784         * named/nm-named-manager.c
18785                 - Make multi-domain search options work
18786
18787 2005-01-31  Dan Williams  <dcbw@redhat.com>
18788
18789         * info-daemon/NetworkManagerInfoDbus.c
18790                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18791
18792         * src/NetworkManagerDevice.c
18793                 - (nm_device_new): Don't store the entire range struct, use only what we need
18794                         (which is currently avg_quality, max_quality, and frequencies).  Also
18795                         zero device structure when we've free'd it to maybe expose errors down
18796                         the line.
18797                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18798                         quality data from the card since quality will be useless during a scan.
18799                         Call updated wireless qual-to-percent function with values stored in
18800                         nm_device_new() earlier.
18801                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18802                         nm_device_get_bad_crypt_packets())
18803                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18804                         nm_device_new()
18805                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18806                         list if available.  Problem was this: when the WEP key is wrong, NM will
18807                         try OS then SK modes, and then get stuck in SK mode after that.  This
18808                         should reset it.
18809                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18810                         function
18811
18812         * src/NetworkManagerWireless.c
18813                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18814                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18815                         if that's all present, otherwise fall back to signal-to-noise ratios.
18816
18817 2005-01-29  Dan Williams  <dcbw@redhat.com>
18818
18819         * initscript/RedHat/NetworkManager
18820                 - Don't spit out sysctl stuff to console
18821
18822         * libnm_glib/libnm_glib.c
18823                 - (libnm_glib_init): call dbus_g_thread_init()
18824
18825         * panel-applet/NMWirelessAppletDbus.c
18826                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18827
18828         * src/NetworkManager.c
18829                 - (main): call dbus_g_thread_init()
18830
18831         * src/NetworkManagerAPList.c
18832                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18833                         so we can actually see what's there in a normal syslog
18834
18835         * src/NetworkManagerDevice.c
18836                 - (nm_device_activate_wireless): print out the "waiting for access point"
18837                         message only once, then say what access point we actually got after
18838                         the wait.
18839                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18840                         function, wait until the scan is done.  Scans may change the ESSID of
18841                         the card, making this function think we need to switch access points
18842                 - (nm_device_wireless_process_scan_results): for artificial access points
18843                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18844                         prevents collisions with the scanning code, which may change the card's
18845                         ESSID and cause the access point to get dropped from the device's AP
18846                         list.  Also increase the keep-around time to 2m from 60s since the max
18847                         scan interval could be 60s in some cases.
18848
18849         * src/NetworkManagerPolicy.c
18850                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18851                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18852                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18853                         between NM and NMI.
18854
18855 2005-01-27  Dan Williams  <dcbw@redhat.com>
18856
18857         * info-daemon/NetworkManagerInfoDbus.c
18858                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18859                         GConf, make a minimal entry for it (essid & timestamp)
18860
18861         * src/NetworkManagerAPList.c
18862                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18863                         NetworkManagerInfo isn't running
18864
18865         * src/NetworkManagerDbus.[ch]
18866                 - (nm_dbus_nmi_is_running): new function
18867
18868         * src/NetworkManagerDevice.c
18869                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18870                         address to garbage.
18871
18872         * src/NetworkManagerPolicy.c
18873                 - (nm_policy_activation_finish): On successful activation, make sure
18874                         the "best" AP has a MAC address, and don't tell NMI to add the
18875                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18876                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18877                         access point after refreshing our allowed list if it doesn't already
18878                         have a "best" access point.
18879
18880 2005-01-25  Dan Williams  <dcbw@redhat.com>
18881
18882         * panel-applet/NMWirelessAppletDbus.c
18883                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18884                         so we check for NM_DBUS_SERVICE rather than not for it
18885
18886         * libnm_glib/libnm_glib.c
18887                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18888                         ServiceOwnerChanged signal
18889
18890 2005-01-25  Dan Williams  <dcbw@redhat.com>
18891
18892         * configure.in
18893                 - Check DBUS version in configure, and set the C macros
18894                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18895
18896         * info-daemon/NetworkManagerInfoDbus.c
18897                 - Remove #if 0-d section of code that quit NMI if NM went away.
18898
18899         * panel-applet/NMWirelessAppletDbus.c
18900                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18901
18902         * src/NetworkManager.c
18903           src/NetworkManagerMain.h
18904           src/NetworkManagerDbus.c
18905                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18906                 - Make updating of our Allowed Wireless Network lists from NMI
18907                         an idle function in the main thread now, with a high priority.
18908
18909 2005-01-24  Dan Williams  <dcbw@redhat.com>
18910
18911         * panel-applet/gtkcellview.[ch]
18912           panel-applet/menu-info.c
18913                 - Fix GTK version checks to be <= rather than <
18914
18915         * test/Makefile.am
18916                 - Include the libtool archive of libnm_glib rather than
18917                         trying to pull in the .so
18918
18919 2005-01-24  Dan Williams  <dcbw@redhat.com>
18920
18921         * src/NetworkManagerDevice.c
18922           src/NetworkManagerDevicePrivate.h
18923                 - Block nm_device_new() until our device's worker thread has had a
18924                         chance to start up.  Fixes a race between main thread and worker
18925                         thread starting that caused activation requests to get lost.
18926
18927 2005-01-24  Dan Williams  <dcbw@redhat.com>
18928
18929         * initscript/RedHat/NetworkManager
18930                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18931                         to add the NM startup script at priority 50, which was
18932                         way too early
18933
18934 2005-01-24  Colin Walters  <walters@redhat.com>
18935
18936         * named/named.conf: Use any port for query source instead of
18937         restricting to port 53.
18938
18939 2005-01-24  Dan Williams  <dcbw@redhat.com>
18940
18941         * initscript/RedHat/NetworkManager
18942                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18943                         to add the NM startup script at priority 50, which was
18944                         way too early
18945
18946 2005-01-24  Dan Williams  <dcbw@redhat.com>
18947
18948         Patch from Tom Parker <palfrey@tevp.net>
18949         * Fix up compile warnings & errors in the wireless applet
18950
18951 2005-01-24  Dan Williams  <dcbw@redhat.com>
18952
18953         * panel-applet/NMWirelessApplet.c
18954                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18955
18956 2005-01-24  Dan Williams  <dcbw@redhat.com>
18957
18958         * panel-applet/gtkcellview.[ch]
18959                 - Only compile these files for GTK 2.4 or lower, since 
18960                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18961                         when choosing "Other Wireless Networks" from the panel
18962                         applet menu
18963
18964 2005-01-21  Dan Williams  <dcbw@redhat.com>
18965
18966         * src/NetworkManager.c
18967                 - Daemonize earlier so that glib doesn't get confused (?)
18968
18969 2005-01-21  Dan Williams  <dcbw@redhat.com>
18970
18971         * panel-applet/NMWirelessApplet.[ch]
18972           panel-applet/NMWirelessAppletDbus.c
18973           panel-applet/menu-info.c
18974           src/NetworkManagerDevice.c
18975                 - Disable wired devices in the menu when they have no link.
18976
18977 2005-01-21  Dan Williams  <dcbw@redhat.com>
18978
18979         * Cache last-known-good wireless authentication method in
18980                 NetworkManagerInfo, and use that method first during
18981                 wireless device activation.  Should speed up devices that
18982                 need Shared Key authentication method since Open System is
18983                 now the default.
18984
18985         * Remove the hack to not do full activation on wired connections
18986                 that are active when we launch, it causes too many problems
18987                 with name resolution and was a hack in the first place.
18988
18989         * Re-work wireless device activation again somewhat to have a
18990                 clearer chain of events and to use last-known-good
18991                 authentication method of the access point.  Also provide
18992                 better status throughout activation to ensure the applet
18993                 can tell the user exactly what's going on.
18994
18995         * Remove the "find wireless network" code and now simply attempt
18996                 to activate with that access point.  This reduces the delay
18997                 between selecting "Other wireless Network" and actually
18998                 connecting to that network.
18999
19000         * Correctly stop the device's worker thread when its removed.
19001
19002 2005-01-21  Dan Williams  <dcbw@redhat.com>
19003
19004         * dhcpcd/client.c
19005                 - Clean up some of the debug messages
19006
19007 2005-01-21  Dan Williams  <dcbw@redhat.com>
19008
19009         * Add new icons, more frames of animation
19010         * Remove some hacks to get the panel applet to display correct
19011                 status, an NM update will soon follow that will fix the
19012                 real issue.
19013
19014 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
19015
19016         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
19017         the first include for working i18n. Also, don't include it in .h files
19018         * panel-applet/NMWirelessApplet.h: Same
19019         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
19020         * panel-applet/menu-info.c: Same
19021
19022 2005-01-18  Dan Williams <dcbw@redhat.com>
19023
19024         * dhcpcd/client.c
19025                 - Remove some debug messages
19026                 - Wrap others in #ifdef DEBUG/#endif
19027
19028         * src/NetworkManager.c
19029                 - Remove some debug messages
19030                 - Clarify some debug messages
19031                 - Remove code related to old single-thread wireless scanning
19032
19033         * src/NetworkManagerAP.[ch]
19034                 - New AP property "last_seen" to track how recently an AP was
19035                         found in a scan
19036                 - Start using 'const' more in function arguments
19037
19038         * src/NetworkManagerAPList.[ch]
19039                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
19040                         of an AP found in an AP list from a source AP, or if not found
19041                         in the list add the source AP
19042                 - (nm_ap_list_combine): remove, no longer needed
19043
19044         * src/NetworkManagerDevice.c
19045                 - Each device now has a "worker" thread from start to end of its life.
19046                         Scanning for wireless devices now happens in that thread,
19047                         not in a single "wireless scanning thread" for all devices as
19048                         previously.  Activation consists of adding an idle handler to the
19049                         thread's main loop/context, which gets run at the next available
19050                         opportunity.
19051                 - Wireless scanning is also simplified, there is now only one list of
19052                         access points per wireless device, and APs older than 60s are
19053                         removed from the list.  Previously, we kept results for the last
19054                         3 scans and merged whole lists, which was complicated.
19055                 - Cleaned up activation debug messages.
19056                 - Wireless activation and access-point search routines now use Open System
19057                         authentication before trying Shared Key.
19058                 - Removed some code in nm_device_update_best_ap() that could cause cards
19059                         to loose their link to the access point.
19060                 - Scanning now uses a backoff algorithm, where the inverval becomes
19061                         progressively longer between scans when the list of scanned access
19062                         points doesn't change.  A change will revert to the shortest scan
19063                         interval (20s).
19064
19065         * src/NetworkManagerWireless.[ch]
19066                 - Remove code related to old single-thread wireless scanning
19067
19068 2005-01-18  Colin Walters  <walters@redhat.com>
19069
19070         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
19071         of older nameservers.
19072
19073 2005-01-18  Colin Walters  <walters@redhat.com>
19074
19075         * named/nm-named-manager.c (generate_named_conf): Many fixes
19076         to config file generation.
19077         (safer_kill): Remove, was too much trouble for little gain.
19078         (nm_named_manager_start): Run named as NM_NAMED_USER.
19079
19080         * configure.in: Add option --with-named-user.
19081
19082 2005-01-14  Colin Walters  <walters@redhat.com>
19083
19084         Patch from ed@catmur.co.uk (Ed Catmur)
19085
19086         * named/nm-named-manager.c: Add "context" property.
19087         Use it to add child watch source in specific GMainContext.
19088
19089         * src/NetworkManager.c (nm_data_new): Initialize
19090         named with correct main context.  Start named only
19091         after forking.
19092
19093 2005-01-14  Colin Walters  <walters@redhat.com>
19094
19095         * named/nm-named-manager.c (generate_named_conf): Write config
19096         and pid files into NM_NAMED_DATA_DIR; this allows things to
19097         work better with FC3 named SELinux policy.  Also fix up silly
19098         format error.
19099
19100         * configure.in: Add --with-named-dir option.
19101
19102 2005-01-14  Colin Walters  <walters@redhat.com>
19103
19104         * configure.in: Make named support require passing --with-named.
19105
19106         * named/nm-named-manager.c: Support writing resolv.conf directly
19107         without running named.
19108
19109 2005-01-13  Dan Williams <dcbw@redhat.com>
19110
19111         * named/nm-named-manager.c
19112                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19113
19114         * src/NetworkManagerDevice.c
19115                 - Rework wireless link detection code to be more reliable
19116
19117 2005-01-12  Dan Williams <dcbw@redhat.com>
19118
19119         * initscripts/RedHat/NetworkManager
19120                 - Change initial level to "-" rather than "345" so that
19121                         we don't activate ourselves by default on install
19122
19123 2005-01-12  Dan Williams <dcbw@redhat.com>
19124
19125         * libnm_glib/
19126                 - Client library for applications using glib
19127
19128         * configure.in
19129           various Makefiles
19130                 - Split NM_CFLAGS and NM_LIBS into separate variables
19131                         like DBUS_*, HAL_* and GLIB_*
19132
19133         * src/NetworkManager.c
19134           src/NetworkManagerMain.h
19135                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19136                         broadcast a status changed signal over DBUS from the main thread.
19137                         Still unused anywhere for the moment.
19138
19139         Patch from j@bootlab.org
19140         * panel_applet/NMWirelessAppletDbus.c
19141           src/NetworkManagerDbus.c
19142                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19143                         for the "getMode" method call
19144
19145 2005-01-10  Dan Williams <dcbw@redhat.com>
19146
19147         * src/NetworkManagerDevice.c
19148                 - Minor fixups & corrections to "auto" frequency mode, make it
19149                         less chatty with syslog
19150
19151 2005-01-10  Dan Williams <dcbw@redhat.com>
19152
19153         * src/NetworkManagerDevice.c
19154                 - Implement "auto" frequency/channel support, since cards like Atheros
19155                         can't use other frequencies at all when you've told it to use a
19156                         specific one, even for scanning.
19157                 - Grab the scan mutex around places where we can't tolerate wireless
19158                         settings changing underneath us, like nm_device_wireless_network_exists()
19159                         and nm_device_activate_wireless()
19160
19161         * src/NetworkManagerWireless.c
19162                 - Back scan interval off to 20s instead of 14s
19163
19164 2005-01-09  Dan Williams <dcbw@redhat.com>
19165
19166         * src/NetworkManagerDevice.c
19167                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19168                         already set.  Stops some drivers like Atmel from continually
19169                         reloading the firmware, which they do upon every configuration
19170                         change.
19171
19172 2005-01-09  Dan Williams <dcbw@redhat.com>
19173
19174         * dhcpcd/client.c
19175                 - Use correct timeout value
19176
19177         * info-daemon/NetworkManagerInfoDbus.c
19178           src/NetworkManagerDbus.c
19179                 - Consolidate communication between NM and NMI by doing only 1 dbus
19180                         method call to get Wireless Network info from NMI instead of 6
19181
19182         * src/NetworkManager.c
19183                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19184                         when we didn't have an AP to use, we'd wait for one forever without
19185                         quitting
19186
19187         * src/NetworkManagerDevice.c
19188                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19189                         activation, dhcp might not have started yet but we don't quit activation
19190                         before starting it, so the quit signal gets lost
19191
19192 2005-01-07  Dan Williams <dcbw@redhat.com>
19193
19194         * dhcpcd/client.c
19195                 - Rework the DHCP client code to be much less chatty when
19196                         it receives non-DHCP UDP packets during the DHCP run
19197                         (reported by and preliminary patches from Bill Moss)
19198
19199         * Move wireless scanning to a separate thread.  This thread forwards the
19200                 results to the main thread when done where they are integrated into
19201                 the device's access point lists.  This keeps the main thread (which
19202                 does all the DBUS communication) from being blocked for long periods
19203                 of time by wireless scanning.
19204
19205         * Make state modification an idle routine in the main loop, and trigger
19206                 state changes rather than polling for them.
19207
19208         * src/backends/NetworkManagerGentoo.c
19209                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19210
19211         * src/NetworkManagerDevice.c
19212                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19213                         router advertisements, causing problems and infinite loop
19214                         during "best" device determination due to link going up/down
19215                         (reported by Bill Moss)
19216
19217         Apply patch from Peter Jones
19218         * src/NetworkManagerDevice.c
19219                 - Shortcut for link-checking for ipw2x00 cards
19220                 - Split out association check into separate routine
19221
19222 2004-01-05  Colin Walters  <walters@redhat.com>
19223
19224         * named/named.conf: Add PID_FILE.
19225
19226         * named/nm-named-manager.c: Always generate a pid
19227         file, since older BIND versions don't support
19228         "pid-file none".
19229
19230 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19231
19232         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19233
19234 2004-12-22  Dan Williams <dcbw@redhat.com>
19235
19236         * src/NetworkManagerDevice.c
19237                 - Silently fail when setting bitrate doesn't work
19238
19239
19240         Patches from j@bootlab.org:
19241         * src/backends/NetworkManagerDebian
19242                 - Update backend to match functionality in RedHat backend
19243         * src/NetworkManagerDevice.c
19244                 - Take down then bring up wired devices after connection so
19245                 they send out ipv6 router advertisements
19246
19247 2004-12-21  Colin Walters  <walters@verbum.org>
19248
19249         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19250         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19251
19252 2004-12-21  Colin Walters  <walters@redhat.com>
19253
19254         * configure.in: Correct named detection.
19255
19256 2004-12-21  Colin Walters  <walters@redhat.com>
19257
19258         * src/NetworkManager.c (nm_data_new): Initialize named.
19259         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19260         the mainloop when these signals are received.
19261         (nm_data_free): Unref named.
19262         (sigterm_handler, sigterm_pipe_handler): New functions for
19263         exiting mainloop.
19264         
19265         * src/NetworkManagerMain.h (NMData): Add signal handling and
19266         nameserver bits.
19267
19268         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19269         unref.
19270
19271         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19272         set nameservers from DHCP response data.
19273         (set_domain_search): Set domain search from DHCP response.
19274         (nm_device_dhcp_configure): Invoke them.
19275
19276         * src/NetworkManagerSystem.c
19277         (nm_system_device_update_resolv_conf): Delete.  Deleting
19278         code is totally sweet.
19279
19280         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19281
19282         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19283         implements an object which controls a nameserver.  Currently
19284         uses bind 9.
19285
19286         * configure.in: Check for named.
19287
19288         * Makefile.am (SUBDIRS): Add named dir.
19289
19290         * named/named.conf: New template config file.
19291
19292 2004-12-20  Colin Walters  <walters@redhat.com>
19293
19294         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19295         instead of '='.
19296
19297 2004-12-17  Dan Williams  <dcbw@redhat.com>
19298
19299         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19300                 link-local addresses instead of doing DHCP.
19301
19302         * In the panel applet, there's a new "Create new Wireless Network..." item
19303
19304         * The panel applet also sticks around now even if NetworkManager dies, but
19305                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19306                 a bug, I'll fix that later.
19307
19308         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19309                 lookups after a switch rather than actually doing them.
19310
19311         * Clean up some of those warnings in nm_ap_list_* functions
19312
19313         * Delay between scans changed to 15s instead of 10s
19314
19315 2004-12-15  Dan Williams  <dcbw@redhat.com>
19316
19317         Patch from Tom Parker
19318         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19319                 address
19320
19321         * Longer pause after setting ESSID on cards that support a larger number
19322                 of channels to give the card time to find the right channel
19323
19324         * Add system hook to restart mDNSResponder (or whatever the local implementation
19325                 of Multicast DNS is) when we activate interfaces
19326
19327 2004-12-15  Dan Williams  <dcbw@redhat.com>
19328
19329         * Rework the DHCP code again to revert to sending full ethernet frames
19330                 rather then relying on the kernel to do the right thing with our
19331                 packets.
19332
19333 2004-12-06  Dan Williams  <dcbw@redhat.com>
19334
19335         * dhcpcd/client.c
19336                 - Fix some minor errors in dhcp_handle_transaction() that caused
19337                         unexpected early timeouts of DHCP transactions
19338
19339         * dhcpcd/client.h
19340                 - DHCP retransmit time from 4s -> 5s
19341
19342 2004-12-05  Dan Williams  <dcbw@redhat.com>
19343
19344         * Major rework of the DHCP code, taking some cues from pump.  We don't
19345                 write raw Ethernet packets anymore, which simplifies the code quite
19346                 a bit.  The new code should be more robust, not hang in recvfrom()
19347                 as much, and generally work better.  This also means that we need
19348                 to force HAL/dbus to use a created GMainContext rather than the
19349                 default context, since having the DHCP renew/rebind thread using
19350                 its own GMainContext seemed to give dbus a fit.  There is also more
19351                 debugging information printed from the DHCP loop to help with future
19352                 problems.
19353
19354         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19355                 assume that the default gateway should be the DHCP server.
19356
19357         Patch from Matthew Schick <matt oss-institute org>
19358         * src/backends/NetworkManagerGentoo.c
19359                 - Fix compilation error due to missing "ip4_broadcast"
19360
19361 2004-12-03  Dan Williams  <dcbw@redhat.com>
19362
19363         * initscript/Makefile.am
19364         * initscript/Debian/NetworkManager
19365         * initscript/Gentoo/NetworkManager
19366         * initscript/RedHat/NetworkManager
19367         * initscript/NMLaunchHelper.c
19368                 - Remove NMLaunchHelper, if you need to wait until the network
19369                         comes up, use the dead code from CVS.
19370
19371 2004-12-01  Colin Walters  <walters@redhat.com>
19372         
19373         * configure.in: Suck in gcc warnings code from Rhythmbox,
19374         but use fewer default flags, and in particular add -Wno-unused,
19375         since the codebase has a lot of unused variables.
19376
19377         * test/nmtestdevices.c (create_device): 
19378         * test/nminfotest.c (get_network_string_property) 
19379         (get_networks_of_type): 
19380         * test/nmclienttest.c (main): 
19381         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19382         * initscript/NMLaunchHelper.c (get_nm_status): 
19383         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19384         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19385         Fix declarations after statements.
19386
19387 2004-12-01  Colin Walters  <walters@redhat.com>
19388
19389         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19390         (nmi_dbus_get_vpn_userpass): New method.
19391         (nmi_dbus_nmi_message_handler): Invoke it.
19392
19393         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19394
19395         * info-daemon/NetworkManagerInfoVPN.h,
19396         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19397         to requests for VPN passwords.
19398
19399         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19400
19401 2004-12-01  Colin Walters  <walters@redhat.com>
19402
19403         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19404         includes.
19405
19406 2004-12-01  Colin Walters  <walters@redhat.com>
19407
19408         * panel-applet/NMWirelessAppletDbus.c
19409         (nmwa_dbus_update_active_device_strength): Fix missing
19410         return value.
19411
19412 2004-12-01  Colin Walters  <walters@redhat.com>
19413
19414         * panel-applet/NMWirelessApplet.c: Add missing include.
19415
19416 2004-12-01  Colin Walters  <walters@redhat.com>
19417
19418         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19419         Remove useless CLAMP (); the value is unsigned, and the case tests
19420         qual->qual < 100, so the value must always be between 0 and 100.
19421
19422 2004-12-01  Colin Walters  <walters@redhat.com>
19423
19424         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19425
19426 2004-11-22  Colin Walters  <walters@verbum.org>
19427
19428         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19429         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19430         which is essentially a noop since nscd caches hosts on disk too.
19431         
19432 2004-11-22  Colin Walters  <walters@redhat.com>
19433
19434         * src/Makefile.am (NetworkManager_SOURCES): Add
19435         NetworkManagerDevicePrivate.h.
19436
19437 2004-11-22  Dan Williams <dcbw@redhat.com>
19438
19439         * src/NetworkManagerDevicePrivate.h
19440                 - Split out the NMDevice struct to a different file so that stuff like
19441                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19442
19443         * dhcpcd/client.c
19444                 - fprintf->syslog
19445                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19446                         need to cancel the dhcp request during the send and recv
19447
19448         * dhcpcd/client.h
19449                 - Move the DHCP option enum to dhcpcd.h
19450
19451         * src/NetworkManagerDHCP.c
19452                 - Split out the actual IP/netmask/etc setting code
19453                 - New Renew/Rebind functions
19454                 - New timer setup function for renew/rebind operations
19455
19456         * src/NetworkManagerDevice.c
19457                 - For device activation, if we are using DHCP then keep the activation thread
19458                         alive until device deactivation.  We need to renew/rebind the DHCP address
19459                         after the T1 (renew) and T2 (rebind) times have expired.
19460                 - Increase some timeouts after bringing wireless cards up/down
19461
19462 2004-11-17  Dan Williams <dcbw@redhat.com>
19463
19464         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19465                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19466                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19467                 show known access points that don't broadcast their ESSID in the menus without
19468                 any user intervention whatsoever.
19469
19470         * info-daemon/NetworkManagerInfoDbus.c
19471                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19472                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19473
19474         * src/NetworkManagerAP.[ch]
19475                 - Add a "user_addresses" data member to the NMAccessPoint structure
19476                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19477                         the user_addresses data member
19478
19479         * src/NetworkManagerAPList.c
19480                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19481                         the AP's reported address
19482                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19483
19484         * src/NetworkManagerDHCP.c
19485                 - Increase DHCP timeout from 25s -> 30s
19486
19487         * src/NetworkManagerDbus.[ch]
19488                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19489                         user addresses
19490
19491         * src/NetworkManagerDevice.c
19492                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19493                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19494                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19495                         So, we take the card down to clear it out.
19496                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19497                         too, since that's where the user_addresses are
19498
19499         * src/NetworkManagerPolicy.c
19500                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19501                         that wireless networks' user_addresses list upon successful activation
19502
19503 2004-11-16  Dan Williams <dcbw@redhat.com>
19504
19505         * src/NetworkManagerDevice.[ch]
19506                 - (nm_device_clear_activation_fail): new function
19507
19508         * src/NetworkManagerPolicy.c
19509                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19510                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19511
19512 2004-11-16  Dan Williams <dcbw@redhat.com>
19513
19514         * src/NetworkManagerDevice.c
19515                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19516                         leak the structure, better updating of now_scanning status
19517                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19518
19519 2004-11-15  Dan Williams <dcbw@redhat.com>
19520
19521         Major rework of link detection code.  We now use DHCP
19522         as part of the link detection which proves to be much more robust,
19523         and also supports Open System authentication for wireless networks.
19524
19525         We no longer use external DHCP client programs.  Instead, we use 
19526         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19527         which was written by:
19528                 Yoichi Hariguchi <yoichi@fore.com>
19529                 Sergei Viznyuk <sv@phystech.com>
19530                 http://www.phystech.com/download/
19531         It resides in the "dhcpcd" directory and was refactored into a general
19532         purpose DHCP client library by me.
19533
19534         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19535         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19536
19537 2004-11-15  Dan Williams <dcbw@redhat.com>
19538
19539         Patch from Tom Parker <palfrey@tevp.net>:
19540
19541         * src/NetworkManagerDevice.c
19542                 - Less output to console when no access
19543                         points are found during a scan
19544
19545 2004-11-15  Dan Williams <dcbw@redhat.com>
19546
19547         Patch from Tom Parker <palfrey@tevp.net>:
19548
19549         * src/backends/interface_parser.c
19550                 - Use g_strdup ()
19551                 - Check for inp == NULL
19552                 - use syslog ()
19553
19554 2004-11-13  Colin Walters  <walters@redhat.com>
19555
19556         Patch from Tom Parker <palfrey@tevp.net>:
19557
19558         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19559         
19560         * src/backends/NetworkManagerRedHat.c: Switch to
19561         including shvar.h instead of shvar.c.
19562
19563         * src/backends/NetworkManagerDebian.c: Don't include
19564         interface_parser.c in source file.
19565
19566         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19567         and interface_parser.[ch].
19568         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19569         Include shvar.c and shvar.h here.
19570         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19571         interface_parser.c and interface_parser.h here.
19572
19573 2004-11-12  Colin Walters  <walters@redhat.com>
19574
19575         * configure.in: Strip out TARGET_DISTRO and
19576         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19577         conditionals.
19578
19579         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19580         (libnmbackend_la_SOURCES): Use Automake conditionals
19581         to add distro-specific files.
19582
19583         * initscript/Makefile.am (SUBDIRS): Update to
19584         use conditionals.
19585
19586 2004-11-12  Colin Walters  <walters@redhat.com>
19587
19588         Patches from j bootlab org
19589
19590         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19591         Add interface_parser.[ch].
19592
19593         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19594         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19595
19596 2004-11-12  Colin Walters  <walters@redhat.com>
19597
19598         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19599         call to nmi_dbus_is_running too, not necessary anymore.
19600         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19601         pick up exit().
19602
19603 2004-11-11  Colin Walters  <walters@verbum.org>
19604
19605         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19606         Delete.
19607         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19608         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19609         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19610         This avoids a race condition that made it pretty easily
19611         possible to get two NetworkManagerInfo daemons running.
19612
19613 2004-11-11  Colin Walters  <walters@verbum.org>
19614         
19615         * src/NetworkManager.c (main): Use daemon(3).
19616
19617         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19618
19619         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19620
19621 2004-11-10 Dan Williams <dcbw@redhat.com>
19622
19623         Patches from j bootlab org
19624         * src/NetworkManagerDevice.c
19625                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19626                         whether the card has a link or not, some cards are slow
19627                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19628
19629         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19630                 - Disable the "Login" button on the passphrase dialog until the user
19631                         enters a valid passphrase or key
19632
19633         Patches from Tom Parker <palfrey tevp net>
19634         * src/backends/NetworkManagerDebian.c
19635                 - Add static IP support to the debian backend
19636
19637         * src/backends/interface_parser.[ch]
19638                 - Parse debian interface config files
19639
19640 2004-11-08 Dan Williams <dcbw@redhat.com>
19641
19642         * src/NetworkManagerDevice.c
19643                 - Some random fprintf->syslog conversions
19644                 - (nm_device_wireless_network_exists): double-check for network
19645                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19646
19647         * src/NetworkManagerWireless.[ch]
19648                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19649                         so that the binary->ascii conversion works (if unsigned, the bitshift
19650                         will fill with zeros, which is what's required).  Also mask bitshift
19651                         result with 0xF for futher assurance.
19652
19653 2004-11-06 Dan Williams <dcbw@redhat.com>
19654
19655         * src/NetworkManagerUtils.c
19656                 - (nm_get_wireless_driver_support_level): default to
19657                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19658                         flip this when changing from whitelist->blacklist of
19659                         wireless drivers
19660
19661 2004-11-05 Dan Williams <dcbw@redhat.com>
19662
19663         Patch from Robert Paskowitz:
19664         * src/backends/NetworkManagerGentoo.c
19665                 - Update static IP config code
19666
19667 2004-11-05 Dan Williams <dcbw@redhat.com>
19668
19669         * info-daemon/NetworkManagerInfoDbus.c
19670           src/NetworkManagerDbus.[ch]
19671           src/NetworkManagerDevice.c
19672                 - Keep track of the # of attempts to get the WEP key
19673                         from the user and pass that along to the info daemon
19674
19675 2004-11-05 Dan Williams <dcbw@redhat.com>
19676
19677         * src/NetworkManagerUtils.c
19678                 - Blacklist wireless cards rather than whitelisting them.
19679                 - Grab driver name from HAL rather than trying to find it
19680                         ourselves.
19681
19682 2004-11-03 Dan Williams <dcbw@redhat.com>
19683
19684         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19685                 - Disable OK button until valid data is entered
19686                         for encryption stuff too
19687
19688         * panel-applet/NMWirelessApplet.c
19689                 - Report card strength for current AP if the card
19690                         doesn't report strength data for scanned access
19691                         points
19692
19693         * src/NetworkManagerDevice.c
19694                 - Smooth out cards reported quality, Atmel card was
19695                         intermittently reporting no quality data but soon
19696                         recovers
19697
19698         * src/NetworkManagerWireless.c
19699                 - Better quality data percentage calculation.  Atmel
19700                         cards (mine at least) seem to report the quality
19701                         in percentage format already, so honor that
19702
19703         Patch from <j@bootlab.org>
19704         * NetworkManager.h
19705           info-daemon/NetworkManagerInfoPassphraseDialog.c
19706           info-daemon/passphrase.glade
19707           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19708           panel-applet/essid.glade
19709           src/NetworkManagerAP.c
19710           src/NetworkManagerDevice.c
19711           src/NetworkManagerWireless.[ch]
19712                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19713
19714 2004-11-03 Dan Williams <dcbw@redhat.com>
19715
19716         * src/NetworkManagerDevice.[ch]
19717                 - (nm_device_set_enc_key): Add parameter to set Authentication
19718                         Mode (Open System, Shared Key, or None).  We're still using
19719                         Shared Key for now though.
19720
19721 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19722
19723         * panel-applet/menu-info.c: change from bold text to light
19724         colored, may cause problems with some themes, i've tested a lot
19725         and they seem fine. 
19726
19727         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19728
19729 2004-11-01  Colin Walters  <walters@verbum.org>
19730
19731         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19732         (nm_wireless_128bit_key_from_passphrase): Add const.
19733
19734         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19735         (nm_ap_set_enc_key_source): Add const.
19736         
19737 2004-11-01  Colin Walters  <walters@verbum.org>
19738
19739         * .cvsignore: Update.
19740
19741 2004-10-29 Dan Williams <dcbw@redhat.com>
19742
19743         * src/NetworkManagerDevice.c
19744                 - (nm_device_wireless_network_exists): Actually use the encryption
19745                         key we got from the applet when attempting to find a wireless network
19746                 - Don't bring devices down so much since on some cards it triggers
19747                         firmware hotplugs each time
19748
19749         * src/NetworkManagerDbus.c
19750                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19751                         from the caller
19752
19753 2004-10-29 Dan Williams <dcbw@redhat.com>
19754
19755         * src/NetworkManager.c
19756                 - (nm_hal_device_property_modified): unlock a locked active
19757                         wireless device when a wired connection gets a link.
19758                         (Means you'll switch to wired whenever you plug in no
19759                         matter what).
19760
19761 2004-10-29 Dan Williams <dcbw@redhat.com>
19762
19763         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19764                 - New files, implement the "Other wireless network" dialog
19765
19766         * panel-applet/NMWirelessApplet.c
19767                 - Move "other wireless network" dialog to separate file
19768
19769         * panel-applet/NMWirelessAppletDbus.[ch]
19770                 - Take key and key_type paramaters for the set_device function
19771
19772         * panel-applet/essid.glade
19773                 - Add UI bits for encryption settings
19774
19775         * src/NetworkManagerDbus.c
19776                 - Retrieve key and key_type params for "setActiveDevice" method call
19777                         and pass them on
19778                 - unref AP returned from nm_device_get_best_ap() when needed
19779
19780         * src/NetworkManagerDevice.c
19781                 - (nm_device_get_best_ap): ref the ap before returning it
19782                 - unref AP returned from nm_device_get_best_ap() when needed
19783                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19784                         need to call nm_device_get_best_ap() here, it was pretty much
19785                         redundant anyway
19786                 - (AP_NEED_KEY): break second link check condition out into separate
19787                         function, and fix segfault when ap->enc_key_source was NULL
19788                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19789                         pass them along to nm_device_wireless_network_exists().  If the
19790                         network does exist, set the passed-in key+key_type on the AP
19791
19792         * src/NetworkManagerPolicy.c
19793                 - unref AP returned from nm_device_get_best_ap() when needed
19794
19795 2004-10-28 Dan Williams <dcbw@redhat.com>
19796
19797         * src/NetworkManagerUtils.c
19798                 - (nm_spawn_process): Fix a potential dereference of NULL
19799
19800         Patches from Peter Jones:
19801
19802         * src/NetworkManagerDevice.c
19803                 - (nm_device_test_wireless_extensions): Better check for
19804                         wireless devices
19805
19806         * src/NetworkManagerUtils.c
19807                 - (nm_spawn_process): Pass in valid stdout and stderr so
19808                         executed programs don't randomly SIGPIPE and fail
19809                 - (nm_get_wired_driver_support_level): quash hal warning
19810                         when checking for USB ethernet device
19811
19812 2004-10-27 Dan Williams <dcbw@redhat.com>
19813
19814         * info-daemon/NetworkManagerInfo.c
19815           info-daemon/NetworkManagerInfoDbus.c
19816           info-daemon/NetworkManagerInfoPassphraseDialog.c
19817           panel-applet/NMWirelessApplet.c
19818                 - Properly escape gconf keys
19819
19820         * src/NetworkManager.c
19821                 - remove unused variables
19822
19823         * src/NetworkManagerAP.c
19824                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19825                         refcount since it got set in nm_ap_new()
19826
19827         * src/NetworkManagerAPList.c
19828                 - (nm_ap_list_combine): Give up ownership of newly created
19829                         access points to the ap list, fixes memleak
19830
19831         * src/NetworkManagerDevice.c
19832                 - Remove cached_ap_list4 member since its not really needed
19833                 - (nm_device_wireless_network_exists): Try to get correct
19834                         encryption status of a found AP if its already in our
19835                         device list
19836                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19837                         memory allocs/deallocs a bit clearer and shorter-lived
19838
19839 2004-10-26 Ray Strode <rstrode@redhat.com>
19840
19841         * panel-applet/NMWirelessApplet.c:
19842           (custom_essid_item_selected):  kill some compiler
19843         warnings 
19844
19845 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19846
19847         * info-daemon/NetworkManagerInfoDbus.c
19848                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19849                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19850
19851 2004-10-23 Dan Williams <dcbw@redhat.com>
19852
19853         * info-daemon/NetworkManagerInfoDbus.c
19854                 - Trap the "DeviceActivationFailed" signal
19855
19856         * docs/NetworkManager DBUS API.txt
19857                 - Add "DeviceActivationFailed" signal
19858
19859         * panel-applet/NMWirelessAppletDbus.c
19860                 - Quash the "NetworkManager service not available" message
19861
19862         * src/NetworkManagerDbus.[ch]
19863                 - Add the "DeviceActivationFailed" signal
19864
19865         * src/NetworkManagerDevice.c
19866                 - Add support for activation_failed flag
19867                 - Fix deadlock where activation thread didn't clean itself up, making
19868                         main thread still believe it was alive forever (didn't reset activation
19869                         flags like activating, just_activated, etc when IP configuration
19870                         failed)
19871
19872         * src/NetworkManagerPolicy.c
19873                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19874                         for wireless networks, try to fall back to some other access point
19875
19876 2004-10-23 Dan Williams <dcbw@redhat.com>
19877
19878         * panel-applet/NMWirelessApplet.[ch]
19879                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19880                         to the applet object, so we can get tooltips
19881                 - Add tooltips (RH #136866)
19882
19883         * src/NetworkManagerDevice.c
19884                 - When trying to find a wireless network, try to connect with encryption
19885                         turned on first, so that we can more accurately detect whether or not
19886                         we need to use encryption for the actual association later on
19887
19888 2004-10-21 Dan Williams <dcbw@redhat.com>
19889
19890         * Add some support for telling NetworkManagerInfo to tell the user
19891                 that they are using a device that's not fully supported
19892
19893         * Fix some assertions in debug messages due to null access point args
19894
19895 2004-10-21 Dan Williams <dcbw@redhat.com>
19896
19897         * src/NetworkManagerDevice.c
19898                 - Don't try to activate/bring up/down unsupported
19899                         devices
19900
19901         * src/NetworkManagerUtils.c
19902                 - Fix case of PCI ID checks for driver support levels
19903
19904 2004-10-21 Dan Williams <dcbw@redhat.com>
19905
19906         * NetworkManager.h
19907                 - New file, now contains commonly used structures and bits
19908                         for the dbus API of NetworkManager
19909
19910         * Makefile.am
19911                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19912
19913         * src/NetworkManager.h
19914                 - Rename -> src/NetworkManagerMain.c
19915
19916         * Various fixups all around to use NetworkManager.h and new
19917                 src/NetworkManagerMain.h, remove redundant bits that got
19918                 moved into NetworkManager.h
19919
19920         * src/NetworkManagerDevice.[ch]
19921           src/NetworkManagerUtils.[ch]
19922           src/NetworkManagerPolicy.c
19923           src/NetworkManagerDbus.c
19924                 - Whitelist wireless drivers, and blacklist some wired
19925                         drivers.  Also blacklist cipsec and ethernet-over-usb
19926                         devices at this time (RH #135722, RH #135648)
19927                 - Don't leak unsupported devices out over dbus, or allow
19928                         them to be set as the active device.  Skip over them
19929                         during automatic device picking
19930
19931         * test/nmclienttest.c
19932                 - Clean up the dbus code a lot
19933
19934 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19935
19936         * configure.in: post release bump.
19937
19938 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19939
19940         * configure.in:
19941         * NEWS: Released NetworkManager-0.3.1
19942
19943 2004-10-18 Dan Williams <dcbw@redhat.com>
19944
19945         Patches from Thom May:
19946         * test/nmtestdevices.c
19947                 - Include <string.h>
19948         * src/backends/NetworkManagerDebian.c:
19949                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19950                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19951                         Move to using g_strdup_printf rather than arbitrary buffers
19952                 - (nm_system_device_setup_static_ip4_config) Implement function.
19953                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19954
19955 2004-10-17 Dan Williams <dcbw@redhat.com>
19956
19957         * info-daemon/NetworkManagerInfoDbus.c
19958                 - Display name of network in the "network not found" dialog
19959
19960         * panel-applet/NMWirelessAppletDbus.c
19961                 - (nmwa_dbus_call_nm_method): new function replaces all other
19962                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19963                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19964                         consolidated into nmwa_dbus_get_object_name()
19965
19966 2004-10-15 Dan Williams <dcbw@redhat.com>
19967
19968         * src/NetworkManagerDbus.c
19969           info-daemon/NetworkManagerInfoDbus.c
19970                 - Display an error dialog when the user tries to use an
19971                         "Other wireless network" that's not found.
19972
19973 2004-10-15 Dan Williams <dcbw@redhat.com>
19974
19975         * panel-applet/NMWirelessApplet.[ch]
19976                 - Fix up corner cases in applet state, making it
19977                         look more responsive.  Change state to "connecting" when
19978                         the user is forcing a device too.
19979
19980 2004-10-15 Dan Williams <dcbw@redhat.com>
19981
19982         * src/NetworkManagerAPList.c
19983                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19984
19985         * src/NetworkManagerDbus.c
19986                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19987
19988         * src/NetworkManagerDevice.c
19989                 - Disown APs after the device's AP list takes ownership
19990
19991 2004-10-15 Dan Williams <dcbw@redhat.com>
19992
19993         * panel-applet/NMWirelessApplet.c
19994                 - Update our applet state from the GUI thread
19995
19996         * panel-applet/NMWirelessAppletDbus.c
19997                 - Greatly simplify the locking to make the GUI thread
19998                         smoother.  Update a private copy of the device list
19999                         and active device and only when done talking to
20000                         NetworkManager turn it over to the GUI thread.
20001
20002 2004-10-15 Dan Williams <dcbw@redhat.com>
20003
20004         * src/NetworkManagerAP.[ch]
20005                 - Add "artificial" get/set functions, set for APs that
20006                         aren't discovered as part of a scan but instead
20007                         discovered by force-setting the ESSID
20008
20009         * src/NetworkManagerDevice.[ch]
20010                 - (nm_device_wireless_network_exists): pass back whether
20011                         or not the discovered AP was encrypted.  Also, try
20012                         falling back to encrypted mode on the card if unencrypted
20013                         association doesn't work
20014                 - (nm_device_find_and_use_essid): If the network requested
20015                         did in fact exists, but it wasn't in our scan list, add
20016                         an "artificial" entry for it.  Some Cisco cards don't
20017                         see non-ESSID-broadcasting APs in their scan but can still
20018                         associate with them if you know the ESSID, this works around
20019                         that behavior
20020                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
20021                         to scan if the card is currently associated with that AP
20022
20023 2004-10-15 Dan Williams <dcbw@redhat.com>
20024
20025         ---- We have a website ----
20026         http://people.redhat.com/dcbw/NetworkManager
20027
20028         Patch from Robert Paskowitz:
20029         * src/NetworkManager.c
20030                 - (main): Make sure we are run as root
20031         * src/NetworkManagerDevice.c
20032                 - Fix type in ad-hoc setting function
20033
20034         Patch from Thom May:
20035         * src/backends/NetworkManagerDebian.c
20036                 - Make Debian backend compile again
20037
20038 2004-10-14 Dan Williams <dcbw@redhat.com>
20039
20040         * Tagged NetworkManager-0_3
20041
20042 2004-10-14 Dan Williams <dcbw@redhat.com>
20043
20044         Patch from Robert Paskowitz:
20045         * NEWS
20046           src/NetworkManagerDevice.[ch]
20047           src/backends/NetworkManagerDebian.c
20048           src/backends/NetworkManagerGentoo.c
20049           src/backends/NetworkManagerRedHat.c
20050           src/backends/NetworkManagerSlackware.c
20051                 - Add support for grabbing and using a broadcast address
20052                         from system config files
20053                 - Some Gentoo backend fixes for grabbing network config
20054                 - Fix LOG_WARN->LOG_WARNING
20055
20056 2004-10-14 Dan Williams <dcbw@redhat.com>
20057
20058         * NEWS: a few small fixes in the credits
20059
20060 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
20061
20062         * NEWS: prep for release.
20063
20064 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
20065
20066         * panel-applet/NMWirelessAppletDbus.c
20067         (nmwa_dbus_update_device_wireless_networks): remove warnings.
20068
20069 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
20070
20071         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
20072         applet->state == APPLET_STATE_NO_NM animation.
20073
20074         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
20075         set the text correctly.
20076
20077 2004-10-14 Dan Williams <dcbw@redhat.com>
20078
20079         * src/NetworkManager.c
20080                 - Only accept and manager 802.3 and 802.11 devices
20081
20082         * src/NetworkManagerDbus.[ch]
20083                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20084                         logic into NetworkManagerDevice.c
20085                 - (nm_dbus_network_status_from_data): new function
20086                 - (nm_dbus_signal_network_status_change): new function, unused for now
20087                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20088
20089         * src/NetworkManagerDevice.[ch]
20090                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20091                         a random ESSID.
20092
20093 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20094
20095         * info-daemon/NetworkManagerInfo.c 
20096                 - (main): Added session management
20097
20098 2004-10-14 Dan Williams <dcbw@redhat.com>
20099
20100         * panel-applet/NMWirelessAppletDbus.[ch]
20101                 - Expose network_device_[un]ref()
20102                 - Expose wireless_network_[un]ref()
20103                 - (wireless_network_new_with_essid): new function, create and return
20104                         a wireless network with a particular essid
20105
20106         * panel-applet/NMWirelessApplet.c
20107                 - Hook up the "other network" dialog to do something
20108
20109 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20110
20111         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20112         doesn't work yet, but it looks okay.
20113
20114         * panel-applet/icons/*png: Resize to 22x22 and install in the
20115         right place.
20116
20117 2004-10-13 Dan Williams <dcbw@redhat.com>
20118
20119         * panel-applet/NMWirelessApplet.c
20120                 - Add function to print out applet_state in a readable
20121                         manner
20122
20123         * src/NetworkManager.c
20124                 - (main): Don't segfault when nm_dbus_init() fails, we had
20125                         a left-over call to hal_shutdown() into which we passed NULL
20126
20127         * src/NetworkManagerAP.c
20128                 - (nm_ap_set_essid): Allow NULL essids
20129
20130         * src/NetworkManagerAPList.[ch]
20131                 - More use of nm_ap_list_[un]lock ()
20132                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20133                         network/essid, just return nothing.  Also skip over NULL
20134                         essid access points in the list when searching
20135                 - (nm_ap_list_get_ap_by_address): new function
20136                 - (nm_ap_list_update_network): set the access point's key source to
20137                         NULL when the key returned from NetworkManagerInfo is NULL or
20138                         of 0 length
20139                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20140                         copy timestamp over too
20141                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20142                         find the correct ESSID for a blank-essid access point by searching
20143                         through another list and matching access point MAC addresses
20144                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20145
20146         * src/NetworkManagerDbus.c
20147                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20148                         may specify.  This is mainly for access points that don't
20149                         broadcast their essid.  So if the user tells us to associate with
20150                         some random ESSID that's not in our access point list, we find
20151                         out if the access point does in fact exist (by attempting association
20152                         and then matching that access point's MAC address with the essid the
20153                         user gave us) and then we switch to it.
20154                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20155                         to the returned list of networks for the "getNetworks" method
20156
20157         * src/NetworkManagerDevice.[ch]
20158                 - Extra debugging info for link detection
20159                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20160                         based on MAC address
20161                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20162                 - (nm_device_wireless_network_exists): new function, find out whether
20163                         a random ESSID exists by attempting to associate with it
20164                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20165                         device list as long as they have an AP MAC address we can use.
20166                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20167                         devices too.  Lets the applet update more frequently.
20168
20169         * src/backends/NetworkManagerGentoo.c
20170                 - Patch from: Robert Paskowitz
20171                         - Update backend code for Gentoo
20172                         - Implement nm_system_device_update_config_info ()
20173
20174         * test/nmclienttest.c
20175                 - (set_network_device): new function, takes a command-line argument
20176                         and tells NetworkManager to use that wireless network
20177
20178 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20179
20180         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20181         if the notification icon crashes 5 times within 5 seconds of each respawn 
20182
20183 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20184
20185         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20186         g_print.
20187
20188 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20189
20190         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20191
20192         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20193         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20194         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20195         Change the name of the icons.
20196
20197         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20198         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20199         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20200         (nm_menu_wireless_expose_event): Really bad hack to get the style
20201         to draw in the right color.
20202
20203 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20204
20205         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20206         Notification if it crashes
20207
20208 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20209
20210         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20211         (nmwa_dbus_get_string): remove unused functions
20212
20213         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20214         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20215         remove unused functions
20216
20217         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20218
20219 2004-10-12 Dan Williams <dcbw@redhat.com>
20220
20221         * panel-applet/NMWirelessAppletDbus.c
20222                 - New functions:
20223                         wireless_network_new
20224                         wireless_network_copy
20225                         network_device_new
20226                         network_device_copy
20227
20228         * src/NetworkManagerDevice.[ch]
20229                 - New functions:
20230                         nm_device_set_mode_managed
20231                         nm_device_set_mode_adhoc
20232                 - Use these functions where appropriate
20233                 - When creating a new wireless device, force the card
20234                         to managed/Infrastructure mode as soon as possible
20235
20236 2004-10-12 Dan Williams <dcbw@redhat.com>
20237
20238         * src/NetworkManagerDevice.c
20239                 - Force wireless cards into Infrastructure mode before we use them
20240
20241 2004-10-12 Dan Williams <dcbw@redhat.com>
20242
20243         * TODO
20244                 - Remove bit about static IP address support
20245
20246         * src/NetworkManagerUtils.c
20247                 - (nm_spawn_process): Add some error reporting
20248
20249         * src/NetworkManagerDevice.c
20250                 - (nm_device_activation_configure_ip): hook up to the static config
20251                         routines in the backends
20252
20253         * src/backends/NetworkManagerRedHat.c
20254                 - (nm_system_device_update_config_info): use shvar.c routines to
20255                         parse the config file iformation, not our own
20256                 - (nm_system_device_setup_static_ip4_config): new function, based
20257                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20258                         with a static IP address and gateway
20259
20260         * src/backends/shvar.[ch]
20261                 - Parser (filched from initscripts package) for ifcfg-* files
20262
20263         * src/backends/NetworkManagerSystem.h
20264           src/backends/NetworkManagerGentoo.c
20265           src/backends/NetworkManagerDebian.c
20266           src/backends/NetworkManagerSlackware.c
20267                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20268
20269 2004-10-11 Dan Williams <dcbw@redhat.com>
20270
20271         * TODO
20272                 - Remove bit about more robust AP diffing since I just implemented it
20273
20274 2004-10-11 Dan Williams <dcbw@redhat.com>
20275
20276         * src/NetworkManagerAP.c
20277                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20278                         enough RAM to allocate new AP structures, but return NULL instead
20279
20280         * src/NetworkManagerAPList.[ch]
20281                 - (nm_ap_list_is_empty): new function
20282                 - (nm_ap_list_combine): new function, combine two access point lists
20283                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20284                         into another
20285
20286         * src/NetworkManagerDevice.[ch]
20287                 - Rename some functions to be clearer:
20288                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20289                         nm_device_just_activated     -> nm_device_is_just_activated
20290                         nm_device_activating         -> nm_device_is_activating
20291                         nm_device_now_scanning       -> nm_device_is_scanning
20292                 - Cache the last 4 scans so that the access point list is more stable.
20293                         We combine the lastest two scans and use that as the AP list,
20294                         and diff that combined list against the combination of the earliest
20295                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20296
20297 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20298
20299         * info-daemon/NWManagerInfo.h
20300                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20301
20302         * info-daemon/NWManagerInfoDbus.c
20303                 - (shutdown_callback): new function
20304                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20305                         if NetworkManager goes away.  Kill the timeout
20306                         if NetworkManager restarts before the 30 seconds
20307                         are up.
20308                 - (nmi_dbus_service_init): 
20309                         - call gtk_main_quit if NetworkManager is not running
20310                         - add filters to monitor dbus service creations and
20311                                 deletions
20312         
20313 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20314
20315         * panel-applet/NMWirelessApplet.c
20316                 - (nmwa_update_state): Hide notification icon if we are only
20317                         showing one wired card and no wireless interfaces 
20318                         (Red Hat Bug #134895)
20319
20320         * panel-applet/NMWirelessAppletDbus.c
20321                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20322
20323         * info-daemon/NWManagerInfo.c
20324                 - (main): Terminated the notification_icon_cmd array with a NULL
20325
20326 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20327
20328         * configure.in (ALL_LINGUAS): Added de (German).
20329
20330 2004-10-08 Dan Williams <dcbw@redaht.com>
20331
20332         * src/NetworkManagerDevice.c
20333                 - Be a bit more robust about link checking, ie make sure that
20334                         the WEP key we were given actually has some data in it
20335
20336 2004-10-08 Dan Williams <dcbw@redhat.com>
20337
20338         * info-daemon/NetworkManagerInfo.c (main):
20339                 - Initialize GError object to NULL
20340
20341 2004-10-08 Dan Williams <dcbw@redhat.com>
20342
20343         * panel-applet/NMWirelessAppletDbus.c
20344                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20345
20346 2004-10-08 Dan Williams <dcbw@redhat.com>
20347
20348         * info-daemon/NetworkManagerInfo.[ch]
20349           info-dameon/NetworkManagerInfoDbus.[ch]
20350           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20351                 - Preserve original label text in the passphrase dialog so that
20352                         it actually gets updated with the new network name the next
20353                         time around.  Previously, we were overwriting it so you'd get
20354                         the wrong network name to enter a key for
20355                 - Add a "Key Type" combo to the passphrase dialog, user selects
20356                         encryption key type now, type is stored in GConf too
20357                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20358
20359         * src/NetworkManagerAP.[ch]
20360                 - Remove all the encyption method magic.  It's now set by the user
20361                         and NetworkManager retrieves the type of encryption key from
20362                         NetworkManagerInfo
20363
20364         * src/NetworkManagerAPList.[ch]
20365           src/NetworkManagerDbus.[ch]
20366                 - Adjust to new way of setting encryption key and method
20367                 - Pull encryption method down from NMI along with key
20368
20369         * src/NetworkManagerDevice.[ch]
20370                 - Removed encryption method fallback magic as the method is now
20371                         determined by the user.  This greatly simplifies the connection
20372                         logic.
20373                 - More robust connection/link logic.  Besides removing the encryption
20374                         method fallback magic, check whether or not the card is receiving
20375                         invalidly encrypted packets, which usually indicates that we have
20376                         a bad WEP key set.
20377                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20378
20379         * test/nminfotest.c
20380                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20381
20382 2004-10-07 Dan Williams <dcbw@redhat.com>
20383
20384         * info-daemon/NetworkManagerInfo.conf
20385                 - Allow root user to run NMI too
20386
20387 2004-10-06 Dan Williams <dcbw@redhat.com>
20388
20389         * src/NetworkManagerDevice.[ch]
20390           src/NetworkManagerDbus.c
20391           doc/NetworkManager DBUS API.txt
20392                 - Add a new status tag "scanning", which is set when there
20393                         is no active network connection, but NetworkManager is
20394                         looking for an access point to associate with
20395
20396         * panel-applet/main.c
20397                 - Cast the applet appropriately for gtk_widget_show_all ()
20398
20399 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20400
20401         * panel-applet/eggtrayicon.[ch]:
20402         * panel-applet/main.c: Add missing file
20403
20404 2004-10-04 Dan Williams <dcbw@redhat.com>
20405
20406         * src/NetworkManagerDevice.[ch]
20407                 - Add a slightly more robust method of determining if the WEP key
20408                         is correct or not, by checking the WEP-discarded packet count
20409                         on the card
20410
20411         * info-daemon/NetworkManagerInfo.c
20412                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20413                         un-escape values we pull out rather than escaping them
20414
20415 2004-10-03  Marcel Telka  <marcel@telka.sk>
20416
20417         * configure.in (ALL_LINGUAS): Added sk.
20418
20419 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20420
20421         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20422         and feel.  We should be back to working, and have a good, clean
20423         look.
20424
20425 2004-09-30 Dan Williams <dcbw@redhat.com>
20426
20427         * info-daemon/NetworkManagerInfo.c
20428           info-daemon/NetworkManagerInfoDbus.c
20429           test/nminfotest.c
20430                 - Escape ESSIDs in gconf
20431
20432         * src/NetworkManagerDevice.c
20433                 - Fix pseudo-scanning to use netowrk list from info daemon
20434
20435 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20436
20437         * configure.in: Add a temporary --enable-notification-icon.  This
20438         will prolly go away.
20439
20440         * info-daemon/Makefile.am:
20441         * info-daemon/NetworkManagerInfo.c:
20442         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20443
20444         * panel-applet/Makefile.am:
20445         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20446         * panel-applet/NMWirelessApplet.h:
20447
20448 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20449
20450         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20451         before 'select custom ESSID'.
20452
20453         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20454         fully complete, but syncing in prep for merge.
20455
20456         * panel-applet/icons/*png: New images
20457
20458 2004-09-28 Dan Williams <dcbw@redhat.com>
20459
20460         * src/NetworkManager.c
20461           src/NetworkManagerDevice.c
20462           src/NetworkManagerPolicy.c
20463                 - Don't blow away an active wired connection on startup
20464
20465 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20466
20467         Changes from J5
20468         
20469         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20470
20471         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20472         syslog output
20473
20474 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20475
20476         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20477         have a wireless card.
20478
20479 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20480
20481         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20482         Also, get the right device strings.
20483
20484 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20485
20486         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20487         the logic to make this right.
20488
20489         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20490         devices so that wired networks are always first.
20491
20492 2004-09-22    <clarkbw@cvs.gnome.org>
20493
20494         * initscript/Debian/.cvsignore:
20495         * initscript/Slackware/.cvsignore:
20496         Added new cvsignores for Makefile, Makefile.in
20497         
20498         * test/.cvsignore:
20499         Added nmtestdevices
20500         
20501         * src/NetworkManagerDevice.c: 
20502         * src/NetworkManager.c: 
20503         Updated the wireless/wired HAL device strings from net.ethernet to
20504         net.80203 or net.80211 depending on wired or wireless respectively
20505         
20506         * examples/python/NetworkManager.py: 
20507         s/Quality/Strength/
20508
20509         * examples/python/systray/network_tray.py:
20510         Lots of little changes and fixes.  been rotting for a while so I
20511         figured I'd finally sync them all with CVS
20512
20513 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20514
20515         * configure.in: Add graphics
20516
20517         * panel-applet/Makefile.am: Add graphics
20518
20519         * panel-applet/icons/*: Add graphics
20520
20521         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20522         the icons fully lined up.
20523
20524         * panel-applet/menu-info.c: 
20525         * panel-applet/menu-info.h: Add another menu type.
20526
20527 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20528
20529         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20530
20531         * panel-applet/menu-item.[ch]: Wireless menu item.
20532
20533 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20534
20535         * info-daemon/NetworkManagerInfo.conf
20536                 - Created a more robust security policy for the DBus service
20537                         - everything is denied by default
20538                         - root can own and send to the service
20539                         - users logged in at the console can send to the service
20540
20541 2004-09-13  Dan Williams <dcbw@redhat.com>
20542
20543         * src/NetworkManagerDevice.c
20544                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20545                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20546                         the latter
20547
20548 2004-09-13  Dan Williams <dcbw@redhat.com>
20549
20550         * TODO: fix typo
20551
20552         * docs/NetworkManager DBUS API.txt
20553                 - Update for new signal strength changes
20554
20555         * panel-applet/NMWirelessApplet.c
20556                 - Make panel icon show strength of the current connection
20557                 - Cleanups and memleak fixes
20558
20559         * panel-applet/NMWirelessApplet.h
20560                 - Add data members for signal strength on devices and networks
20561
20562         * panel-applet/NMWirelessAppletDbus.c
20563                 - Free more DBusErrors
20564                 - Update for new signal strength changes
20565                 - Make devices and networks more like real objects, use ref/unref methods
20566                 - Actually unlock the mutex when updating the active device
20567
20568         * src/NetworkManagerAP.c
20569                 - Change AP functions and data members from "quality"->"strength"
20570
20571         * src/NetworkManagerDbus.c
20572                 - Kill "getMaxQuality" and "getQuality" methods
20573                 - Add "getStrength" methods for Networks and Devices
20574
20575         * src/NetworkManagerDevice.[ch]
20576                 - Add accessors for device strength
20577                 - Add functions to update strength for a device.  Note that not all drivers
20578                         actually support signal strength for scanned access points (Atmel drivers
20579                         being one)
20580                 - Calculate signal strength for each AP during scan
20581
20582         * src/NetworkManagerWireless.[ch]
20583                 - Add function to return signal strength % from a device and a raw quality struct
20584
20585         * test/nmclienttest.c
20586                 - Update for new signal strength changes
20587
20588 2004-09-11  Dan Williams <dcbw@redhat.com>
20589
20590         * src/NetworkManager.c
20591                 - Fix race condition between initscripts and NM on card insertion
20592                         which could cause a card to keep an IP address and routes around
20593                         even when it was not the active device
20594
20595         * src/NetworkManagerDbus.c
20596                 - Fix compile errors, free more DBusErrors
20597
20598 2004-09-11  Dan Williams <dcbw@redhat.com>
20599
20600         * docs/NetworkManager DBUS API.txt
20601                 - Add an explanation of NM's API
20602
20603         * src/NetworkManagerDbus.c
20604                 - Free some more DBusErrors if needed
20605
20606 2004-09-11  Dan Williams <dcbw@redhat.com>
20607
20608         * panel-applet/NMWirelessApplet.c
20609           panel-applet/NMWirelessAppletDbus.c
20610                 - Start using NetworkDevice/WirelessNetwork structures in more places
20611                 - Update for unified device/network forcing in NetworkManager
20612
20613         * src/NetworkManager.c
20614                 - some code consolidation
20615
20616         * src/NetworkManagerDbus.c
20617                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20618                         or two arguments:  the first is the NM ID of the device to switch to,
20619                         and the second (optional) argument is the ESSID of a wireless network
20620                         to use as well.
20621                 - Get rid of "setNetwork" method due to above change
20622
20623         * src/NetworkManagerDevice.c
20624                 - (nm_device_new): perform scan and update best AP on device creation
20625                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20626                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20627                         spin waiting for cancellation to finish before returning
20628
20629         * src/NetworkManagerPolicy.c
20630                 - Changes here clarify the situations in which a device switch occurs, and 
20631                         make sure to keep using a forced device and network if the user gives
20632                         us one
20633                 - Remove old unused code
20634
20635 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20636
20637         * configure.in: Added Danish (da) to ALL_LINGUAS.
20638
20639 2004-09-09  Dan Williams <dcbw@redhat.com>
20640
20641         * panel-applet/NMWirelessAppletDbus.c
20642                 - Pull fresh devices and networks from NM when wireless networks
20643                         change.  Provides faster feedback of a forced wireless network
20644
20645         * src/NetworkManagerDbus.c
20646                 - Return error when "getMaxQuality" is called on a wired device
20647                 - Make best_ap freezing actually work again, and signal cancellation
20648                         of activation if there's already a device activation when the user
20649                         freezes the best_ap
20650
20651         * src/NetworkManagerDevice.c
20652                 - Don't clear out the best_ap for wireless devices when the link goes
20653                         down, that's done elsewhere
20654                 - Kill any dhcp daemons when cancelling device activation since they
20655                         may be stuck waiting for a DHCP address, and since we're cancelling
20656                         activation we don't care about that anymore
20657
20658         * src/NetworkManagerPolicy.c
20659                 - Make sure to unref the device we ref earlier (we refed it to make sure
20660                         it stuck around during device activation and such)
20661                 - If we were going to change the best device, but its activating currently
20662                         (and therefore the change didn't occur due to the check earlier)
20663                         we mark the state changed to we come back to it later when device
20664                         activation has canceled and its no longer activating
20665
20666         * src/backends/NetworkManagerRedHat.c
20667                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20668
20669 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20670
20671         * info-daemon/passphrase.glade: 
20672         set passphrase input to activates_default : True
20673
20674         * examples/python/systray/network_tray.py
20675         (network_tray.sort_networks):
20676
20677         Added support for having wireless always scanning
20678
20679 2004-09-09  Dan Williams <dcbw@redhat.com>
20680
20681         NOTE: this commit changes the behavior of wireless devices in
20682         NetworkManager.  They are now up all the time, scanning all
20683         the time.  Only the active device has an IP address and routing
20684         information set up however.  Also, NetworkManager will no longer
20685         opportunistically switch wireless networks when a better one
20686         comes in range, it will remain associated with one wireless network
20687         until that one drops out.
20688
20689         * panel-applet/NMWirelessApplet.c
20690           panel-applet/NMWirelessAppletDbus.c
20691                 - List all wireless cards and their respective networks
20692
20693         * src/NMLoadModules
20694                 - Use full path to /sbin/ip
20695
20696         * src/NetworkManager.c
20697                 - Keep wireless devices up all the time so they can scan
20698
20699         * src/NetworkManagerDbus.c
20700                 - On a WirelessNetworkUpdate signal from NMI, don't update
20701                         the "best" AP
20702
20703         * src/NetworkManagerDevice.c
20704                 - (nm_device_set_link_active): clear out the best ap for
20705                         wireless devices when the link is set to FALSE
20706                 - Scan on all wireless cards, all the time
20707                 - (nm_device_activation_worker): split out the wireless card
20708                         link-waiting code to a separate function
20709                 - Keep wireless cards up even if device activation fails
20710                 - Don't update the "best" ap as much
20711
20712         * src/NetworkManagerPolicy.c
20713                 - Don't update the best ap when checking if its frozen,
20714                         let link checking clear out a frozen best ap for us
20715
20716         * src/NetworkManagerWireless.c
20717                 - Scan on all wireless cards, all the time
20718
20719 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20720
20721         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20722
20723 2004-09-09  Ankit Patel <ankit@redhat.com>
20724
20725         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20726
20727 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20728
20729         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20730
20731 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20732
20733         * examples/python/NetworkManager.py: 
20734         added CONNECTED, CONNECTING, and DISCONNECTED states
20735         added methods to return number of devices of a single type
20736
20737         * examples/python/systray/network_tray.py: 
20738         did some tweaks to get the menu looking near what it is supposed
20739         to look like.  Also did a Airo card hack to make it show the
20740         correct AP quality
20741
20742 2004-09-08  Dan Williams <dcbw@redhat.com>
20743
20744         * panel-applet/no-networkmanager.png
20745           panel-applet/Makefile.am
20746           panel-applet/NMWirelessApplet.c
20747                 - Add a "NetworkManager not running" icon and use it
20748                 - Use new consolidated GConf keys rather than Preferred/Trusted
20749
20750         * TODO: update
20751
20752         * info-daemon/NetworkManagerInfo.c
20753           info-daemon/NetworkManagerInfoDbus.[ch]
20754           info-daemon/NetworkManagerInfoPassphraseDialog.c
20755                 - There are now no longer two separate lists of wireless networks,
20756                         but one list where each network is "trusted" or not trusted
20757                 - Add a "getNetworkTrusted" dbus method
20758                 - "WirelessNetworkUpdate" signal now sent rather than
20759                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20760                 - Start freeing some dbus errors (not completed yet)
20761
20762         * info-daemon/passphrase.glade
20763                 - Remove the "don't show" hints for pager and taskbar
20764                 - Add a title since its going to be in the taskbar
20765
20766         * src/NetworkManager.[ch]
20767           src/NetworkManagerAPList.[ch]
20768                 - There are now no longer two separate lists of wireless networks,
20769                         but one list where each network is "trusted" or not trusted
20770
20771         * src/NetworkManagerAP.[ch]
20772                 - Add get/set "trusted" accessors and data bit
20773
20774         * src/NetworkManagerDbus.[ch]
20775                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20776                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20777
20778         * src/NetworkManagerDevice.[ch]
20779                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20780                 - (nm_device_new): Get device config from backend when initializing devices
20781                 - (nm_device_activation_worker): Split out device configuration on
20782                         activation to deal with static/dynamic IP differences, and try encryption
20783                         fallbacks on a device if the encryption method for the best AP is not good
20784                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20785                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20786
20787         * src/NetworkManagerWireless.c
20788                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20789
20790         * src/backends/NetworkManagerRedHat.c
20791           src/backends/NetworkManagerSystem.h
20792                 - (nm_system_device_update_config_info): Add function to get device configuration
20793                         from system data in ifcfg-* files
20794
20795         * src/backends/NetworkManagerDebian.c
20796           src/backends/NetworkManagerGentoo.c
20797           src/backends/NetworkManagerSlackware.c
20798                 - Add stub functions for getting device configuration
20799
20800 2004-09-07  Dan Williams <dcbw@redhat.com>
20801
20802         * src/backends/NetworkManagerRedhat.c
20803           src/backends/NetworkManagerSlackware.c
20804                 - Use full path to /sbin/ip everywhere
20805
20806 2004-09-07  Dan Williams <dcbw@redhat.com>
20807
20808         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20809
20810         * configure.in
20811           initscript/Makefile.am
20812           initscript/Slackware/Makfile.am
20813           initscript/Slackware/rc.networkmanager
20814           src/Makefile.am
20815           src/backends/NetworkManagerSlackware.c
20816                 - Add Slackware support
20817
20818 2004-09-07  Dan Williams <dcbw@redhat.com>
20819
20820         Patches below from:
20821                 <j@bootlab.org>
20822                 Mark Roach <mrroach@okmaybe.com>
20823                 Thom May <thom@debian.org>
20824
20825         * configure.in
20826           initscript/Debian/NetworkManager
20827           initscript/Debian/Makefile.am
20828                 - Initscript for Debian
20829
20830         * src/backends/NetworkManagerDebian.c
20831                 - Add missing system init function to allow compilation
20832                         on Debian
20833
20834 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20835
20836         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20837
20838 2004-09-03  Akagic Amila <bono@linux.org.ba>
20839
20840         * configure.in: Added 'bs' to ALL_LINGUAS.
20841
20842 2004-09-02  Colin Walters  <walters@verbum.org>
20843
20844         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20845         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20846         g_strdup_printf instead of arbitrarily sized buffers.
20847
20848 2004-09-01  Colin Walters  <walters@verbum.org>
20849
20850         * NetworkManager.pc.in: New file.
20851
20852         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20853
20854 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20855         
20856         * configure.in: Punjabi(pa) is added to po/.
20857
20858 2004-08-31  Dan Williams <dcbw@redhat.com>
20859
20860         * Remove 'debug' extern global from all files since we now
20861                 use syslog()
20862
20863         * src/NetworkManager.[ch]
20864                 - Break out routine that get the net.interface property from HAL,
20865                         removing that logic from nm_create_device_and_add_to_list()
20866                 - (nm_create_device_and_add_to_list): make this a bit more general so
20867                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20868                         the create of test devices.
20869                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20870                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20871                         which makes NetworkManager listen for dbus commands to create test
20872                         devices, which have no backing hardware.  Use when you're on a plane
20873                         for example, and/or forgot your wireless card at home.  Test devices
20874                         _cannot_ be created unless NM is started with --enable-test-devices.
20875
20876         * src/NetworkManagerDbus.[ch]
20877                 - New "getLinkActive" method for devices
20878                 - New "setLinkActive" method for devices (only works on test devices)
20879                 - New "createTestDevice" method on NetworkManager object to create a test
20880                         device of a specified type (ie wired, wireless).  UDI is created from
20881                         scratch, as is the interface name.  Only works when NM is started with
20882                         --enable-test-devices switch.
20883                 - New "removeTestDevice" method on NetworkManager object which removes a
20884                         test device.  Only works when NM is started with --enable-test-devices
20885
20886         * src/NetworkManagerDevice.[ch]
20887                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20888                         whether a device is a test device or not, and what its link status is.
20889                 - Deal with test devices in most functions.  For those that work directly on hardware
20890                         special-case test devices.
20891                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20892                         command-line.
20893                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20894                         checking to separate functions to facilitate test device link checking.
20895                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20896                         don't make a distinction between System Authentication and Encryption
20897                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20898                         on the card.  We don't deal with Shared Key auth yet.
20899                 - (nm_device_activation_worker): split the activation cancel check logic out into
20900                         a separate routine nm_device_activation_cancel_if_needed()
20901                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20902                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20903                         a list of fake access points that they can "see"
20904                 - (nm_device_is_test_device): return whether or not a device is a test device
20905
20906         * src/NetworkManagerPolicy.c
20907                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20908                         previously if you "locked"/forced NM to use a wireless device but then
20909                         selected a wireless network for NM to use, it would switch to a wired device.
20910                         So, if the active device is wireless and it has a "forced" best AP, use it
20911                         if the "forced" best AP is still valid
20912                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20913                         there were no usable network devices, or the last one was removed
20914
20915         * src/backends/NetworkManager*.c
20916                 - Deal with test devices, mostly just return success for operations like getting
20917                         a DHCP address
20918
20919         * test/nmtestdevices.c
20920                 - Test tool to create/remove/link-switch test devices
20921
20922 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20923
20924         * examples/python/NetworkManager.py: 
20925         added convience functions has_wired_device and has_wireless_device
20926
20927         * examples/python/systray/network_tray.py: 
20928         cleaned up a bunch of cruft, added support for listing wireless
20929         networks just like the real applet.  This is probably all I'm
20930         going to work on this applet from now on.
20931         TODO: add support for actually changing networks and devices
20932
20933         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20934         changed "nm.networks" into a dict from a list so I can store all
20935         the cool information about networks in there
20936
20937         * examples/python/systray/network_tray.py: 
20938         Added nice message when you try to run without running make first
20939
20940         * examples/python/NetworkManager.py: 
20941         Bug fixes to the code so we get all the device information
20942         that we need in get_device()
20943         
20944         * examples/python/NMTester.py: 
20945         Fixed _print_device_list to print_device_list
20946
20947 2004-08-29  Seth Nickell  <seth@gnome.org>
20948
20949         * configure.in:
20950
20951         Actually properly setup the Debian backend in configure.
20952         
20953 2004-08-29  Colin Walters  <walters@verbum.org>
20954
20955         * test/nminfotest.c: Include string.h and stdlib.h.
20956         (get_network_string_property, get_networks_of_type): Return NULL.
20957
20958         * test/nmclienttest.c (get_device_name, get_active_device): Return
20959         NULL.
20960
20961         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20962         use strlen, fgets always NULL-terminates the string.
20963
20964         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20965         dbus_message_get_member): Remove /* in comment.
20966
20967         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20968
20969         * src/NetworkManager.c (quit): Unused, delete.
20970         (nm_data_free): Cast arg to GFunc.
20971
20972         * panel-applet/NMWirelessAppletDbus.c: Need to include
20973         string.h, and dbus-glib-lowlevel.h (the latter is needed
20974         for dbus_connection_setup_with_g_main at present).
20975         (nmwa_dbus_update_wireless_network_list): Parenthesize
20976         assignment in conditional.
20977         (nmwa_dbus_worker): Return NULL.
20978
20979         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20980         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20981         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20982         (nmwa_populate_menu): Return NULL on failure, instead of just
20983         return;
20984
20985         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20986
20987         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20988         variables.
20989
20990         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20991         delete.
20992         
20993 2004-08-29  Colin Walters  <walters@verbum.org>
20994
20995         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20996         a GTimeVal instead of time_t.  This is easier to work with,
20997         since time_t may be a long or double, we don't know.
20998
20999         * src/NetworkManagerDbus.h: Update prototype.
21000         
21001         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
21002         instead of time_t.
21003         (nm_ap_get_timestamp): Update to return GTimeVal.
21004         (nm_ap_set_timestamp): Update to take GTimeVal.
21005         
21006         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
21007         to handle GTimeVal.
21008
21009         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
21010         GTimeVal change.
21011         (nm_ap_list_print_members): Fix warnings in printf format.
21012
21013 2004-08-29  Colin Walters  <walters@verbum.org>
21014         
21015         * panel-applet/NMWirelessApplet.c: Include config.h.
21016
21017 2004-08-29  Colin Walters  <walters@verbum.org>
21018
21019         * configure.in: Generate config.h.
21020
21021         * configure.in: Dump dependency on OpenSSL; we can't
21022         use it since this package is GPL:
21023         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
21024         Instead, check for libgcrypt, use it if available,
21025         otherwise use included MD5 code.
21026
21027         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
21028         Suck in from gnome-keyring, munge a bit.
21029         
21030         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
21031         gnome-keyring-md5.h gnome-keyring-md5.c.
21032         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
21033
21034         * src/NetworkManagerWireless.c (nm_md5): New function, uses
21035         libgcrypt or included gnome-keyring md5 bits.
21036         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
21037
21038 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
21039
21040         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
21041
21042 2004-08-27  Bryan Clark  <bclark@redhat.com>
21043
21044         * examples/python/systray/Makefile: 
21045
21046         Updated the clean section
21047         
21048         * examples/python/systray/trayiconmodule.c: 
21049         * examples/python/systray/trayicon.override: 
21050         * examples/python/systray/network_tray.py: 
21051         * examples/python/systray/eggtrayicon.h: 
21052         * examples/python/systray/eggtrayicon.c: 
21053         * examples/python/systray/Makefile: 
21054         * examples/python/README: 
21055         * examples/python/NetworkManager.py: 
21056         * examples/python/NMTester.py: 
21057
21058         Initial commit of these python example files
21059
21060 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
21061
21062         * panel-applet/NMWirelessApplet.c
21063                 - Make current device bold
21064                 - Show more user-friendly device name if we got one from hal
21065
21066         * panel-applet/NMWirelessAppletDbus.c
21067                 - Grab "info.product" key from hal for network devices
21068                 - Cache the current active device
21069
21070 2004-08-27  Adam Weinberger  <adamw@gnome.org>
21071
21072         * configure.in: Added en_CA to ALL_LINGUAS.
21073
21074 2004-08-27  Christian Rose  <menthos@menthos.com>
21075
21076         * configure.in: Added "sv" to ALL_LINGUAS.
21077
21078 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21079
21080         * Tag NetworkManager-0.2
21081
21082 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21083
21084         * initscripts/Makefile.am
21085         * configure.in: Make pass distcheck
21086
21087         * po/ChangeLog: added
21088
21089 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21090
21091         * panel-applet/NMWirelessApplet.c
21092                 - Remove debugging code
21093                 - Enable device switching from menus
21094
21095         * panel-applet/NMWirelessAppletDbus.[ch]
21096                 - Method for asking NM to switch devices
21097
21098         * src/NetworkManagerDevice.c
21099                 - Set dev->activating earlier, avoids race between
21100                         the dbus signal of "DeviceActivating" and setting
21101                         dev->activating (which is what NM's "status" method call
21102                         looks at)
21103
21104 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21105
21106         * panel-applet/NMWirelessApplet.[ch]
21107                 - Rework menu code to add devices to menu, and to show
21108                         signal strength for each access point.  Code cleanups
21109                         too.
21110
21111         * panel-applet/NMWirelessAppletDbus.c
21112                 - Grab network devices from NetworkManager too
21113                 - Grab quality information from NM for wireless networks
21114
21115         * src/NetworkManagerDbus.[ch]
21116                 - Add dbus methods for getting the HAL UDI from a device and
21117                         for getting its base quality, if its wireless
21118                 - Consolidate some functions (wireless network notifications,
21119                         device notifications)
21120                 - Add method for requesting NM to use a particular device
21121
21122         * src/NetworkManager.c
21123                 - Change for function consolidations from NetworkManagerDbus.c
21124                 - Implement active device locking and user-requested devices
21125                         (ie, tell NM to use a particular device instead of the one
21126                         it autochose)
21127
21128         * src/NetworkManagerDevice.c
21129                 - Add method for getting the base quality of a device, if its
21130                         wireless
21131                 - Grab device base quailty info from iwlib during scans
21132
21133         * src/NetworkManagerPolicy.c
21134                 - Use a user-requested device rather than the auto-chosen device
21135                         if we are told to
21136
21137 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21138
21139         * Makefile.am: add po as a supdir
21140
21141         * autogen.sh: use gnome-autogen.sh
21142
21143         * initscript/Gentoo/.cvsignore:
21144         * initscript/RedHat/.cvsignore: Shut up cvs
21145
21146         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21147
21148         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21149         (nmwa_fill): Use gettext.
21150
21151         * configure.in: add gettext support
21152         * po/.cvsignore:
21153         * po/NetworkManager.pot:
21154         * po/POTFILES.in:
21155
21156 2004-08-26  Seth Nickell  <seth@gnome.org>
21157
21158         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21159         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21160         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21161         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21162         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21163         * panel-applet/NMWirelessApplet.h:
21164
21165         Use a menu bar instead of a button for the main clickable
21166         thingy.
21167         
21168 2004-08-25  Dan Williams <dcbw@redhat.com>
21169
21170         * src/NetworkManagerDevice.c
21171                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21172                         turning encryption off, because the Cisco driver doesn't associate
21173                         with WEP-enabled access points unless we are in "open"
21174
21175 2004-08-25  Dan Williams <dcbw@redhat.com>
21176
21177         * src/NetworkManagerWireless.c
21178                 - Don't try to defererence blank passphrases
21179
21180 2004-08-25  Dan Williams <dcbw@redhat.com>
21181
21182         * panel-applet/NMWirelessApplet.c
21183                 - Rebuild the menu whenever a user clicks
21184
21185 2004-08-25  Dan Williams <dcbw@redhat.com>
21186
21187         * panel-applet/NMWirelessApplet.c
21188                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21189                         when NM isn't around or when its not connected
21190
21191         * src/NetworkManagerDevice.c
21192                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21193                         canceled.
21194
21195 2004-08-25  Dan Williams <dcbw@redhat.com>
21196
21197         * panel-applet/NMWirelessAppletDbus.c
21198                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21199                         for getting encryption, and don't stop on "val" once we've gotten it
21200                         from NetworkManager.  Short form:  encryption should now show up.
21201
21202 2004-08-25  Dan Williams <dcbw@redhat.com>
21203
21204         * panel-applet/NMWirelessApplet.c
21205                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21206                         network to associate with
21207
21208 2004-08-25  Dan Williams <dcbw@redhat.com>
21209
21210         * panel-applet/*
21211                 - Rework the panel applet to do all DBUS communication in a separate
21212                         thread
21213
21214 2004-08-25  Dan Williams <dcbw@redhat.com>
21215
21216         * info-daemon/NetworkManagerInfo.[ch]
21217                 - Remove "get_next_priority" function
21218
21219         * info-daemon/NetworkManagerInfoDbus.[ch]
21220                 - Convert "priority" functions to "timestamp"
21221
21222 2004-08-25  Dan Williams <dcbw@redhat.com>
21223
21224         * src/NetworkManagerAP.[ch]
21225                 - Add a "enc_method_good" member and accessors to an Access Point
21226                         to signal when we've found the correct encryption method
21227                         for an access point
21228                 - Add a "timestamp" member and accessors, remove "priority" member
21229                         and accessors (use timestamps instead)
21230                 - Rename "wep_key"->"enc_key"
21231                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21232                         for a specified encryption method using the access points
21233                         source encryption key/passphrase
21234
21235         * src/NetworkManagerAPList.c
21236                 - When updating a network with dbus, grab timestamp now instead of
21237                         priority
21238
21239         * src/NetworkManagerDBus.[ch]
21240                 - Add signal for "DeviceActivating"
21241                 - Switch priority->timestamp
21242
21243         * src/NetworkManagerDevice.c
21244                 - Change references of "wep_key" -> "enc_key" or "key"
21245                 - Signal DeviceActivating when starting activation
21246                 - When activating a wireless device, if the access point we are connecting
21247                         to is encrypted, and we have a source key, try to generate a mangled
21248                         key and use that (ie, generate real WEP key from a passphrase)
21249                 - Rework device activation to fallback to other encryption methods if
21250                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21251                         first, then if that doesn't work fall back to direct hex key).
21252                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21253                         priority.  We now prefer the latest access point used, rather than using
21254                         a priority scheme
21255                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21256                         points we've just discovered, and merge in correct info from the global
21257                         access point lists
21258
21259 2004-08-25  Seth Nickell  <seth@gnome.org>
21260
21261         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21262         Debian support.
21263         
21264         * src/Makefile.am:
21265         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21266         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21267         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21268         (nm_system_delete_default_route),
21269         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21270         (nm_system_load_device_modules):
21271
21272 2004-08-24  Dan Willemsen <dan@willemsen.us>
21273
21274         * src/NetworkManager.c
21275           src/backends/NetworkManagerGentoo.c
21276           src/backends/NetworkManagerRedHat.c
21277           src/backends/NetworkManagerSystem.h
21278                 - Implement preliminary Gentoo support, adding a
21279                         nm_system_init function to the backend specification
21280
21281         * configure.in
21282                 - Distribution auto-detection, lowercase any user-fed
21283                         distribution names
21284
21285         * initscript/.cvsignore
21286           initscript/Makefile.am
21287           initscript/RedHat/Makefile.am
21288           initscript/RedHat/NetworkManager
21289           initscript/Gentoo/Makefile.am
21290           initscript/Gentoo/NetworkManager
21291                 - Refactored initscript code separately for each
21292                         distribution
21293
21294 2004-08-23  Dan Williams <dcbw@redhat.com>
21295
21296         * configure.in
21297           src/Makefile.am
21298           src/NetworkManagerDevice.c
21299           src/NetworkManager.c
21300           src/NetworkManagerUtils.[ch]
21301           src/backends/NetworkManagerSystem.h
21302           src/backends/NetworkManagerRedHat.c
21303           src/backends/NetworkManagerGentoo.c
21304                 - Refactor system-specific code into separate backends for
21305                         each distribution
21306
21307 2004-08-23  Dan Willemsen <dan@willemsen.us>
21308
21309         * dispatcher-daemon/NetworkManagerDispatcher.c
21310           info-daemon/NetworkManagerInfo.[ch]
21311           info-daemon/NetworkManagerInfoDbus.c
21312           info-daemon/NetworkManagerInfoPassphraseDialog.c
21313           src/NetworkManager.c
21314           src/NetworkManagerAP.c
21315           src/NetworkManagerAPList.c
21316           src/NetworkManagerDbus.c
21317           src/NetworkManagerDevice.c
21318           src/NetworkManagerPolicy.c
21319           src/NetworkManagerUtils.[ch]
21320           src/NetworkManagerWireless.c
21321                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21322
21323         * src/NetworkManager.c
21324                 - Fixed usage wording for --no-daemon
21325
21326 2004-08-23  Dan Williams <dcbw@redhat.com>
21327
21328         * panel-applet/NMWirelessApplet.c
21329                 - Update our state every second to get more responsive panel icon
21330                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21331                         was causing our marching ants status blips to never move when
21332                         looking for a wireless network
21333
21334         * src/NetworkManagerDevice.c
21335                 - (nm_device_activation_begin): return if activation has already begun
21336                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21337                         trusted/preferred network into the device's access point when the
21338                         scan list is processed
21339
21340 2004-08-23  Dan Williams <dcbw@redhat.com>
21341
21342         * initscript/NetworkManager
21343                 - Use NMLaunchHelper rather than sleeping
21344
21345         * initscript/NMLaunchHelper.c
21346           Makefile.am
21347                 - Add helper program that exits only when NM activates a device,
21348                         or 10 seconds have passed, whichever happens first.  This
21349                         stops the boot processes until we have a network connection,
21350                         which NM can't do because it daemonizes and brings the connection
21351                         up in the background.  Allows stuff like NFS to not die.
21352
21353 2004-08-20  Dan Williams <dcbw@redhat.com>
21354
21355         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21356                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21357                         for a network, set the essid as well since it may not exist yet
21358                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21359                         since WEP keys/passphrases are long and prone to entry-error
21360
21361         * panel-applet/Makefile.am
21362           panel-applet/wired.png
21363                 - Add (pulled from system-config-network temporarily)
21364
21365         * panel-applet/NMWirelessApplet.[ch]
21366                 - Show wired picture when a wired connection is used
21367                 - Rename wireless icon enums, adding WIRELESS
21368
21369         * src/NetworkManagerDevice.c
21370                 - (nm_device_activate_wireless): unset encryption before bringing
21371                         down the card and setting the essid
21372                 - (nm_device_activatin_worker): request a key from the user if the
21373                         AP we are connecting to is encrypted but we don't have a key
21374                         for it yet
21375                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21376                         strcmp() that prevented a user-entered key from actually getting
21377                         used
21378
21379 2004-08-16  Dan Williams <dcbw@redhat.com>
21380
21381         * initscript/NetworkManager
21382                 - Check for /sbin/ip
21383                 - Do sysctl magic that network service does
21384                 - sleep 4s after start to allow network time to come up [hack]
21385
21386         * src/Makefile.am
21387           src/NMLoadModules
21388                 - Load all network device kernel modules (hal doesn't know devices
21389                         are ethernet until the module is loaded, and therefore we don't know)
21390
21391         * src/NetworkManager.c
21392                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21393                         network devices, and bring up the loopback device explicitly
21394
21395         * src/NetworkManagerUtils.[ch]
21396                 - (nm_enable_loopback): new function
21397
21398 2004-08-13  Dan Williams <dcbw@redhat.com>
21399
21400         * configure.in
21401           panel-applet/Makefile.am
21402                 - Fix up cleanfiles and server_DATA/server_in_files
21403
21404         * README
21405                 - Update with some comments on theory of operation
21406
21407         * CONTRIBUTING
21408           Makefile.am
21409                 - Add CONTRIBUTING
21410
21411 2004-08-12  Dan Williams <dcbw@redhat.com>
21412
21413         * info-daemon/passphrase.glade
21414                 - Set window title to " "
21415
21416         * panel-applet/Makefile.am
21417           panel-applet/keyring.png
21418                 - Deliver to correct place
21419
21420         * panel-applet/NMWirelessApplet.[ch]
21421                 - Add comments
21422                 - Remove applet->have_active_device as its no longer used
21423                 - (nmwa_load_theme): load keyring.png too
21424                 - (error_dialog): remove
21425                 - (show_warning_dialog): subsume functionality of error dialog too
21426                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21427                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21428                         the networks menu
21429                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21430                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21431                         and when we get broadcasts of changed wireless access points only, not when the
21432                         user clicks on the button to display the menu (too long of a wait)
21433                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21434                         networks that are encrypted
21435                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21436                         menu item with g_object_set_data()
21437
21438         * panel-applet/NMWirelessAppletDbus.[ch]
21439                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21440                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21441                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21442                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21443                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21444                         activation/deactivation signals and rebuild the menu when they happen
21445
21446         * src/NetworkManager.c
21447                 - (main): use new nm_spawn_process() rather than system()
21448
21449         * src/NetworkManagerDbus.c
21450                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21451                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21452                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21453                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21454                         to freeze the best_ap.
21455
21456         * src/NetworkManagerDevice.[ch]
21457                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21458                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21459                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21460                         ap list
21461
21462         * src/NetworkManagerUtils.[ch]
21463                 - (nm_spawn_process): add replacement for system() usage
21464
21465 2004-08-11  Dan Williams <dcbw@redhat.com>
21466
21467         * panel-applet/NMWirelessApplet.[ch]
21468                 - Fix up copyright and credits to include Bastien and Eskil,
21469                         who created the gnome-applets wireless applet, from whose
21470                         skeleton this one was created
21471                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21472                         pixmap to draw is computed during nmwa_update_state()
21473                 - Applet now shows itself all the time due to panel packing issues
21474                         which caused the applet to previously never come back after hiding.
21475                         When a wired device is the active device, the applet shows "not connected"
21476
21477         * panel-applet/NMWirelessAppletDbus.[ch]
21478                 - Clean up error messages and show what function they are from
21479                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21480                 - Add new device type getters, and a status getter
21481
21482         * src/NetworkManagerDbus.c
21483                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21484                         network is actually in the device's ap list
21485                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21486
21487         * src/NetworkManagerDevice.c
21488                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21489                         card
21490
21491         * test/nmclienttest.c
21492                 - Report status of NetworkManager too
21493
21494 2004-08-11  Dan Williams <dcbw@redhat.com>
21495
21496         * info-daemon/NetworkManagerInfo.c:
21497                 - (main): clean up Seth's code style
21498
21499         * info-daemon/NetworkManagerInfoDbus.c:
21500                 - Use the more aptly-named path/service/interface constants from NetworkManager
21501                 - Don't return empty strings ("") as object paths ever, instead return errors
21502
21503         * panel-applet/NMWirelessApplet.c:
21504                 - Clean up Seth's code style
21505
21506         * src/NetworkManager.[ch]
21507                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21508                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21509
21510         * src/NetworkManagerAPList.[ch]
21511                 - Move Iter struct right above the iter functions to preserve opacity
21512                 - (nm_ap_list_remove_ap): implement
21513                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21514                         remove AP if NetworkManagerInfo doesn't know anything about it
21515                 - (nm_ap_list_diff): user NMAPList iterators
21516                 - (nm_ap_list_print_members): implement debugging function
21517
21518         * src/NetworkManagerDbus.[ch]
21519                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21520                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21521                         and move the actual key setting stuff into NetworkManagerDevice.c
21522                 - (nm_dbus_get_network_priority): return -1 now on errors
21523                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21524                         get lost, and force the active device to update its "best" ap when AP lists change
21525                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21526                         method call due to pending_device member removal
21527
21528         * src/NetworkManagerDevice.[ch]
21529                 - Move NMDevice structure to the top
21530                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21531                 - Remove Pending Action stuff from everywhere
21532                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21533                         activation for us.  This thread blocks until all conditions for activation have
21534                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21535                         then setup up the interface and runs dhclient.  We have to do this because there
21536                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21537                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21538                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21539                         can tell nm_device_activation_worker() that we've got a key
21540                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21541                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21542                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21543                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21544
21545         * src/NetworkManagerPolicy.c
21546                 - Remove anything to do with pending_device
21547                 - Adjust device activation to deal with activation-in-worker-thread
21548
21549         * src/NetworkManagerUtils.c
21550                 - Clean up locking debugging a bit
21551
21552         * src/NetworkManagerWireless.[ch]
21553                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21554                         was badly named and is better as a device function
21555
21556         * panel-applet/.cvsignore: add
21557
21558 2004-08-09  Seth Nickell  <seth@gnome.org>
21559
21560         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21561         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21562         (nmwa_new):
21563         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21564
21565         Don't load the menus until clicked on (also removes a call outside
21566         normal code paths at first load).
21567
21568         Hide applet when NM is not present.
21569         
21570         Improve printf debugging stuff.
21571         
21572 2004-08-09  Dan Williams <dcbw@redhat.com>
21573
21574         * dispatcher-daemon/NetworkManagerDispatcher.c:
21575                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21576                 - Use constants for NetworkManager interface, service, and path
21577
21578 2004-08-09  Dan Williams <dcbw@redhat.com>
21579
21580         * src/NetworkManagerDbus.c:
21581                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21582                         instead return an error message
21583                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21584                         on a wired device.  Also never return an empty object path, instead return an error message
21585
21586 2004-08-06  Seth Nickell  <seth@gnome.org>
21587
21588         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21589
21590         Check the error code when getting a connection.
21591         
21592         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21593
21594         Check if the NM service exists when initializing (rather than
21595         assuming it does not).
21596         
21597         * src/NetworkManagerDbus.c: (nm_dbus_init):
21598
21599         Don't acquire the well-known service name until we have
21600         registered object/path handlers and can actually receive
21601         calls.
21602         
21603 2004-08-06  Dan Williams <dcbw@redhat.com>
21604
21605         * panel-applet/*
21606                 - Add panel applet
21607
21608         * src/NetworkManagerPolicy.c
21609           src/NetworkManager.c
21610                 - Get access point lists from NetworkManagerInfo on-demand,
21611                         and look for ServiceCreate/ServiceDeleted signals to see when
21612                         we should query NMI for lists
21613         * src/NetworkManagerAPList.c
21614                 - Make sure to init the list's mutex
21615                 - Convert traversals of the list over to the list iter functions
21616
21617         * src/NetworkManagerDbus.[ch]
21618                 - Use more aptly-named path/service/interface constants
21619                 - Treat both active and pending devices the same for "getActiveDevice"
21620                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21621
21622         * src/NetworkManagerDevice.c
21623                 - Honor "ignored" network list when picking best ap to use
21624
21625 2004-08-06  Seth Nickell  <seth@gnome.org>
21626
21627         * aclocal.m4:
21628
21629         Autogenerated, remove from CVS.
21630         
21631         * autogen.sh:
21632
21633         Don't hardcode automake version.
21634         
21635         * configure.in:
21636         * info-daemon/Makefile.am:
21637         * info-daemon/NetworkManagerInfo.c: (main):
21638
21639         Use GnomeProgram et al. for doing session management.
21640         Use popt stuff for argument parsing rather than doing
21641         it manugally.
21642         
21643 2004-08-05  Dan Williams <dcbw@redhat.com>
21644
21645         * test/nminfotest.c
21646                 - Update to new NMI dbus API, check different network types
21647
21648         * info-daemon/NetworkManagerInfoDbus.c
21649                 - Update to new NM dbus API, ie network type sent in query message
21650
21651 2004-08-05  Dan Williams <dcbw@redhat.com>
21652
21653         * An assload of changes
21654
21655 2004-08-02  Dan Williams <dcbw@redhat.com>
21656
21657         * TODO
21658                 - new task: proper logging support
21659
21660         * info-daemon/NetworkManagerInfo.c
21661                 - Correct spelling of "canceled"
21662                 - Correct casting of objects for g_signal_connect()
21663
21664         * info-daemon/NetworkManagerInfoDbus.c
21665                 - Add defines for NetworkManager namespace and object path, and use them
21666                 - Add filter function to trap new signals from NetworkManager:
21667                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21668
21669         * info-daemon/passphrase.glade
21670                 - Change name of "ok" button to "Login to Network..."
21671                 - Mark invisible
21672
21673         * src/NetworkManager.c
21674                 - Code and debug message cleanups
21675                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21676                 - (nm_add_initial_devices) Check returned string array of devices
21677                         and don't try to add devices if array is NULL
21678                 - (main) Initialize libhal a bit later, make code a bit clearer
21679
21680         * src/NetworkManagerAP.[ch]
21681                 - New accessor and data member "matched": used to speed up AP list
21682                         diffing
21683                 - New accessor and data member "enc_method": will be used during key
21684                         fallback to cache which passphrase->key conversion actually works
21685                         so we don't have to do it every time
21686
21687         * src/NetworkManagerAPList.[ch]
21688                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21689                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21690                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21691                         dbus in response to those differences
21692
21693         * src/NetworkManagerDbus.[ch]
21694                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21695                         make an object path for that access point (NOTE that we don't yet check to
21696                         make sure that access point is actually in the device's AP list yet)
21697                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21698                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21699                         New: signal appearance/disappearance of wireless networks
21700                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21701                         key entry
21702
21703         * src/NetworkManagerDevice.[ch]
21704                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21705                 - (nm_device_ap_list_get) New: return the AP list (static function)
21706                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21707                         new one resulting from the scan with the old one
21708
21709         * src/NetworkManagerWireless.c
21710                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21711
21712         * test/nminfotest.c
21713                 - #define object paths and namespaces and use the #defines rather than static strings
21714                 - Test out user-key functionality of NetworkManagerInfo too
21715
21716 2004-07-29  Dan Williams <dcbw@redhat.com>
21717
21718         * info-daemon/NetworkManagerInfoDbus.c
21719           src/NetworkManagerDbus.c
21720                 - Update to current DBus (ie don't use decomposed paths when registering
21721                         object paths/fallbacks)
21722
21723 2004-07-27  Dan Williams <dcbw@redhat.com>
21724
21725         * Remove various Makefile.in files
21726
21727         * TODO
21728                 - Add some more items
21729
21730         * configure.in
21731                 - Add checks for OpenSSL/md5 headers and libs
21732
21733         * src/Makefile.am
21734                 - Use OpenSSL CFLAGS
21735
21736         * src/NetworkManagerAP.[ch]
21737                 - Remove 'stamp' functions, replace with 'invalid' functions
21738                         to support user cancelling WEP key entry
21739
21740         * src/NetworkManagerDbus.c
21741                 - Remove 'stamp' return functions
21742                 - Treat returned user key as a passphrase and convert to a WEP key,
21743                         but don't actually use the WEP key yet.  We use the returned user
21744                         key as a hexadecimal WEP key until we can figure out a UI for
21745                         passphrase-vs-hex key
21746
21747         * src/NetworkManagerWireless.[ch]
21748                 - Add passphrase-to-128bit-key function
21749
21750 2004-07-27  Dan Williams <dcbw@redhat.com>
21751
21752         * TODO
21753                 - Add a couple of items
21754
21755 2004-07-27  Dan Williams <dcbw@redhat.com>
21756
21757         * info-daemon/NetworkManagerInfo.c
21758                 - Update allowed network's GConf key when user enters a WEP key explicitly
21759
21760         * info-daemon/NetworkManagerDbus.c
21761                 - Fix some comments
21762                 - nmi_dbus_get_allowed_networks(): kill warning
21763
21764 2004-07-27  Dan Williams <dcbw@redhat.com>
21765
21766         * initscript/Makefile.in
21767                 - Remove
21768
21769         * initscript/Makefile.am
21770                 - Add correct rules to install the init.d initscript
21771
21772         * info-daemon/NetworkManagerInfoDbus.c
21773                 - Remove debug fprintf
21774
21775         * src/NetworkManagerDbus.[ch]
21776                 - Remove debug fprintfs
21777                 - Add macros for NetworkManagerInfo object path/namespace
21778                 - Use said macros instead of constant strings
21779
21780 2004-07-27  Dan Williams <dcbw@redhat.com>
21781
21782         * initscript/.cvsignore
21783                 - Add
21784
21785         * info-daemon/Makefile.am
21786                 - Install .glade files and keyring.png
21787                 - Fix stupid omission of a \ that caused half the flags not to be
21788                         passed to gcc
21789
21790         * info-daemon/NetworkManagerInfo.c
21791                 - gtk_signal_connect->g_signal_connect
21792                 - Alert NetworkManagerInfo to new glade file location
21793
21794 2004-07-27  Dan Williams <dcbw@redhat.com>
21795
21796         * test/nmclienttest.c
21797           test/nminfotest.c
21798                 - Add missing <dbus/dbus.h> headers
21799                 - Add GPL message at top
21800
21801 2004-07-27  Dan Williams <dcbw@redhat.com>
21802
21803         * src/NetworkManagerAPList.[ch]
21804           src/Makefile.am
21805                 - Add.  Deal with allowed network list additions, deletions, and updates
21806
21807         * dispatcher-daemon/NetworkManagerDispatcher.c
21808                 - Add missing <dbus/dbus.h> header
21809
21810         * info-daemon/NetworkManagerInfo.[ch]
21811                 - Add missing <dbus/dbus.h> header
21812                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21813                         network change
21814                 - Better error checking
21815
21816         * info-daemon/NetworkManagerInfoDbus.[ch]
21817                 - Add missing <dbus/dbus.h> header
21818                 - Convert to using dbus_message_append_args/dbus_message_get_args
21819                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21820                         that an allowed network changed.  We don't want to signal on individual
21821                         keys _inside_ an allowed network really, just want NM to query the info
21822                         daemon for updated info on all keys.
21823                 - Better error checking
21824
21825         * src/NetworkManager.[ch]
21826                 - Add missing <dbus/dbus.h> header
21827                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21828                 - Zero out NMData structure on free
21829                 - No longer use a thread for allowed_ap_list updating, instead its now done
21830                         through dbus queries against NetworkManagerInfo
21831                 - Populate allowed_ap_list initially before adding existing network devices
21832                         to the device list, so wireless devices can get their "best" AP
21833
21834         * src/NetworkManagerDbus.[ch]
21835                 - Convert to using dbus_message_append_args/dbus_message_get_args
21836                 - Better error checking
21837                 - Implement Allowed Network info functions to request allowed network
21838                         info from NetworkManagerInfo
21839                 - Implement the filter function to process signals from NetworkManagerInfo
21840                         about changing allowed networks
21841
21842         * src/NetworkManagerDevice.c
21843                 - Fix file descriptor leak in nm_device_update_ip4_address()
21844
21845 2004-07-27  Dan Williams <dcbw@redhat.com>
21846
21847         * .cvsignore
21848           src/.cvsignore
21849           test/.cvsignore
21850           dispatcher-daemon/.cvsignore
21851           info-daemon/.cvsignore
21852                 - Add .cvsignore files to reduce noise when diffing
21853
21854 2004-07-24  Dan Williams <dcbw@redhat.com>
21855
21856         * src/NetworkManager.[ch]
21857           src/NetworkManagerDbus.[ch]
21858           src/NetworkManagerDevice.[ch]
21859           src/NetworkManagerPolicy.c
21860           src/NetworkManagerWireless.[ch]
21861                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21862                 - Pass the NMData application data structure through all calls
21863                         that need it so we can get rid of nm_get_global_data()
21864                 - Change deallocation of the allowed_ap_list GSList in preparation
21865                         for not completely clearing it every time we get an update,
21866                         but instead getting incremental updates via GConf/dbus
21867
21868 2004-07-22  Dan Williams <dcbw@redhat.com>
21869
21870         * configure.in
21871                 - Add checks for GConf libs & headers & flags
21872
21873         * info-daemon/Makefile.am
21874                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21875
21876         * info-daemon/NetworkManagerInfo.[ch]
21877                 - Don't use gquarks for data storage, just use normal data storage
21878                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21879
21880         * info-daemon/NetworkManagerDbus.[ch]
21881                 - Add method call for getting allowed networks
21882                 - Add method calls for getting an allowed network's essid, priority, and key
21883                 - Hook the method calls up to GConf
21884                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21885                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21886                 
21887         * src/NetworkManagerDbus.[ch]
21888                 - Switch for enumeration of networks to using essid instead
21889
21890         * test/Makefile.am
21891           test/nminfotest.c
21892                 - Add test program for NetworkManagerInfo
21893
21894 2004-07-19  Dan Williams <dcbw@redhat.com>
21895
21896         * src/NetworkManagerDbus.c
21897                 - Switch from indexed device paths to names.  Less code, more efficient.
21898                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21899
21900 2004-07-19  Dan Williams <dcbw@redhat.com>
21901
21902         * dispatcher-daemon/NetworkManagerDispatcher.c
21903                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21904
21905 2004-07-19  Dan Williams <dcbw@redhat.com>
21906
21907         * Makefile.am
21908                 - Add info-daemon directory
21909
21910         * configure.in
21911                 - Check for glade libs and headers
21912                 - Add info-daemon directory
21913
21914         * src/NetworkManagerAP.c
21915                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21916                         copied over to the new AP.
21917
21918         * src/NetworkManagerDbus.c
21919           src/NetworkManagerDbus.h
21920                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21921                 - Remove nm_dbus_signal_need_key_for_network()
21922                 - Add disabled code for asynchronous user wep key callbacks
21923                 - Add functions for getting, setting, and cancelling user key operations
21924                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21925                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21926
21927         * src/NetworkManagerDevice.c
21928           src/NetworkManagerDevice.h
21929                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21930                         logic is in device activation now
21931                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21932                         key is wrong) trigger get-user-key pending action
21933                 - Implement get-user-key pending action stuff, tie to dbus messages
21934                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21935                 - Add nm_device_ap_list_get_ap_by_essid()
21936                 - Instead of copying "best" access points, ref them instead so that the key we set
21937                         sticks around
21938
21939         * src/NetworkManagerPolicy.c
21940                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21941                 - Don't cancel pending actions on a device if its the same device as last iteration
21942                 - Only promote pending_device->active_device if activation was successfull
21943
21944         * src/Makefile.am
21945                 - Rename nmclienttest->nmtest
21946
21947         * info-daemon/Makefile.am
21948           info-daemon/NetworkManagerInfo.c
21949           info-daemon/NetworkManagerInfo.h
21950           info-daemon/NetworkManagerInfoDbus.c
21951           info-daemon/NetworkManagerInfoDbus.h
21952           info-daemon/passphrase.glade
21953           info-daemon/NetworkManagerInfo.conf
21954           info-daemon/keyring.png
21955                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21956                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21957                         lists to NetworkManager by proxying user's GConf
21958           
21959
21960 2004-07-15  Dan Williams <dcbw@redhat.com>
21961
21962         * src/Makefile.am
21963                 - Turn on warnings
21964
21965         * src/NetworkManager.c
21966                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21967                         that doing the deactivation ourselves
21968                 - Cancel an pending actions on a device if its being removed
21969                 - Break up link state checking a bit, make non-active wireless cards
21970                         deactivated to save power
21971                 - Remove unused variables
21972
21973         * src/NetworkManager.h
21974                 - Add support for "pending" device
21975
21976         * src/NetworkManagerAP.h
21977           src/NetworkManagerAP.c
21978                 - Add support for determining whether and AP has encryption enabled or not
21979                 - AP address is now "struct ether_addr" rather than a string
21980
21981         * src/NetworkManagerDbus.h
21982           src/NetworkManagerDbus.c
21983                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21984                 - Changes for AP address from struct ether_addr->string
21985
21986         * src/NetworkManagerDevice.h
21987           src/NetworkManagerDevice.c
21988                 - Remove unused variables, fix warnings
21989                 - Add support for Pending Actions (things that block a device from being "active"
21990                         until they are completed).
21991                 - First pending action:  Get a WEP key from the user
21992                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21993                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21994                 - Update wireless link checking to try to determine if the AP we are associated
21995                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21996                         trigger the GetUserKey pending action on the device
21997                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21998                         up in that case, otherwise we can't scan or link-check on it
21999                 - Add IP address change notifications at appropriate points (still needs some work)
22000                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
22001
22002         * src/NetworkManagerPolicy.h
22003           src/NetworkManagerPolicy.c
22004                 - Split out "best" access point determiniation into separate function
22005                 - Make device activation 2-stage:  first the device is pending, then
22006                         in the next iteration through it becomes "active" unless it has
22007                         pending actions
22008
22009         * src/NetworkManagerUtils.h
22010           src/NetworkManagerUtils.c
22011                 - Clean up unused variables and warnings
22012                 - Wrap our debug macros in {} to prevent possible confusion
22013
22014         * src/NetworkManagerWireless.c
22015                 - Forgot to return current best priority, which lead to last available AP always
22016                         being chosen no matter what its priority was.  Corrected.
22017
22018 2004-07-15  Dan Williams <dcbw@redhat.com>
22019
22020         * dispatcher-daemon/Makefile.am
22021                 - Turn on warnings
22022
22023         * dispatcher-daemon/NetworkManagerDispatcher.c
22024                 - Remove unused variables due to warnings
22025                 - Fix some comments
22026                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
22027
22028 2004-07-06  Dan Williams <dcbw@redhat.com>
22029
22030         * src/NetworkManager.c
22031                 - Add IPv4 address update for active device during link state check
22032                 - Don't allow wireless cards to be powered up when they are not the
22033                         active device
22034
22035         * src/NetworkManagerDbus.c
22036           src/NetworkManagerDbus.h
22037                 - Add DBUS IPv4 address change signal
22038                 - Add DBUS IPv4 address get method for devices
22039
22040         * src/NetworkManagerDevice.c
22041                 - Make setting the WEP key actually work
22042                 - Move IP address get/set/update stuff here, per-device
22043                 - Power down/bring down wireless device when deactivated
22044                 - For scanning wireless devices, if first scan returned ENODATA, try again
22045
22046         * src/NetworkManagerPolicy.c
22047                 - Only set the WEP key for an allowed access point if there is one.
22048                         We were setting it to be blank if one wasn't specified.
22049
22050         * src/NetworkManagerUtils.h
22051           src/NetworkManagerUtils.c
22052                 - Move the IP address stuff to NetworkManagerDevice.c
22053
22054         * dispatcher-daemon/NetworkManagerDispatcher.c
22055                 - Add device IPv4 address change notification stuff
22056
22057 2004-07-05  Dan Williams <dcbw@redhat.com>
22058
22059         * dispatcher-daemon/NetworkManagerDispatcher.c
22060                 - A bit more descriptive state message
22061                 - Don't segfault when reading directory
22062
22063         * src/NetworkManager.h
22064                 - Remove NMData desired_ap member, its now
22065                         per-device rather than global
22066
22067         * src/NetworkManager.c
22068                 - Remove references to desired_ap
22069                 - Move the allowed AP list refresh stuff into a thread
22070
22071         * src/NetworkManagerDevice.c
22072           src/NetworkManagerDevice.h
22073                 - Each wireless device now has a "best ap"
22074                 - Make device activate/deactivate functions per-device
22075                 - Make wireless scanning per-device
22076                 - Add IPv4 address discover functions, stub IPv6 ones
22077                 - Move ethernet address validation functions to NetworkManagerUtils.c
22078                 - Add wireless access point accessor function
22079                 - Get/Set functions for "best ap"
22080
22081         * src/NetworkManagerPolicy.c
22082                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22083                 - Deal with per-device "best ap" rather than data->desired_apa
22084                 - Implement allowed access point worker thread
22085                 - Add nm_policy_essid_is_allowed() function
22086
22087         * src/NetworkManagerUtils.c
22088           src/NetworkManagerUtils.h
22089                 - Add nm_ethernet_address_is_valid() function
22090                 - Add IPv4/IPv6 address get functions
22091
22092         * src/NetworkManagerWireless.c
22093           src/NetworkManagerWireless.h
22094                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22095
22096 2004-06-29  Dan Williams <dcbw@redhat.com>
22097
22098         * dispatcher-daemon/NetworkManagerDispatcher.c
22099                 - Implement script callout functionality
22100
22101 2004-06-24  Dan Williams <dcbw@redhat.com>
22102
22103         * NetworkManager.c
22104             - Spacing cleanups
22105             - Flush device routes and ip addresses when added to the device list
22106
22107         * NetworkManagerDbus.c
22108             - Spacing cleanups
22109             - Add missing returns in the two signal functions
22110         
22111         * NetworkManagerPolicy.c
22112             - Spacing and variable cleanups
22113
22114 2004-06-24  Dan Williams <dcbw@redhat.com>
22115
22116         * Makefile.am
22117           Makefile.in
22118           configure.in
22119           dispatcher-daemon/Makefile.am
22120           dispatcher-daemon/Makefile.in
22121           dispatcher-daemon/NetworkManagerDispatcher.c
22122             - Add a daemon that receives signals from NetworkManager
22123                         and will (eventually) call scripts in /etc/somewhere
22124                         when devices go up or down.
22125         
22126         * NetworkManager.c
22127             - Spacing cleanups
22128             - Flush device routes and ip addresses when added to the device list
22129
22130         * NetworkManagerDbus.c
22131             - Spacing cleanups
22132             - Add missing returns in the two signal functions
22133         
22134         * NetworkManagerPolicy.c
22135             - Spacing and variable cleanups
22136             - Rename nm_policy_switch_interface->nm_policy_switch_device
22137             - nm_policy_switch_device():
22138                                 Use kill (pid) instead of system ("kill <pid>")
22139             - nm_state_modification_monitor():
22140                                 Add wireless essid to output of debug statements
22141                                 Correct typo in device compare to switch or not (should be !=)
22142                                 Don't sleep after sending "no longer active" signal, was useless
22143
22144 2004-06-24  Dan Williams <dcbw@redhat.com>
22145
22146         * Initial import