2008-12-09 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-12-09  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/libnm-util.ver
4           libnm-util/nm-setting-ip4-config.c
5           libnm-util/nm-setting-ip4-config.h
6                 - Add 'never-default' property, which when true indicates that a
7                         connection should never be the default connection
8
9         * src/nm-ip4-config.c
10           src/nm-ip4-config.h
11                 - (nm_ip4_config_get_never_default, nm_ip4_config_set_never_default):
12                         Add never-default helpers
13
14         * src/NetworkManagerUtils.c
15                 - (nm_utils_merge_ip4_config): update never-default when merging the
16                         IP4 setting to the IP4 config
17
18         * src/NetworkManagerSystem.c
19                 - (nm_system_apply_ip4_config): if the connection is never-default,
20                         don't add routes without a gateway
21
22         * src/NetworkManagerPolicy.c
23                 - (get_best_device): don't let never-default connections be the best
24                 - (update_routing_and_dns): handle never-default for VPN connections
25
26         * system-settings/plugins/ifcfg-rh/reader.c
27                 - (make_ip4_setting): handle never-default by checking GATEWAYDEV
28
29 2008-12-08  Dan Williams  <dcbw@redhat.com>
30
31         * src/vpn-manager/nm-vpn-connection.c
32                 - (plugin_state_changed): clear secrets before setting the connection
33                         state to FAILED, since doing so may destroy the connection itself,
34                         since the NMVPNService owning this NMVPNConnection will unref it
35                         when the NMVPNConnection is failed or stopped
36
37 2008-12-05  Dan Williams  <dcbw@redhat.com>
38
39         Patch from Michael Biebl  <mbiebl@gmail.com>
40
41         * libnm-glib/Makefile.am
42                 - Bump libnm-glib revision to indicate new API
43                 - Give libnm-util version info
44
45         * libnm-util/Makefile.am
46                 - Bump libnm-util soname to indicate API/ABI break with 0.6
47
48 2008-11-26  Dan Williams  <dcbw@redhat.com>
49
50         * Release NetworkManager 0.7
51
52 2008-11-26  Dan Williams  <dcbw@redhat.com>
53
54         * libnm-glib/nm-settings.c
55           libnm-glib/nm-settings.h
56                 - (nm_exported_connection_delete): rename 'delete' to 'do_delete' to
57                         avoid using C++ reserved keywords in headers
58
59         * libnm-glib/nm-dbus-connection.c
60           system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
61           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
62           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
63           system-settings/plugins/keyfile/nm-keyfile-connection.c
64           system-settings/src/nm-sysconfig-connection.c
65                 - Change 'delete' to 'do_delete'
66
67 2008-11-25  Dan Williams  <dcbw@redhat.com>
68
69         * system-settings/plugins/ifcfg-rh
70                 - Rename 'ifcfg-fedora' to 'ifcfg-rh'; it's not just used on Fedora
71
72         * system-settings/src/main.c
73                 - (load_plugins): transparently handle ifcfg-fedora as ifcfg-rh
74
75 2008-11-25  Dan Williams  <dcbw@redhat.com>
76
77         Patch from Tambet Ingo <tambet@gmail.com>
78
79         Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507)
80
81         * src/nm-netlink-monitor.c
82                 - Remove bits for using a non-default GMainContext, which weren't used
83                 - (nm_netlink_monitor_error_handler): don't leak the GError, and report
84                         the actual error code
85
86         * src/NetworkManager.c
87                 - (nm_error_monitoring_device_link_state): disconnect error handler when
88                         an error flood occurs to avoid pegging the CPU
89
90 2008-11-23  Dan Williams  <dcbw@redhat.com>
91
92         * callouts/nm-dispatcher-action.c
93                 - (construct_envp, nm_dispatcher_action): pass connection UUID to
94                         scripts in the environment
95
96 2008-11-21  Dan Williams  <dcbw@redhat.com>
97
98         Patch from Tambet Ingo  <tambet@gmail.com>
99
100         * configure.in
101           libnm-util/libnm-util.ver
102           libnm-util/nm-setting-8021x.c
103           libnm-util/nm-setting-8021x.h
104                 - Add configure-time option for the system CA path
105                 - Add 'system-ca-certs' option to 802.1x setting, which directs
106                         NetworkManager to use system CA certificates instead of any
107                         connection-defined CA certificates
108
109         * src/supplicant-manager/nm-supplicant-config.c
110           src/supplicant-manager/nm-supplicant-settings-verify.c
111                 - Use system CA certificates if the connection says to do so
112
113 2008-11-21  Dan Williams  <dcbw@redhat.com>
114
115         * src/nm-dbus-manager.c
116           src/nm-dbus-manager.h
117                 - (nm_dbus_manager_get_name_owner): return error
118
119         * src/nm-manager.c
120                 - (impl_manager_activate_connection): perform additional validation on
121                         ActivateConnection calls of user connections
122                 - (is_user_request_authorized): ensure that the requestor is the same
123                         UID as the UID that owns the user settings service; users shouldn't
124                         be able to control another user's connections
125
126 2008-11-21  Dan Williams  <dcbw@redhat.com>
127
128         * gfilemonitor/inotify-sub.c
129                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
130
131 2008-11-21  Tambet Ingo  <tambet@gmail.com>
132
133         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
134         plugin compile again.
135
136 2008-11-20  Dan Williams  <dcbw@redhat.com>
137
138         Patch from Tambet Ingo <tambet@gmail.com>
139
140         * libnm-util/nm-setting.c
141           libnm-util/nm-setting.h
142                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
143                         all the GParamSpec flags of the property
144
145         * system-settings/plugins/keyfile/nm-keyfile-connection.c
146           system-settings/plugins/keyfile/reader.c
147           system-settings/plugins/keyfile/writer.c
148                 - Update for NMSettingValueIterFn change
149
150 2008-11-20  Dan Williams  <dcbw@redhat.com>
151
152         * libnm-util/nm-utils.c
153           libnm-util/nm-utils.h
154                 - More documentation updates
155
156 2008-11-20  Dan Williams  <dcbw@redhat.com>
157
158         * libnm-util/libnm-util.ver
159           libnm-util/nm-utils.c
160           libnm-util/nm-utils.h
161           libnm-util/nm-utils-private.h
162           libnm-util/nm-connection.c
163                 - (nm_utils_register_value_transformations): make private, called
164                         from NMConnection registration anyway
165
166 2008-11-20  Dan Williams  <dcbw@redhat.com>
167
168         * libnm-util/Makefile.am
169           libnm-util/nm-utils-private.h
170                 - New header for internal utils private functions
171
172         * libnm-util/libnm-util.ver
173           libnm-util/nm-utils.c
174           libnm-util/nm-utils.h
175                 - Document some functions
176                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
177                    nm_utils_string_slist_validate): un-export, only used within
178                         libnm-util or of limited use in general, and very easy to
179                         re-implement by apps if needed
180
181         * libnm-util/nm-setting-8021x.c
182           libnm-util/nm-setting-wired.c
183           libnm-util/nm-setting-wireless-security.c
184           libnm-util/nm-setting-wireless.c
185                 - Update for private nm_utils_string_* functions
186
187 2008-11-20  Dan Williams  <dcbw@redhat.com>
188
189         * libnm-util/libnm-util.ver
190           libnm-util/nm-setting.c
191           libnm-util/nm-setting.h
192                 - Add NMSetting errors
193                 - (nm_setting_update_secrets): return errors
194
195         * libnm-util/nm-connection.c
196           libnm-util/nm-connection.h
197                 - (nm_connection_update_secrets): return errors
198
199         * libnm-util/nm-setting-vpn.c
200           src/nm-activation-request.c
201           src/vpn-manager/nm-vpn-connection.c
202                 - Handle update secrets errors
203
204 2008-11-20  Dan Williams  <dcbw@redhat.com>
205
206         * libnm-util/nm-setting.c
207           libnm-util/nm-setting.h
208           libnm-util/libnm-util.ver
209                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
210                         consistent with nm_connection_new_from_hash()
211
212         * src/nm-activation-request.c
213           libnm-util/nm-connection.c
214                 - Handle rename
215
216 2008-11-19  Dan Williams  <dcbw@redhat.com>
217
218         * configure.in
219           Makefile.am
220           docs/libnm-util/Makefile.am
221           docs/libnm-util/libnm-util.types
222                 - Start to document libnm-util
223
224 2008-11-19  Dan Williams  <dcbw@redhat.com>
225
226         * libnm-util/nm-connection.h
227           libnm-util/nm-connection.c
228                 - Document public functions
229
230 2008-11-19  Dan Williams  <dcbw@redhat.com>
231
232         * libnm-util/nm-setting.h
233           libnm-util/nm-setting.c
234           src/nm-device.c
235           src/nm-manager.c
236           system-settings/plugins/ifcfg-fedora/plugin.c
237                 - Prefix compare flag defines with NM_SETTING_
238
239 2008-11-19  Dan Williams  <dcbw@redhat.com>
240
241         * libnm-util/nm-connection.c
242           libnm-util/nm-connection.h
243                 - (nm_connection_replace_settings): take a GError
244
245         * libnm-glib/nm-settings.c
246           libnm-glib/nm-dbus-connection.c
247           src/nm-manager.c
248           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
249           system-settings/plugins/keyfile/nm-keyfile-connection.c
250           system-settings/plugins/keyfile/plugin.c
251                 - Handle, or don't handle, errors from nm_connection_replace_settings()
252
253 2008-11-19  Dan Williams  <dcbw@redhat.com>
254
255         * libnm-util/libnm-util.ver
256           libnm-util/nm-connection.c
257                 - (nm_setting_register, nm_setting_unregister): unexport; they are
258                         private and don't have a use outside libnm-util
259
260 2008-11-17  Dan Williams  <dcbw@redhat.com>
261
262         * src/nm-hso-gsm-device.c
263                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
264                         devices
265
266 2008-11-17  Dan Williams  <dcbw@redhat.com>
267
268         * system-settings/plugins/ifcfg-fedora/reader.c
269                 - (read_mac_address): clean up
270                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
271                         expects
272
273         * system-settings/plugins/ifcfg-fedora/plugin.c
274                 - (read_one_connection): don't segfault on NULL errors
275
276 2008-11-14  Dan Williams  <dcbw@redhat.com>
277
278         * Tag 0.7.0-rc2
279
280 2008-11-14  Dan Williams  <dcbw@redhat.com>
281
282         Handle gateways on different subnets
283
284         * src/NetworkManagerSystem.c
285                 - (add_ip4_route_to_gateway): gateway route should be link scope and
286                         a host route
287                 - (replace_default_ip4_route): use a destination address too; gateway
288                         address should be /0; don't leak the gateway route object
289
290 2008-11-14  Dan Williams  <dcbw@redhat.com>
291
292         * libnm-glib/libnm_glib.ver
293           libnm-glib/nm-dbus-settings-system.c
294           libnm-glib/nm-dbus-settings-system.h
295                 - Add libnm-glib bits for CanModify
296
297 2008-11-14  Dan Williams  <dcbw@redhat.com>
298
299         * introspection/nm-settings-system.xml
300           system-settings/src/dbus-settings.c
301           system-settings/src/dbus-settings.h
302                 - Add a "CanModify" property to indicate if any plugins support
303                         connection modification
304
305 2008-11-14  Dan Williams  <dcbw@redhat.com>
306
307         Relicense libnm-glib to LGPLv2+ with agreement from contributors
308
309 2008-11-14  Dan Williams  <dcbw@redhat.com>
310
311         * vpn-manager/nm-vpn-connection.c
312                 - (plugin_state_changed): clear VPN secrets on error to ensure they
313                         are always requested from the settings service (rh #429287)
314
315 2008-11-13  Dan Williams  <dcbw@redhat.com>
316
317         * libnm-util/crypto.c
318                 - (crypto_get_private_key_data): fix bad initial arg type checking
319                         from pkcs#12 patch
320
321 2008-11-13  Dan Williams  <dcbw@redhat.com>
322
323         Add support for PKCS#12 private keys (bgo #558982)
324
325         * libnm-util/crypto.c
326           libnm-util/crypto.h
327                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
328                         take a GByteArray instead of a filename
329                 - (file_to_g_byte_array): handle private key files too
330                 - (decrypt_key): take a GByteArray rather than data + len
331                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
332                         one function that takes a filename, and one that takes raw data;
333                         detect pkcs#12 files as well
334                 - (crypto_load_and_verify_certificate): detect file type
335                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
336                         functions
337
338         * libnm-util/crypto_gnutls.c
339                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
340                         whereby tail padding was incorrectly handled, leading to erroneous
341                         successes when trying to decrypt the data
342                 - (crypto_verify_cert): rework somewhat
343                 - (crypto_verify_pkcs12): validate pkcs#12 keys
344
345         * libnm-util/crypto_nss.c
346                 - (crypto_init): enable various pkcs#12 ciphers
347                 - (crypto_decrypt): take a GByteArray rather than data + len
348                 - (crypto_verify_cert): clean up
349                 - (crypto_verify_pkcs12): validate pkcs#12 keys
350
351         * libnm-util/test-crypto.c
352                 - Handle pkcs#12 keys
353
354         * libnm-util/nm-setting-8021x.c
355           libnm-util/nm-setting-8021x.h
356           libnm-util/libnm-util.ver
357                 - Add two new properties, 'private-key-password' and
358                         'phase2-private-key-password', to be used in conjunction with
359                         pkcs#12 keys
360                 - (nm_setting_802_1x_set_ca_cert_from_file,
361                    nm_setting_802_1x_set_client_cert_from_file,
362                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
363                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
364                         type
365                 - (nm_setting_802_1x_get_private_key_password,
366                    nm_setting_802_1x_get_phase2_private_key_password): return private
367                         key passwords
368                 - (nm_setting_802_1x_set_private_key_from_file,
369                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
370                         key from a file, and update the private key password at the same time
371                 - (nm_setting_802_1x_get_private_key_type,
372                    nm_setting_802_1x_get_phase2_private_key_type): return the private
373                         key type
374
375         * src/supplicant-manager/nm-supplicant-settings-verify.c
376                 - Whitelist private key passwords
377
378         * src/supplicant-manager/nm-supplicant-config.c
379                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
380                         add the private key password to the supplicant config, but do not
381                         add the client certificate (as required by wpa_supplicant)
382
383 2008-11-12  Tambet Ingo  <tambet@gmail.com>
384
385         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
386         (add_secrets): Don't add empty secrets to the secrets hash table.
387
388 2008-11-07  Dan Williams  <dcbw@redhat.com>
389
390         * libnm-util/nm-setting-wireless.c
391                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
392                         that cased this function to return garbage, breaking hidden AP
393                         detection
394
395 2008-11-07  Dan Williams  <dcbw@redhat.com>
396
397         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
398
399         * src/NetworkManagerSystem.c
400           src/NetworkManagerSystem.h
401                 - (nm_system_device_set_ip4_route): return the route that was added
402                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
403                         public, clean up, and return the route that was added
404                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
405                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
406                         flags to allow only certain attributes of the NMIP4Config to be
407                         applied
408
409         * src/nm-device.c
410                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
411                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
412                         what's really changed between the old and new configs; don't export
413                         the new IP4 config on failure; always send the DNS info to the
414                         named manager
415
416         * src/vpn-manager/nm-vpn-connection.c
417                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
418                         parent device's IP4Config and re-add the VPN gateway route when it
419                         changes
420                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
421                         nm_system_apply_ip4_config() no longer does) and cache it for later
422                 - (connection_state_changed): move cleanup code to its own function
423                 - (vpn_cleanup): delete any previously added VPN gateway route; and
424                         re-apply the parent device's addresses and routes using
425                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
426
427 2008-11-07  Dan Williams  <dcbw@redhat.com>
428
429         * src/nm-ip4-config.c
430           src/nm-ip4-config.h
431                 - (nm_ip4_config_diff): new function; return the difference between two
432                         IP4 configs
433                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
434
435 2008-11-05  Dan Williams  <dcbw@redhat.com>
436
437         * nm-ip4-config.c
438           nm-ip4-config.h
439                 - (nm_ip4_config_compare): compare two IP4 configs
440
441 2008-11-05  Dan Williams  <dcbw@redhat.com>
442
443         * src/NetworkManagerPolicy.c
444                 - (update_etc_hosts): only add newline if not the last line of the file
445                         (Jonathan Miner)
446
447 2008-11-05  Dan Williams  <dcbw@redhat.com>
448
449         * src/dhcp-manager/nm-dhcp-dhclient.c
450                 - (get_leasefile_for_iface): move lease files back to where dhclient
451                         puts them
452
453 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
454
455         * initscripts/Debian/NetworkManager
456                 - Update to what Debian is actually using
457
458 2008-11-05  Tambet Ingo  <tambet@gmail.com>
459
460         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
461
462 2008-11-03  Dan Williams  <dcbw@redhat.com>
463
464         * system-settings/src/main.c
465                 - (add_default_dhcp_connection): make the fallback connection read-only
466
467         * libnm-glib/nm-settings.c
468           libnm-glib/nm-settings.h
469                 - Add detailed errors
470                 - (impl_exported_connection_update, impl_exported_connection_delete):
471                         return an error if the connection is read-only
472
473         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
474           system-settings/plugins/keyfile/nm-keyfile-connection.c
475           system-settings/src/main.c
476                 - Use more detailed errors
477
478         * system-settings/src/nm-system-config-error.c
479           system-settings/src/nm-system-config-error.h
480           system-settings/src/dbus-settings.c
481                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
482                         NM_SETTINGS_ERROR_INVALID_CONNECTION
483
484 2008-11-02  Dan Williams  <dcbw@redhat.com>
485
486         * Add license headers to everything in src/
487
488 2008-11-02  Dan Williams  <dcbw@redhat.com>
489
490         * Tag 0.7.0-rc1
491
492 2008-11-02  Dan Williams  <dcbw@redhat.com>
493
494         * src/NetworkManagerAP.c
495                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
496                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
497                         secrets when connecting to an encrypted network failed
498
499 2008-10-30  Dan Williams  <dcbw@redhat.com>
500
501         * libnm-util/libnm-util.ver
502           libnm-util/nm-setting-ip6-config.c
503           libnm-util/nm-setting-ip6-config.h
504           libnm-util/Makefile.am
505                 - Make properties private and add accessor functions
506                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
507
508         * libnm-util/nm-connection.c
509           libnm-util/nm-utils.c
510           libnm-util/nm-utils.h
511                 - Ignore IPv6 stuff for now
512
513 2008-10-30  Dan Williams  <dcbw@redhat.com>
514
515         * libnm-util/libnm-util.ver
516           libnm-util/nm-setting-8021x.c
517           libnm-util/nm-setting-8021x.h
518                 - Make properties private and add accessor functions
519
520         * src/supplicant-manager/nm-supplicant-config.c
521           system-settings/plugins/ifcfg-suse/parser.c
522                 - Use 802.1x setting accessors
523
524 2008-10-30  Dan Williams  <dcbw@redhat.com>
525
526         * libnm-util/libnm-util.ver
527           libnm-util/nm-setting-wireless-security.c
528           libnm-util/nm-setting-wireless-security.h
529                 - Make properties private and add accessor functions
530
531         * libnm-util/nm-setting-wireless.c
532           src/NetworkManagerAP.c
533           src/nm-device-wifi.c
534           src/supplicant-manager/nm-supplicant-config.c
535           system-settings/plugins/ifcfg-fedora/reader.c
536           system-settings/plugins/ifcfg-suse/parser.c
537                 - Use wireless security accessors
538
539 2008-10-30  Dan Williams  <dcbw@redhat.com>
540
541         * src/nm-device-ethernet.c
542           src/nm-device-wifi.c
543           src/nm-device.c
544           src/ppp-manager/nm-ppp-manager.c
545                 - Harmonize return checking of ioctl
546
547         * system-settings/plugins/ifcfg-fedora/reader.c
548                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
549
550 2008-10-30  Dan Williams  <dcbw@redhat.com>
551
552         * src/ppp-manager/nm-ppp-manager.c
553                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
554                         ppp_generic module to create it (bgo #533064)
555
556 2008-10-30  Dan Williams  <dcbw@redhat.com>
557
558         Patch from Alexander Sack <asac@canonical.com>
559
560         Fix "ppp connections don't honour ip4 connection settings"
561
562         * src/nm-device-ethernet.c
563                 - (real_act_stage4_get_ip4_config): merge ip4config settings
564                         with results from ppp manager
565
566         * src/nm-serial-device.c
567                 - (real_act_stage4_get_ip4_config): merge ip4config settings
568                         with results from ppp manager
569
570 2008-10-29  Dan Williams  <dcbw@redhat.com>
571
572         * libnm-util/libnm-util.ver
573           libnm-util/nm-setting-ip4-config.c
574           libnm-util/nm-setting-ip4-config.h
575                 - Make properties private and add accessor functions
576
577         * callouts/nm-dispatcher-action.c
578           libnm-glib/libnm-glib-test.c
579           libnm-util/nm-utils.c
580           src/NetworkManagerPolicy.c
581           src/NetworkManagerSystem.c
582           src/NetworkManagerUtils.c
583           src/dhcp-manager/nm-dhcp-dhclient.c
584           src/dhcp-manager/nm-dhcp-manager.c
585           src/dnsmasq-manager/nm-dnsmasq-manager.c
586           src/nm-device-wifi.c
587           src/nm-device.c
588           src/nm-hso-gsm-device.c
589           src/nm-ip4-config.c
590           src/nm-ip4-config.h
591           src/ppp-manager/nm-ppp-manager.c
592           src/vpn-manager/nm-vpn-connection.c
593           system-settings/plugins/ifcfg-fedora/reader.c
594           system-settings/plugins/ifcfg-suse/parser.c
595           system-settings/plugins/ifcfg-suse/plugin.c
596           system-settings/plugins/ifupdown/parser.c
597           test/nm-tool.c
598           vpn-daemons/vpnc/properties/nm-vpnc.c
599                 - Use IP4 accessor functions
600
601 2008-10-29  Tambet Ingo  <tambet@gmail.com>
602
603         Half of it by Dan Williams <dcbw@redhat.com>
604
605         * libnm-util/libnm-util.ver
606         libnm-util/nm-setting-vpn.c
607         libnm-util/nm-setting-vpn.h
608                 - Make properties private and add accessor functions.
609
610         * src/vpn-manager/nm-vpn-connection.c
611         src/vpn-manager/nm-vpn-manager.c
612         system-settings/plugins/keyfile/reader.c
613         vpn-daemons/openvpn/properties/auth-helpers.c
614         vpn-daemons/openvpn/properties/import-export.c
615         vpn-daemons/openvpn/properties/nm-openvpn.c
616         vpn-daemons/openvpn/src/nm-openvpn-service.c
617         vpn-daemons/pptp/auth-dialog/main.c
618         vpn-daemons/pptp/properties/advanced-dialog.c
619         vpn-daemons/pptp/properties/nm-pptp.c
620         vpn-daemons/pptp/src/nm-pptp-service.c
621         vpn-daemons/vpnc/properties/nm-vpnc.c
622         vpn-daemons/vpnc/src/nm-vpnc-service.c
623                 - Use VPN setting accessors.
624
625 2008-10-28  Dan Williams  <dcbw@redhat.com>
626
627         Patch from Tambet Ingo <tambet@gmail.com>
628
629         * libnm-util/libnm-util.ver
630           libnm-util/nm-setting-wireless.c
631           libnm-util/nm-setting-wireless.h
632                 - Make properties private and add accessor functions
633
634         * src/NetworkManagerAP.c
635           src/nm-device-wifi.c
636           src/nm-manager.c
637           src/supplicant-manager/nm-supplicant-config.c
638           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
639           system-settings/plugins/ifcfg-fedora/reader.c
640           system-settings/plugins/ifcfg-suse/parser.c
641           system-settings/plugins/ifupdown/parser.c
642                 - Use wireless setting accessors
643
644 2008-10-27  Dan Williams  <dcbw@redhat.com>
645
646         Patch from Tambet Ingo <tambet@gmail.com>
647
648         * libnm-util/libnm-util.ver
649           libnm-util/nm-setting-ppp.c
650           libnm-util/nm-setting-ppp.h
651                 - Make properties private and add accessor functions
652
653         * src/ppp-manager/nm-ppp-manager.c
654                 - Use ppp setting accessors
655
656 2008-10-27  Dan Williams  <dcbw@redhat.com>
657
658         Patch from Tambet Ingo <tambet@gmail.com>
659
660         * libnm-util/nm-setting.h
661           libnm-util/nm-setting.c
662                 - Make properties private and add accessor functions
663
664         * libnm-util/nm-connection.c
665           libnm-util/nm-setting-8021x.c
666           libnm-util/nm-setting-cdma.c
667           libnm-util/nm-setting-connection.c
668           libnm-util/nm-setting-gsm.c
669           libnm-util/nm-setting-ip4-config.c
670           libnm-util/nm-setting-ip6-config.c
671           libnm-util/nm-setting-ppp.c
672           libnm-util/nm-setting-pppoe.c
673           libnm-util/nm-setting-serial.c
674           libnm-util/nm-setting-template.c
675           libnm-util/nm-setting-vpn.c
676           libnm-util/nm-setting-wired.c
677           libnm-util/nm-setting-wireless-security.c
678           libnm-util/nm-setting-wireless.c
679           system-settings/plugins/keyfile/reader.c
680           system-settings/plugins/keyfile/writer.c
681                 - Use setting accessors
682
683 2008-10-27  Dan Williams  <dcbw@redhat.com>
684
685         * libnm-util/libnm-util.ver
686           libnm-util/nm-setting-connection.c
687           libnm-util/nm-setting-connection.h
688                 - Add a 'read-only' property that indicates the connection cannot be
689                         modified
690
691         * system-settings/plugins/ifcfg-fedora/reader.c
692           system-settings/plugins/ifcfg-suse/parser.c
693           system-settings/plugins/ifupdown/parser.c
694                 - These plugins are read-only at the moment
695
696         * system-settings/plugins/keyfile/reader.c
697           system-settings/plugins/keyfile/writer.c
698                 - Read-only shouldn't get saved out to files or read in from them
699
700 2008-10-27  Tambet Ingo  <tambet@gmail.com>
701
702         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
703         correct speed reporting for fast devices (kernel >= 2.6.27).
704
705 2008-10-26  Dan Williams  <dcbw@redhat.com>
706
707         Attempt to compensate for modems that don't enable full AT parsing before
708         the PIN has been entered.
709
710         * src/nm-gsm-device.c
711                 - (init_modem): accept different init strings
712                 - (init_done): try different init strings on failure
713                 - (check_pin_done): on PIN success, do full modem init
714
715 2008-10-26  Dan Williams  <dcbw@redhat.com>
716
717         Patch from Tambet Ingo <tambet@gmail.com>
718
719         * libnm-util/libnm-util.ver
720           libnm-util/nm-setting-connection.c
721           libnm-util/nm-setting-connection.h
722                 - Make properties private and add accessor functions
723
724         * src/NetworkManagerPolicy.c
725           src/nm-cdma-device.c
726           src/nm-device-ethernet.c
727           src/nm-device-interface.c
728           src/nm-device-wifi.c
729           src/nm-gsm-device.c
730           src/nm-manager.c
731           src/ppp-manager/nm-ppp-manager.c
732           src/vpn-manager/nm-vpn-connection.c
733           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
734           system-settings/plugins/ifcfg-fedora/plugin.c
735           system-settings/plugins/ifcfg-fedora/reader.c
736           system-settings/plugins/ifcfg-suse/parser.c
737           system-settings/plugins/ifupdown/parser.c
738           system-settings/plugins/keyfile/nm-keyfile-connection.c
739           system-settings/plugins/keyfile/plugin.c
740           system-settings/plugins/keyfile/writer.c
741           system-settings/src/main.c
742                 - Use those accessors
743
744 2008-10-26  Dan Williams  <dcbw@redhat.com>
745
746         Patch from Tambet Ingo <tambet@gmail.com>
747
748         * libnm-util/libnm-util.ver
749           libnm-util/nm-setting-gsm.c
750           libnm-util/nm-setting-gsm.h
751                 - Make properties private and add accessor functions
752
753         * src/nm-gsm-device.c
754           src/nm-hso-gsm-device.c
755           src/ppp-manager/nm-ppp-manager.c
756                 - Use those accessors
757
758 2008-10-26  Dan Williams  <dcbw@redhat.com>
759
760         Patch from Tambet Ingo <tambet@gmail.com>
761
762         * libnm-util/libnm-util.ver
763           libnm-util/nm-setting-cdma.c
764           libnm-util/nm-setting-cdma.h
765                 - Make properties private and add accessor functions
766
767         * src/nm-cdma-device.c
768           src/ppp-manager/nm-ppp-manager.c
769                 - Use those accessors
770
771 2008-10-26  Dan Williams  <dcbw@redhat.com>
772
773         Patch from Tambet Ingo <tambet@gmail.com>
774
775         * libnm-util/libnm-util.ver
776           libnm-util/nm-setting-pppoe.c
777           libnm-util/nm-setting-pppoe.h
778                 - Make properties private and add accessor functions
779
780         * src/nm-device-ethernet.c
781           src/ppp-manager/nm-ppp-manager.c
782                 - Use those accessors
783
784 2008-10-26  Dan Williams  <dcbw@redhat.com>
785
786         Patch from Tambet Ingo <tambet@gmail.com>
787
788         * libnm-util/libnm-util.ver
789           libnm-util/nm-setting-wired.c
790           libnm-util/nm-setting-wired.h
791                 - Make properties private and add accessor functions
792
793         * src/nm-device-ethernet.c
794           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
795           system-settings/plugins/ifcfg-suse/parser.c
796           system-settings/src/main.c
797                 - Use those accessors
798
799 2008-10-26  Dan Williams  <dcbw@redhat.com>
800
801         Patch from Tambet Ingo <tambet@gmail.com>
802
803         * libnm-util/libnm-util.ver
804           libnm-util/nm-setting-serial.c
805           libnm-util/nm-setting-serial.h
806           src/nm-serial-device.c
807                 - Make properties private and use accessors instead
808
809 2008-10-26  Dan Williams  <dcbw@redhat.com>
810
811         * src/supplicant-manager/nm-supplicant-interface.c
812           src/supplicant-manager/nm-supplicant-interface.h
813           src/supplicant-manager/nm-supplicant-manager.c
814           src/supplicant-manager/nm-supplicant-manager.h
815                 - Add state-to-string conversion functions
816
817         * src/nm-device-wifi.c
818           src/nm-device-ethernet.c
819                 - Normalize state info logging and use strings instead of numbers
820
821 2008-10-26  Dan Williams  <dcbw@redhat.com>
822
823         * src/NetworkManagerPolicy.c
824                 - (update_routing_and_dns): ignore host routes when determining whether
825                         a VPN connection should own the default route (bgo #552594)
826
827 2008-10-24  Dan Williams  <dcbw@redhat.com>
828
829         * src/nm-gsm-device.c
830                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
831
832 2008-10-23  Dan Williams  <dcbw@redhat.com>
833
834         * src/ppp-manager/nm-ppp-manager.c
835                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
836                         add really important stuff to the command line to ensure that NM
837                         overrides /etc/ppp/options (bgo #556781)
838
839 2008-10-22  Dan Williams  <dcbw@redhat.com>
840
841         * src/NetworkManagerSystem.c
842           src/nm-device.c
843                 - Use the device's IP interface where appropriate (Per Hallsmark)
844
845 2008-10-22  Dan Williams  <dcbw@redhat.com>
846
847         * src/nm-gsm-device.c
848                 - (schedule_automatic_registration_again): use a short timeout here
849                         instead of an idle handler to avoid using too much CPU polling for
850                         something we should be waiting a bit for anyway
851
852 2008-10-22  Dan Williams  <dcbw@redhat.com>
853
854         * include/NetworkManager.h
855           introspection/nm-device.xml
856                 - Add device state change reason for carrier changes
857
858         * src/nm-device-ethernet.c
859                 - (set_carrier): use the carrier change reason when changing device
860                         state in response to carrier changes
861
862 2008-10-21  Dan Williams  <dcbw@redhat.com>
863
864         * src/NetworkManagerPolicy.c
865                 - (update_etc_hosts): don't leak errors, and ensure that
866                         g_file_set_contents() gets a valid error placeholder (rh #461933)
867
868 2008-10-21  Dan Williams  <dcbw@redhat.com>
869
870         * src/nm-manager.c
871                 - (free_get_settings_info): don't use the DBusGProxy which could be
872                         disposed of by the time the function is called
873                 - (internal_new_connection_cb): save connection scope
874                 - (connection_get_settings_cb): don't replace a connection unless it's
875                         actually different from the existing one; fixes an issue where
876                         killing the settings service wouldn't deactivate an active connection
877                         provided by that settings service, because it was using a connection
878                         that had already been replaced in the system or user hash
879
880 2008-10-21  Dan Williams  <dcbw@redhat.com>
881
882         * src/NetworkManager.c
883                 - (main): keep the DHCP manager around since it's a singleton; fixes
884                         a use-after-free exposed by r4196 since the DHCP manager singleton
885                         variable isn't cleared when the DHCP manager object is finalized
886
887 2008-10-20  Dan Williams  <dcbw@redhat.com>
888
889         * libnm-util/nm-setting-wireless-security.c
890                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
891
892 2008-10-20  Dan Williams  <dcbw@redhat.com>
893
894         * src/supplicant-manager/nm-supplicant-config.c
895                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
896
897 2008-10-20  Dan Williams  <dcbw@redhat.com>
898
899         * src/dhcp-manager/nm-dhcp-manager.c
900                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
901                         manager object already refs it once
902                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
903                         also get cleaned up by nm_dhcp_device_destroy() to prevent
904                         double-frees
905
906 2008-10-20  Dan Williams  <dcbw@redhat.com>
907
908         * src/nm-manager.c
909                 - (initial_get_connections): use private dbus manager, don't keep
910                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
911                         manager object.
912
913 2008-10-18  Dan Williams  <dcbw@redhat.com>
914
915         * libnm-glib/nm-settings.c
916           libnm-glib/nm-settings.h
917                 - Rename the "get_secrets" virtual function "service_get_secrets" to
918                         clarify when it's used; NMExportedConnetion is a base-class for both
919                         the client and service side, which is sort of confusing, and
920                         get_secrets only makes sense on the service side.
921
922         * libnm-glib/nm-dbus-connection.c
923                 - (get_secrets): remove, unused, and clients need to do extra work to
924                         get secrets anyway since the call can block on the remote side
925
926         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
927           system-settings/plugins/keyfile/nm-keyfile-connection.c
928                 - Fix up for get_secrets -> service_get_secrets
929
930 2008-10-16  Dan Williams  <dcbw@redhat.com>
931
932         * src/nm-device-wifi.c
933                 - (constructor): correctly determine encryption capabilities
934
935 2008-10-15  Dan Williams  <dcbw@redhat.com>
936
937         * src/nm-device-wifi.c
938                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
939                         (Johannes Berg)
940
941 2008-10-15  Dan Williams  <dcbw@redhat.com>
942
943         * src/NetworkManagerSystem.c
944                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
945                         if the ip4_dest is in a smaller subnet contained within a subnet
946                         the machine is currently on, the destination is in the same subnet
947                 - (nm_system_device_set_ip4_route): move subnet checks to callers
948                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
949                         subnet as the parent device, and if so, don't add the direct
950                         host route via the parent device's gateway (bgo #481620)
951                 - (nm_system_apply_ip4_config): check whether the route to be added
952                         is contained within a subnet the device is already on
953
954 2008-10-11  Dan Williams  <dcbw@redhat.com>
955
956         * include/NetworkManager.h
957           introspection/nm-device.xml
958           include/NetworkManagerVPN.h
959                 - Add a few more state reasons for the device deactivated state
960
961         * src/nm-device-interface.c
962           src/nm-device-interface.h
963                 - (nm_device_interface_deactivate): add a 'reason' argument
964
965         * src/nm-device.c
966           src/nm-device.h
967                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
968                 - (nm_device_state_changed): pass the state change reason to
969                         nm_device_take_down()
970                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
971                         to the state change function
972
973         * src/nm-manager.c
974           src/nm-manager.h
975                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
976                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
977                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
978                         something reasonable along to VPN deactivation
979
980         * src/vpn-manager/nm-vpn-manager.c
981           src/vpn-manager/nm-vpn-manager.h
982                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
983                         pass that along to nm_vpn_connection_disconnect()
984
985 2008-10-11  Dan Williams  <dcbw@redhat.com>
986
987         * src/nm-device-wifi.c
988                 - (can_scan): remove old madwifi hack for not scanning while connected
989
990 2008-10-11  Dan Williams  <dcbw@redhat.com>
991
992         Add support for VPN subnet gateways (bgo #549196)
993
994         * include/NetworkManager.h
995                 - Add key for internal VPN subnet gateway
996
997         * src/vpn-manager/nm-vpn-connection.c
998                 - (ip_address_to_string): return a const from a static buffer so we
999                         don't leak a lot of strings
1000                 - (print_vpn_config): print internal VPN gateway as well
1001                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
1002                         VPN service too
1003                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
1004
1005         * src/NetworkManagerSystem.c
1006           src/NetworkManagerSystem.h
1007                 - (nm_system_device_replace_default_ip4_route): split into two, one for
1008                         VPN connections and one for normal devices
1009                 - (replace_default_ip4_route): break out route stuff into its own function
1010                 - (nm_system_replace_default_ip4_route_vpn,
1011                    nm_system_replace_default_ip4_route): simplify by having two cases,
1012                         one for VPNs and one for normal devices
1013
1014         * src/NetworkManagerPolicy.c
1015                 - (update_routing_and_dns): simplify, use split default route replacement
1016                         functions
1017
1018 2008-10-10  Dan Williams  <dcbw@redhat.com>
1019
1020         Rework default route handling to consolidate decisions in the policy,
1021         and to take active VPN connections into account when changing the default
1022         route (bgo #545912)
1023
1024         * src/NetworkManager.c
1025                 - (main): pass the vpn_manager to the policy so it knows about active
1026                         VPN connections; clean up the named manager which wasn't done before
1027
1028         * src/NetworkManagerPolicy.c
1029           src/NetworkManagerPolicy.h
1030                 - (nm_policy_new): get a clue about the vpn_manager
1031                 - (update_default_route): remove, fold into update_routing_and_dns()
1032                 - (update_routing_and_dns): handle active VPN connections too; an
1033                         active VPN connection becomes the default route if it does not have
1034                         server-specified or user-specified custom routes.  Otherwise, the
1035                         best active device gets the default route
1036                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
1037                    nm_policy_destroy): track VPN connection activation and deactivation
1038                         and update the default route when appropriate
1039
1040         * src/NetworkManagerSystem.c
1041           src/NetworkManagerSystem.h
1042                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
1043                         in the VPN connection itself
1044                 - (nm_system_vpn_device_set_from_ip4_config,
1045                    nm_system_device_set_from_ip4_config): merge together to make
1046                         nm_system_apply_ip4_config()
1047                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
1048                         via the parent device
1049                 - (nm_system_apply_ip4_config): simplify
1050                 - (add_ip4_route_to_gateway): new function; add a direct route to the
1051                         gateway if needed
1052                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
1053                         route stuff out into add_ip4_route_to_gateway() for clarity
1054
1055         * src/nm-device.c
1056                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
1057
1058         * src/vpn-manager/nm-vpn-connection.c
1059           src/vpn-manager/nm-vpn-connection.h
1060                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
1061                    nm_vpn_connection_get_parent_device): add
1062                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
1063                         device explicit
1064                 - (connection_state_changed): update the named manager now that
1065                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
1066                         useful on errors
1067
1068         * src/vpn-manager/nm-vpn-manager.c
1069           src/vpn-manager/nm-vpn-manager.h
1070                 - Add a 'connection-activated' signal
1071                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
1072                         policy to find out about active VPN connections
1073
1074 2008-10-10  Tambet Ingo  <tambet@gmail.com>
1075
1076         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
1077         a daemon to prevent NM logging spew on console on startup and shutdown (due
1078         to dependency loop between NM and syslog).
1079
1080 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1081
1082         Implement managed mode. We bind devices configured in /etc/network/interfaces
1083         to their connections by updating wired/wireless setting with the
1084         mac address of the device.
1085
1086         * system-settings/plugins/ifupdown/plugin.c
1087                 - (get_net_address_for_udi): implement function to retrieve MAC
1088                         address of udi from hal in GByteArray format
1089                 - (bind_device_to_connection): bind mac address of device to
1090                         wired/wireless system connection
1091                 - (hal_device_added_cb): call bind_device_to_connection for
1092                         system connections with a matching interface.name
1093                 - (hal_device_added_cb): ensure that all code paths
1094                         properly free the "iface" string.
1095
1096 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1097
1098         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
1099         mode of the ifupdown system config plugin.
1100
1101         * system-settings/plugins/ifupdown/plugin.c
1102                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
1103                         private unmanage_well_known state field accordingly
1104
1105 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1106
1107         Implement unmanaged mode that will prevent all devices in the
1108         well_known_udis set from being touched by NetworkManager
1109
1110         * system-settings/plugins/ifupdown/plugin.c
1111                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1112                         unmanage_well_known field used to turn on/off unmanaged
1113                         mode
1114                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1115                         signal when well_known_udis get added/removed
1116                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1117                         if we are in unmanaged mode
1118
1119 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1120
1121         Add support to track network devices that have a configuration
1122         with a matching interface.name in /etc/network/interfaces
1123
1124         * system-settings/plugins/ifupdown/plugin.c
1125                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1126                         to track |well_known_udis|
1127                 - (get_iface_for_udi): helper function to get interface.name
1128                         for a udi
1129                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1130                         that add and remove devices to and from the well_known_udis
1131                         set depending on whether their |interface.name| matches
1132                         any interface definition in /etc/network/interfaces
1133                 - (SCPluginIfupdown_init): connect callbacks from above with
1134                         hal_mgr and setup well_known_udis hashtable
1135                 - (GObject__dispose): destroy well_known_udis hashtable
1136                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1137                         signature. user_data is supposed to be a triple (hal_mgr,
1138                         config and devtype)
1139                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1140                         startup and call hal_device_added_cb2
1141
1142 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1143
1144         Remove implementation for not used NMSystemConfigInterface callback functions
1145         in ifupdown plugin
1146
1147         * system-settings/plugins/ifupdown/plugin.c
1148                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1149                 - (SCPluginIfupdown_connection_added): removed
1150
1151 2008-10-08  Dan Williams  <dcbw@redhat.com>
1152
1153         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1154
1155         * src/NetworkManagerUtils.c
1156                 - (nm_utils_call_dispatcher): add a 'hostname' action
1157
1158         * src/NetworkManagerPolicy.c
1159                 - (set_system_hostname): dispatch hostname changes
1160
1161         * callouts/nm-dispatcher-action.c
1162                 - (nm_dispatcher_action): handle 'hostname' actions
1163
1164 2008-10-08  Dan Williams  <dcbw@redhat.com>
1165
1166         * src/NetworkManagerSystem.c
1167                 - (find_route): ref the route so it doesn't get destroyed when the cache
1168                         is cleared
1169                 - (nm_system_device_set_priority): unref the route here after it's done
1170                         being used
1171
1172 2008-10-08  Dan Williams  <dcbw@redhat.com>
1173
1174         * src/nm-serial-device.c
1175                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1176
1177 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1178
1179         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1180         connection with new settings before saving it.
1181
1182 2008-10-06  Dan Williams  <dcbw@redhat.com>
1183
1184         * src/nm-ip4-config.c
1185           src/nm-ip4-config.h
1186                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1187
1188         * src/nm-device-interface.c
1189                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1190                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1191                         by using '/' for the object path
1192
1193         * src/nm-device.c
1194                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1195                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1196                         dbus handle NULL object paths
1197
1198 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1199
1200         Implement system hostname support for debian/ubuntu
1201
1202         * system-settings/plugins/ifupdown/plugin.c
1203                 - (GObject__get_property): extend announced capabilities; add
1204                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1205                 - (GObject__set_property,write_system_hostname): implement
1206                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1207                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1208                    update_system_hostname, get_hostname):
1209                         implement hostname property that watches and
1210                         parses /etc/hostname
1211
1212 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1213
1214         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1215           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1216           system-settings/plugins/ifcfg-fedora/Makefile.am
1217           system-settings/src/nm-inotify-helper.c
1218           system-settings/src/nm-inotify-helper.h
1219           src/Makefile.am
1220                 - Move ifcfg-fedora inotify helpers to the system settings service so
1221                         they are available to all plugins
1222
1223 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1224
1225         Implement support for wep-tx-keyidx in ifupdown system
1226         config plugin.
1227
1228         * system-settings/plugins/ifupdown/parser.c
1229                 - (update_wireless_security_setting_from_if_block): introduce
1230                         free_type_mapping func table; rename a few local
1231                         variables to improve readability; add wpa security mapping
1232                         for wep-tx-keyidx property
1233                 - (string_to_gpointerint): new function used for the auto_type_mapping
1234                         of new wep-tx-keyidx property
1235                 - (slist_free_all): free func used for mapped slist types
1236
1237 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1238
1239         * system-settings/src/main.c:
1240                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1241                         always used as the hash key; fixes a crash when removing wired
1242                         devices
1243
1244 2008-10-02  Dan Williams  <dcbw@redhat.com>
1245
1246         * src/nm-gsm-device.c
1247                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1248                         pass the required GSM secret along via user_data rather than keeping
1249                         it around in the private data where it sometimes didn't get cleared
1250                 - (real_get_ppp_name): implement using the GSM username
1251
1252 2008-10-02  Dan Williams  <dcbw@redhat.com>
1253
1254         * src/ppp-manager/nm-ppp-manager.c
1255           src/ppp-manager/nm-ppp-manager.h
1256                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1257                         the settings daemon for completely new ones
1258                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1259                         local PPP peer name; allow PPP debuging by launching NM with
1260                         the environment variable NM_PPP_DEBUG defined
1261                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1262                         create_pppd_cmd_line()
1263
1264         * src/nm-serial-device.c
1265           src/nm-serial-device.h
1266                 - New 'get_ppp_name' function for subclasses to implement to return the
1267                         local PPP peer name
1268                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1269                         and pass that name to the PPP manager
1270
1271         * src/nm-device-ethernet.c
1272                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1273                         the local peer name
1274
1275         * src/nm-cdma-device.c
1276                 - (real_get_ppp_name): implement using the CDMA username
1277
1278 2008-10-02  Dan Williams  <dcbw@redhat.com>
1279
1280         Patch from Alexander Sack <asac ubuntu com>
1281
1282         * system-settings/plugins/ifupdown/parser.c
1283                 - Implement more graceful ip4 config parsing for cases where
1284                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1285                   by using default values
1286
1287 2008-10-02  Dan Williams  <dcbw@redhat.com>
1288
1289         * src/NetworkManagerPolicy.c
1290                 - (device_state_changed): when marking a connection invalid, clear its
1291                         secrets too so that fresh secrets get requested the next time
1292
1293 2008-10-01  Dan Williams  <dcbw@redhat.com>
1294
1295         * system-settings/src/dbus-settings.c
1296                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1297                         a fallback if no plugin provides a hostname
1298                 - (get_property): fall back to cached hostname if no plugin provides
1299                         a hostname
1300
1301 2008-10-01  Dan Williams  <dcbw@redhat.com>
1302
1303         Fix setting value comparison issue that caused some settings to look the
1304         same when they were really different (rh #464417)
1305
1306         * libnm-util/nm-param-spec-specialized.c
1307                 - (type_is_fixed_size): return fundamental size of the fixed type too
1308                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1309                         in the comparison so that the _entire_ fixed type collection gets
1310                         compared rather than just the first 'len1' bytes
1311
1312 2008-09-30  Dan Williams  <dcbw@redhat.com>
1313
1314         * src/NetworkManagerPolicy.c
1315                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1316                         idle handler could have already run and freed the LookupThread
1317                         structure
1318
1319 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1320
1321         * src/nm-device.c (nm_device_get_priority): Implement.
1322         (nm_device_set_ip4_config): Send the device priority to system ip4 
1323         config setter.
1324
1325         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1326         Add priority argument and if it's >= 0, set the priority of the network
1327         route added automatically by netlink (or kernel?).
1328         (nm_system_device_set_priority): Implement.
1329
1330         * src/NetworkManagerPolicy.c (get_best_device): Use 
1331         nm_device_get_priority() instead of home-grown version. Revert the
1332         meaning, best priority is the lowest one.
1333
1334 2008-09-29  Dan Williams  <dcbw@redhat.com>
1335
1336         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1337         when it returns EAGAIN (rh #362421)
1338
1339         * src/nm-device-wifi.c
1340                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1341                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1342
1343 2008-09-28  Dan Williams  <dcbw@redhat.com>
1344
1345         * src/nm-serial-device.c
1346           src/nm-serial-device.h
1347                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1348                         cleaned at the right times when subclasses close the serial port too
1349                 - (nm_serial_device_send_command): use a default send delay; don't
1350                         spin forever on EAGAIN
1351                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1352                         remove, no longer used
1353                 - (find_response): return the matched response if any
1354                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1355                         while doing so
1356                 - (wait_for_reply_done): pass the matched response to the callback
1357                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1358                         handling
1359                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1360                         const since they never get modified
1361                 - (cleanup_device): split out common cleanup stuff to a new function
1362                 - (real_deactivate_quickly, finalize): use cleanup_device()
1363
1364         * src/nm-gsm-device.c
1365                 - (modem_get_reply): remove, unused
1366                 - (set_apn): give the card a bit more time to respond
1367                 - (manual_registration_again, schedule_manual_registration_again,
1368                    manual_registration_response, manual_registration): handle manual
1369                         registration timeouts better by retrying registration a few times
1370                         because cards are a bit slow after CFUN=1
1371                 - (automatic_registration_get_network, get_network_response): use
1372                         modem_wait_for_reply() because it interacts better with the serial
1373                         buffer and does more intelligent matching; need to wait for 'OK'
1374                         rather than just matching terminators
1375                 - (schedule_automatic_registration_again,
1376                    automatic_registration_response, automatic_registration): retry
1377                         registration a few times on timeout or "searching" because cards
1378                         take a bit to find a network after being powered up with CFUN=1
1379                 - (power_up_response, power_up, init_full_done, enter_pin,
1380                    check_pin_done): power up the card with CFUN=1 before trying to
1381                         register with the network
1382                 - (init_modem_full, init_modem): use more standard 3G init strings
1383
1384         * src/nm-hso-gsm-device.c
1385                 - (modem_get_reply): remove, unused
1386                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1387                         modem_wait_for_reply() to match actual responses instead of single
1388                         termination characters; it doesn't leave stuff in the serial buffer
1389                         that might confuse later calls
1390                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1391                         to ensure that the call is really disconnected and not leave extra
1392                         stuff in the serial buffer
1393
1394         * src/nm-cdma-device.c
1395                 - (power_up_response, power_up, init_done): try Sierra-style modem
1396                         power up before attempting to connect
1397
1398 2008-09-27  Dan Williams  <dcbw@redhat.com>
1399
1400         * libnm-util/nm-setting-gsm.c
1401                 - (verify): verify GSM network ID
1402
1403 2008-09-25  Dan Williams  <dcbw@redhat.com>
1404
1405         * libnm-util/nm-setting-gsm.c
1406           libnm-util/nm-setting-gsm.h
1407                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1408                         technology terms (bgo #551361)
1409
1410 2008-09-25  Dan Williams  <dcbw@redhat.com>
1411
1412         Fix bgo #549401 (inspired by patch from Alexander Sack)
1413
1414         * src/nm-device-ethernet.c
1415                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1416                 - (remove_supplicant_interface_error_handler): remove the supplicant
1417                         error idle callback too
1418                 - (supplicant_interface_release): rename from supplicant_interface_clean
1419                         to match nm-device-wifi.c; clean up supplicant interface-related
1420                         state tasks when the supplicant interface is disposed of
1421                 - (schedule_state_handler): add scheduled tasks to a list so they can
1422                         be cleaned up later
1423                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1424                    supplicant_iface_connection_state_cb_handler): use
1425                         finish_supplicant_task() to clean up each completed task
1426                 - (supplicant_iface_connection_error_cb_handler,
1427                    supplicant_connection_timeout_cb): clear source id when the task is
1428                         complete
1429                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1430                         later cleanup
1431                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1432                         tasks
1433
1434         * src/nm-device-wifi.c
1435                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1436                 - (remove_supplicant_interface_error_handler): remove the supplicant
1437                         error idle callback too
1438                 - (supplicant_interface_release): clean up supplicant interface-related
1439                         state tasks when the supplicant interface is disposed of
1440                 - (schedule_state_handler): add scheduled tasks to a list so they can
1441                         be cleaned up later
1442                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1443                    supplicant_iface_connection_state_cb_handler): use
1444                         finish_supplicant_task() to clean up each completed task
1445                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1446                         the task is complete
1447                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1448                         later cleanup
1449                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1450
1451 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1452
1453         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1454         method and get/set hostname property.
1455
1456 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1457
1458         * src/supplicant-manager/nm-supplicant-interface.c
1459         (nm_supplicant_interface_disconnect): Don't increment the reference 
1460         count when disconnecting. The problem is on shutdown, when the replies
1461         to these commands do not arrive before NM exits, resulting on never
1462         calling supplicant interface's dispose(), which removes the interface
1463         from supplicant.
1464
1465 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1466
1467         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1468         all the public function arguments.
1469
1470 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1471
1472         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1473         "Failure" signal from VPN plugins, store the failure reason, and
1474         use it when the state is changed to failure.
1475
1476         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1477         description.
1478
1479         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1480         reason to the end of the list to not break the API.
1481         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1482         so it can be shared by plugins and daemon.
1483
1484 2008-09-18  Dan Williams  <dcbw@redhat.com>
1485
1486         Patch from Alexander Sack <asac@ubuntu.com>
1487
1488         * configure.in
1489           system-settings/plugins/Makefile.am
1490           system-settings/plugins/ifupdown/Makefile.am
1491           system-settings/plugins/ifupdown/interface_parser.c
1492           system-settings/plugins/ifupdown/interface_parser.h
1493           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1494           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1495           system-settings/plugins/ifupdown/parser.c
1496           system-settings/plugins/ifupdown/parser.h
1497           system-settings/plugins/ifupdown/plugin.c
1498           system-settings/plugins/ifupdown/plugin.h
1499                 - Implement a Debian/Ubuntu legacy network configuration plugin
1500                         (gnome.org #551941)
1501
1502 2008-09-18  Dan Williams  <dcbw@redhat.com>
1503
1504         Implement support for honoring configured and automatic hostnames, and for
1505         setting the configured hostname.
1506
1507         * introspection/nm-ip4-config.xml
1508           src/nm-ip4-config.c
1509           src/nm-ip4-config.h
1510           src/dhcp-manager/nm-dhcp-manager.c
1511                 - Remove useless hostname property; it's not really part of the IPv4
1512                         config
1513
1514         * introspection/nm-settings-system.xml
1515           libnm-glib/nm-dbus-settings-system.c
1516           libnm-glib/nm-dbus-settings-system.h
1517                 - Add SetHostname() call to system settings D-Bus interface
1518                 - Add Hostname property to system settings D-Bus interface
1519                 - (nm_dbus_settings_system_save_hostname,
1520                    nm_dbus_settings_system_get_hostname): implement
1521
1522         * src/nm-device.c
1523           src/nm-device.h
1524                 - (nm_device_get_dhcp4_config): implement
1525
1526         * src/nm-manager.c
1527           src/nm-manager.h
1528                 - Fetch and track system settings service hostname changes, and proxy
1529                         the changes via a GObject property of the manager
1530
1531         * system-settings/src/nm-system-config-interface.c
1532           system-settings/src/nm-system-config-interface.h
1533                 - Replace nm_system_config_interface_supports_add() with a capabilities
1534                         bitfield
1535
1536         * system-settings/src/nm-system-config-error.c
1537           system-settings/src/nm-system-config-error.h
1538                 - Add additional errors
1539
1540         * system-settings/src/dbus-settings.c
1541           system-settings/src/dbus-settings.h
1542                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1543                         property; first plugin returning a hostname wins
1544                 - (impl_settings_add_connection): use plugin capabilities instead of
1545                         nm_system_config_interface_supports_add()
1546                 - (impl_settings_save_hostname): implement hostname saving
1547
1548         * src/NetworkManagerPolicy.c
1549                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1550                    lookup_thread_die): implement an asynchronous hostname lookup thread
1551                         which given an IPv4 address tries to look up the hostname for that
1552                         address with reverse DNS
1553                 - (get_best_device): split out best device code from
1554                         update_routing_and_dns()
1555                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1556                         to preserve the 127.0.0.1 reverse mapping that so many things require
1557                 - (set_system_hostname): set a given hostname
1558                 - (update_system_hostname): implement hostname policy; a configured
1559                         hostname (from the system settings service) is used if available,
1560                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1561                         If there was no automatically determined hostname, reverse DNS of
1562                         the best device's IP address will be used, and as a last resort the
1563                         hostname 'localhost.localdomain' is set.
1564                 - (update_routing_and_dns): use get_best_device(); update the system
1565                         hostname when the network config changes
1566                 - (hostname_changed): update system hostname if the system settings
1567                         service signals a hostname change
1568                 - (nm_policy_new): list for system settings service hostname changes
1569                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1570                         gets told to die
1571
1572         * system-settings/plugins/keyfile/plugin.c
1573           system-settings/plugins/ifcfg-suse/plugin.c
1574                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1575                         capabilities properties
1576
1577         * system-settings/plugins/ifcfg-fedora/shvar.c
1578                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1579                         writes out /etc/sysconfig/network now
1580
1581         * system-settings/plugins/ifcfg-fedora/plugin.c
1582                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1583                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1584                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1585                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1586                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1587                         hostname get/set and capabilities get
1588
1589 2008-09-18  Dan Williams  <dcbw@redhat.com>
1590
1591         * libnm-util/nm-setting-wireless.c
1592                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1593                         group ciphers if the wireless-security setting explicitly specified
1594                         them, effectively making the default be "all ciphers"  (idea from
1595                         Alexander Sack)
1596
1597 2008-09-15  Dan Williams  <dcbw@redhat.com>
1598
1599         Patch from Alexander Sack <asac@ubuntu.com>
1600
1601         * src/named-manager/nm-named-manager.c
1602                 - (dispatch_resolvconf): respect resolvconf exit code
1603
1604 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1605
1606         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1607         again. Add some debugging.
1608
1609 2008-09-11  Dan Williams  <dcbw@redhat.com>
1610
1611         * system-settings/plugins/keyfile/plugin.c
1612                 - (update_connection_settings): update connection manually, since
1613                         nm_exported_connection_update() does authentication
1614                 - (dir_changed): update_connection_settings() doesn't need to return
1615                         an error
1616
1617 2008-09-09  Dan Williams  <dcbw@redhat.com>
1618
1619         * libnm-glib/nm-vpn-plugin-ui-interface.c
1620           libnm-glib/nm-vpn-plugin-ui-interface.h
1621           libnm-glib/libnm_glib_vpn.ver
1622                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1623                         should clean up resources related to the connection (like keyring
1624                         secrets)
1625                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1626                         should save user-scope secrets (like to the keyring)
1627
1628 2008-09-08  Dan Williams  <dcbw@redhat.com>
1629
1630         Patch from Alexander Sack <asac@ubuntu.com>
1631
1632         * libnm-util/crypto_gnutls.c
1633           libnm-util/crypto_nss.c
1634                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1635
1636         * libnm-util/nm-utils.c
1637           libnm-util/nm-utils.h
1638           libnm-util/libnm-util.ver
1639                 - (nm_utils_init): initialize libnm-util
1640                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1641
1642         * libnm-util/nm-setting-8021x.c
1643                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1644
1645 2008-09-05  Dan Williams  <dcbw@redhat.com>
1646
1647         Patch from Roy Marples <roy@marples.name> and others
1648
1649         * configure.in
1650           src/named-manager/nm-named-manager.c
1651                 - Add support for resolvconf; use --with-resolvconf at configure time
1652                         to enable it
1653
1654 2008-09-05  Dan Williams  <dcbw@redhat.com>
1655
1656         * libnm-util/crypto_nss.c
1657           libnm-util/crypto_gnutls.c
1658           libnm-util/crypto.h
1659                 - (crypto_init): return error when init fails
1660
1661 2008-09-05  Dan Williams  <dcbw@redhat.com>
1662
1663         * libnm-glib/nm-device-wifi.c
1664                 - (access_point_removed_proxy): clean up the active access point too
1665                         just in case the active ap changed signal didn't come through yet
1666                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1667
1668 2008-09-05  Dan Williams  <dcbw@redhat.com>
1669
1670         * libnm-glib/nm-client.c
1671                 - (constructor): get initial state after we know whether NM is running
1672                         or not
1673
1674 2008-09-05  Dan Williams  <dcbw@redhat.com>
1675
1676         * libnm-glib/nm-ip4-config.c
1677           libnm-glib/nm-dhcp4-config.c
1678                 - (finalize): clean up the DBusGProxy
1679
1680 2008-09-04  Dan Williams  <dcbw@redhat.com>
1681
1682         * src/nm-ip4-config.c
1683           src/nm-ip4-config.h
1684                 - (nm_ip4_config_new): don't export over D-Bus here
1685                 - (nm_ip4_config_export): new function; export the config over D-Bus
1686                 - (nm_ip4_config_is_exported): new function
1687
1688         * src/nm-device.c
1689                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1690                         objects by balancing the IP4Config constructor; the device holds
1691                         a reference to the IP4Config already
1692                 - (nm_device_set_ip4_config): export the IP4Config when needed
1693
1694 2008-09-04  Dan Williams  <dcbw@redhat.com>
1695
1696         * src/supplicant-manager/nm-supplicant-settings-verify.c
1697                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1698
1699 2008-09-04  Dan Williams  <dcbw@redhat.com>
1700
1701         * libnm-util/nm-setting-vpn.c
1702           libnm-util/nm-setting-vpn.h
1703                 - Split VPN secrets from VPN data so that settings services can actually
1704                         figure out that they are secrets and store them accordingly
1705
1706         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1707           system-settings/plugins/keyfile/reader.c
1708           system-settings/plugins/keyfile/reader.h
1709           system-settings/plugins/keyfile/writer.c
1710                 - Store VPN secrets separately from VPN data so that they can be fetched
1711                         on demand
1712                 - Implement the get_secrets() call so that (a) secrets don't leak out
1713                         to unprivileged callers, and (b) secrets can be sent to privileged
1714                         callers when needed
1715
1716         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1717                 - Handle split VPN secrets
1718
1719 2008-08-27  Dan Williams  <dcbw@redhat.com>
1720
1721         * system-settings/plugins/ifcfg-fedora/reader.c
1722                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1723
1724 2008-08-27  Dan Williams  <dcbw@redhat.com>
1725
1726         Ensure zombie children get cleaned up.  To get notifications when children
1727         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1728         that requires calling waitpid() yourself if you've removed the child watch
1729         handler before the process has actually died, which NM needs to do in a few
1730         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1731         cleans up after the child when required.  Should fix problems trying to
1732         activate mobile broadband connections after a previous failure.
1733
1734         * src/dhcp-manager/nm-dhcp-dhclient.c
1735           src/dhcp-manager/nm-dhcp-dhcpcd.c
1736                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1737
1738         * src/dhcp-manager/nm-dhcp-manager.c
1739                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1740                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1741                         block on child quitting, since the non-blocking functionality was
1742                         never actually used
1743
1744         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1745                 - (dm_watch_cb): child is already reaped here
1746                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1747
1748         * src/nm-device.c
1749                 - (aipd_cleanup): block until child is dead
1750
1751         * src/named-manager/nm-named-manager.c
1752                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1753                         event bothering to watch the child
1754
1755         * src/ppp-manager/nm-ppp-manager.c
1756                 - (ppp_watch_cb): child is already reaped here
1757                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1758
1759         * src/vpn-manager/nm-vpn-service.c
1760                 - (vpn_service_watch_cb): child is already reaped here
1761                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1762                         status of the child is actually tracked
1763                 - (ensure_killed, finalize): block until child is dead
1764
1765 2008-08-26  Dan Williams  <dcbw@redhat.com>
1766
1767         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1768                 - (update): Update filename of the connection if the connection id
1769                         was changed
1770
1771         * system-settings/plugins/keyfile/plugin.c
1772                 - (dir_changed): first pass at handling connection renames correctly
1773
1774         * system-settings/plugins/keyfile/writer.c
1775           system-settings/plugins/keyfile/writer.h
1776                 - (write_connection): replace '/' with '*' when writing out the filename
1777                         from the connection id
1778
1779 2008-08-26  Dan Williams  <dcbw@redhat.com>
1780
1781         Add connection UUIDs, since connection names can be changed, and since
1782         old-style connection IDs could change over the life of the connection.  The
1783         UUID should be assigned at connection creation time, be stable for a given
1784         connection, and should be unique among all connections for a given settings
1785         service.
1786
1787         * configure.in
1788           libnm-util/Makefile.am
1789                 - Require libuuid
1790
1791         * introspection/nm-exported-connection.xml
1792                 - Remove "GetID" method
1793
1794         * libnm-glib/nm-dbus-connection.c
1795           libnm-glib/nm-settings.c
1796           libnm-glib/nm-settings.h
1797                 - Remove id-related stuff
1798
1799         * libnm-util/nm-utils.c
1800           libnm-util/nm-utils.h
1801           libnm-util/libnm-util.ver
1802                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1803                         utility functions to generate UUIDs
1804
1805         * libnm-util/nm-setting-connection.c
1806           libnm-util/nm-setting-connection.h
1807                 - Add 'uuid' member to the connection setting
1808                 - (verify): require valid 'uuid' for a valid connection
1809
1810         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1811           system-settings/plugins/ifcfg-fedora/reader.c
1812           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1813           system-settings/plugins/ifcfg-suse/parser.c
1814           system-settings/plugins/keyfile/nm-keyfile-connection.c
1815           system-settings/src/main.c
1816                 - Remove id-related stuff
1817                 - Give connections UUIDs where needed
1818
1819 2008-08-25  Dan Williams  <dcbw@redhat.com>
1820
1821         * libnm-util/crypto_gnutls.c
1822           libnm-util/crypto_nss.c
1823                 - (crypto_init, crypto_deinit): refcount init/deinit
1824                 - (crypto_md5_hash): allow NULL salt
1825
1826 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1827
1828         * libnm-glib/Makefile.am
1829           libnm-util/Makefile.am
1830           libnm-glib/libnm_glib.ver
1831           libnm-glib/libnm_glib_vpn.ver
1832           libnm-util/libnm-util.ver
1833                 - Use linker version scripts to control the list of exported 
1834                 symbols. List each exported symbol explicitely.
1835         * libnm-util/Makefile.am
1836                 - Fix compilation of the test-crypto binary. The crypto
1837                 functions are no longer part of the libnm-util API. Add 
1838                 crypto_*.c to test_crypto_SOURCES and link against the correct
1839                 crypto libraries.
1840
1841 2008-08-19  Dan Williams  <dcbw@redhat.com>
1842
1843         * configure.in
1844           test/Makefile.am
1845                 - Don't build test/test-common
1846                 - Remove unused stuff
1847
1848         * test/nm-set-fallback
1849           test/nmtestdevices.c
1850           test/test-common/.cvsignore
1851           test/test-common/Makefile.am
1852           test/test-common/test-common.c
1853           test/test-common/test-common.h
1854                 - delete
1855
1856 2008-08-18  Dan Williams  <dcbw@redhat.com>
1857
1858         * libnm-util/nm-utils.c
1859           libnm-util/nm-utils.h
1860                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1861                         export anything that needs to be converted with this function
1862
1863         * src/dhcp-manager/nm-dhcp-manager.c
1864                 - (garray_to_string): convert a byte array to a UTF-8 string with
1865                         minimal validation; the DHCP client sends it in ASCII anyway
1866                 - (get_option, copy_option): use garray_to_string()
1867
1868 2008-08-18  Dan Williams  <dcbw@redhat.com>
1869
1870         * include/NetworkManager.h
1871           introspection/nm-device.xml
1872                 - Add a "missing firmware" device state reason
1873
1874         * src/NetworkManagerSystem.c
1875           src/NetworkManagerSystem.h
1876                 - (nm_system_device_set_up_down): add a no_firmware argument
1877                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1878                         IFF_UP is ENOENT, that almost always means missing firmware
1879
1880         * src/backends/NetworkManagerGeneric.c
1881           src/nm-device-ethernet.c
1882           src/nm-device-private.h
1883           src/nm-device-wifi.c
1884           src/nm-device.c
1885           src/nm-device.h
1886           src/nm-hso-gsm-device.c
1887           src/vpn-manager/nm-vpn-connection.c
1888                 - Pass no_firmware along; check it where appropriate
1889
1890 2008-08-18  Dan Williams  <dcbw@redhat.com>
1891
1892         Patch from Robert Buchholz <rbu@gentoo.org>
1893
1894         * autogen.sh
1895           configure.in
1896                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1897                         1003.1-1988, allowing for file names longer than 99 characters
1898
1899 2008-08-17  Dan Williams  <dcbw@redhat.com>
1900
1901         * include/NetworkManager.h
1902           introspection/nm-device.xml
1903           src/nm-gsm-device.c
1904                 - Finer-grained GSM registration failure error codes
1905
1906 2008-08-17  Dan Williams  <dcbw@redhat.com>
1907
1908         * callouts/Makefile.am
1909           src/Makefile.am
1910                 - Move dispatcher directory creation to callouts/Makefile.am
1911
1912         * system-settings/plugins/keyfile/Makefile.am
1913                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1914
1915 2008-08-15  Dan Williams  <dcbw@redhat.com>
1916
1917         Do connection sharing in a cleaner manner; all required iptables rules
1918         are now stored in the activation request and pertain only to the device
1919         which is being shared to other computers. (rh #458625)
1920
1921         * src/nm-activation-request.c
1922           src/nm-activation-request.h
1923                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1924                         the activation request which will get torn down automatically when
1925                         the activation request dies
1926                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1927                         is started, and tear them down when sharing is stopped
1928
1929         * src/nm-device.c
1930                 - (start_sharing): start up sharing by doing the required iptables magic
1931                 - (share_init): poke the right bits of the kernel and load the right
1932                         modules for NAT
1933                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1934                         connection if it's a 'shared' connection
1935
1936         * src/NetworkManagerPolicy.c
1937                 - Remove all sharing stuff; done in the device code itself
1938
1939 2008-08-15  Dan Williams  <dcbw@redhat.com>
1940
1941         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1942                 - (create_dm_cmd_line): send the right router address
1943
1944 2008-08-15  Dan Williams  <dcbw@redhat.com>
1945
1946         * src/ppp-manager/nm-ppp-manager.c
1947                 - (pppd_timed_out): ensure timeouts fail the connection
1948
1949 2008-08-14  Dan Williams  <dcbw@redhat.com>
1950
1951         * src/nm-properties-changed-signal.c
1952           src/nm-properties-changed-signal.h
1953                 - Add a property spec flag for "don't export this property" in
1954                         property changed signals
1955
1956         * src/nm-hso-gsm-device.c
1957           src/nm-gsm-device.c
1958           src/nm-cdma-device.c
1959                 - Don't export monitor interface or netdev interface properties
1960
1961 2008-08-14  Dan Williams  <dcbw@redhat.com>
1962
1963         * src/NetworkManagerPolicy.c
1964                 - (update_routing_and_dns): 'hso' devices can be default even if they
1965                         don't have a gateway
1966
1967 2008-08-14  Dan Williams  <dcbw@redhat.com>
1968
1969         * src/nm-device.c
1970                 - (nm_device_deactivate_quickly): tear down activation request after
1971                         calling device-specific deactivation
1972
1973         * src/nm-hso-gsm-device.c
1974                 - (real_deactivate_quickly): terminate connection when deactivating
1975
1976 2008-08-14  Dan Williams  <dcbw@redhat.com>
1977
1978         * src/nm-activation-request.h
1979                 - Add HSO secrets caller
1980
1981         * src/nm-gsm-device.c
1982           src/nm-gsm-device.h
1983                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1984                         something to the callback function
1985                 - (set_apn, set_apn_done): call class dial function, not a static one
1986                 - (nm_gsm_device_class_init): add a class 'dial' function
1987
1988         * src/nm-hal-manager.c
1989                 - (get_hso_netdev): find the hso-driven hardware's net device
1990                 - (modem_device_creator): recognize hso-driven hardware and create the
1991                         right type of device object for it
1992
1993         * src/Makefile.am
1994           src/nm-hso-gsm-device.c
1995           src/nm-hso-gsm-device.h
1996                 - Implement support for devices driven by the 'hso' driver as a subclass
1997                         of NMGsmDevice
1998
1999 2008-08-14  Dan Williams  <dcbw@redhat.com>
2000
2001         * src/NetworkManagerSystem.c
2002                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
2003                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
2004                         success if the operation really was successful
2005
2006 2008-08-14  Dan Williams  <dcbw@redhat.com>
2007
2008         * src/nm-netlink-monitor.c
2009           src/nm-netlink-monitor.h
2010           src/nm-device-ethernet.c
2011                 - (nm_netlink_monitor_request_status): return an error on failure
2012                 - (constructor): don't segfault on missing error
2013
2014 2008-08-13  Dan Williams  <dcbw@redhat.com>
2015
2016         * callouts/nm-dispatcher-action.c
2017                 - Add IP4 config info to script environment
2018
2019 2008-08-12  Dan Williams  <dcbw@redhat.com>
2020
2021         * src/nm-device.c
2022                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
2023                         that want to use DHCP hostnames should use dispatcher scripts
2024                         for that
2025
2026         * src/NetworkManagerSystem.h
2027           src/backends/NetworkManagerArch.c
2028           src/backends/NetworkManagerDebian.c
2029           src/backends/NetworkManagerFrugalware.c
2030           src/backends/NetworkManagerGeneric.c
2031           src/backends/NetworkManagerGeneric.h
2032           src/backends/NetworkManagerGentoo.c
2033           src/backends/NetworkManagerMandriva.c
2034           src/backends/NetworkManagerPaldo.c
2035           src/backends/NetworkManagerRedHat.c
2036           src/backends/NetworkManagerSlackware.c
2037           src/backends/NetworkManagerSuSE.c
2038                 - Remove nm_system_set_hostname(), no longer used
2039           
2040         * src/backends/Makefile.am
2041           src/backends/shvar.c
2042           src/backends/shvar.h
2043                 - Remove shvar.*; no longer used
2044
2045 2008-08-12  Dan Williams  <dcbw@redhat.com>
2046
2047         Revert most of the 'hostname' patch.  Too much stuff still breaks when
2048         hostname is updated at runtime.  Distros or users who want hostname updates
2049         can use dispatcher scripts to update the hostname if they need it.
2050
2051 2008-08-12  Dan Williams  <dcbw@redhat.com>
2052
2053         * introspection/nm-settings-system.xml
2054           system-settings/src/dbus-settings.c
2055           system-settings/src/dbus-settings.h
2056                 - Add a 'Hostname' property (rw) which represents the configured
2057                         hostname and domain of the system, if any
2058
2059         * system-settings/src/nm-system-config-error.c
2060           system-settings/src/nm-system-config-error.h
2061           system-settings/src/nm-system-config-interface.c
2062           system-settings/src/nm-system-config-interface.h
2063                 - Add a 'hostname' property to the plugin interface
2064                 - Add a method to send updated hostname to plugins to save in their
2065                         backing configuration store
2066
2067         * system-settings/plugins/keyfile/nm-keyfile-connection.c
2068           system-settings/plugins/keyfile/plugin.c
2069           system-settings/plugins/keyfile/writer.c
2070           system-settings/plugins/keyfile/writer.h
2071           system-settings/plugins/ifcfg-suse/plugin.c
2072                 - Add minimal hostname support
2073
2074         * system-settings/plugins/ifcfg-fedora/plugin.c
2075                 - Add support for updating system hostname in /etc/sysconfig/network
2076
2077 2008-08-12  Dan Williams  <dcbw@redhat.com>
2078
2079         * system-settings/plugins/ifcfg-fedora/shvar.c
2080           system-settings/plugins/ifcfg-fedora/shvar.c
2081                 - Fix double-free caused by svSetValue() followed by svCloseFile()
2082
2083 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2084
2085         * Makefile.am: Fix distcheck.
2086
2087 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2088
2089         * libnm-glib/*.c. Document some more.
2090
2091 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2092
2093         Start documenting libnm-glib public API using gtk-doc.
2094
2095         * libnm-glib/nm-serial-device.c: 
2096         * libnm-glib/nm-object.c: 
2097         * libnm-glib/nm-gsm-device.c: 
2098         * libnm-glib/nm-device.c: 
2099         * libnm-glib/nm-device-wifi.c: 
2100         * libnm-glib/nm-device-ethernet.c: 
2101         * libnm-glib/nm-client.c: 
2102         * libnm-glib/nm-cdma-device.c: Document the public API.
2103
2104         * docs/libnm-glib/libnm-glib.types: Implement.
2105
2106         * docs/libnm-glib/Makefile.am: Implement.
2107
2108         * autogen.sh: 
2109         * configure.in: 
2110         * Makefile.am: Add gtk-doc support.
2111
2112 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2113
2114         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2115
2116         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2117         the composite result of all the IP4 configurations and call a distro
2118         specific update_resolv_conf().
2119         (update_resolv_conf): Implement one for directly writing to 
2120         /etc/resolv.conf and one for opensuse to call netconfig.
2121
2122 2008-08-11  Dan Williams  <dcbw@redhat.com>
2123
2124         * src/ppp-manager/nm-ppp-manager.c
2125                 - (impl_ppp_manager_need_secrets): pass interface as required
2126
2127 2008-08-11  Dan Williams  <dcbw@redhat.com>
2128
2129         Merge the vpn-properties setting with the vpn setting since it was pointless
2130         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2131         of string:string (instead of string:variant) so that system settings plugins
2132         can have an easier time dealing with the arbitrary key/value pairs.
2133
2134 2008-08-11  Dan Williams  <dcbw@redhat.com>
2135
2136         * libnm-util/nm-utils.c
2137                 - (nm_utils_register_value_transformations): add value transform for
2138                         a hash table of string:string
2139
2140 2008-08-10  Dan Williams  <dcbw@redhat.com>
2141
2142         * libnm-glib/nm-vpn-plugin.c
2143                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2144                         an idle handler so the Connect reply gets delivered before the
2145                         stop StateChanged signal
2146
2147 2008-08-10  Dan Williams  <dcbw@redhat.com>
2148
2149         * src/nm-ip4-config.c
2150                 - (get_property): use common ip4 address/route conversion functions
2151                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2152                         copy the new route here, not take ownership
2153
2154 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2155
2156         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2157         Update the IP4 setting's method name.
2158
2159 2008-08-07  Dan Williams  <dcbw@redhat.com>
2160
2161         * introspection/nm-ip4-config.xml
2162           libnm-glib/libnm-glib-test.c
2163           libnm-glib/nm-ip4-config.c
2164           libnm-glib/nm-ip4-config.h
2165           src/NetworkManagerSystem.h
2166           src/backends/NetworkManagerArch.c
2167           src/backends/NetworkManagerDebian.c
2168           src/backends/NetworkManagerFrugalware.c
2169           src/backends/NetworkManagerGeneric.c
2170           src/backends/NetworkManagerGeneric.h
2171           src/backends/NetworkManagerGentoo.c
2172           src/backends/NetworkManagerMandriva.c
2173           src/backends/NetworkManagerPaldo.c
2174           src/backends/NetworkManagerRedHat.c
2175           src/backends/NetworkManagerSlackware.c
2176           src/backends/NetworkManagerSuSE.c
2177           src/dhcp-manager/nm-dhcp-manager.c
2178           src/nm-device.c
2179           src/nm-ip4-config.c
2180           src/nm-ip4-config.h
2181                 - Remove NIS logic; should be done from dispatcher scripts instead
2182
2183 2008-08-07  Dan Williams  <dcbw@redhat.com>
2184
2185         * src/dhcp-manager/nm-dhcp-manager.c
2186                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2187                         mis-handling of DHCP responses that returned more than one router
2188                         (found by Grant Williamson)
2189
2190 2008-08-07  Dan Williams  <dcbw@redhat.com>
2191
2192         * callouts/nm-dispatcher-action.c
2193                 - (nm_dispatcher_action): grab device path and create the device; pass
2194                         the device's DHCP4 config to script caller
2195                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2196                         scripts
2197
2198         * libnm-glib/nm-dhcp4-config.c
2199           libnm-glib/nm-dhcp4-config.h
2200                 - (nm_dhcp4_config_get_options): expose
2201                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2202
2203 2008-08-07  Dan Williams  <dcbw@redhat.com>
2204
2205         * include/NetworkManager.h
2206                 - Add the DHCP4Config D-Bus interface
2207
2208         * libnm-glib/Makefile.am
2209           libnm-glib/nm-dhcp4-config.c
2210           libnm-glib/nm-dhcp4-config.h
2211                 - Handle DHCP4 config objects exported by NM over D-Bus
2212
2213         * libnm-glib/nm-device.c
2214           libnm-glib/nm-device.h
2215                 - Add a 'dhcp4-config' property
2216
2217         * libnm-glib/libnm-glib-test.c
2218                 - Print out DHCP4 config for devices
2219                 - Fix some crashes when no connections are active
2220
2221         * src/nm-device-interface.c
2222           src/nm-device.c
2223           src/nm-dhcp4-config.c
2224           src/nm-dhcp4-config.h
2225                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2226                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2227                         doesn't let us do when the property type is G_TYPE_OBJECT
2228
2229 2008-08-07  Dan Williams  <dcbw@redhat.com>
2230
2231         * src/NetworkManager.c
2232           src/NetworkManagerSystem.h
2233           src/backends/NetworkManagerArch.c
2234           src/backends/NetworkManagerDebian.c
2235           src/backends/NetworkManagerFrugalware.c
2236           src/backends/NetworkManagerGeneric.c
2237           src/backends/NetworkManagerGeneric.h
2238           src/backends/NetworkManagerGentoo.c
2239           src/backends/NetworkManagerMandriva.c
2240           src/backends/NetworkManagerPaldo.c
2241           src/backends/NetworkManagerRedHat.c
2242           src/backends/NetworkManagerSlackware.c
2243           src/backends/NetworkManagerSuSE.c
2244                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2245
2246 2008-08-06  Dan Williams  <dcbw@redhat.com>
2247
2248         * libnm-glib/nm-ip4-config.c
2249           libnm-glib/nm-ip4-config.h
2250                 - Add 'routes' property
2251
2252         * libnm-util/nm-setting-vpn.c
2253           libnm-util/nm-setting-vpn.h
2254                 - Remove 'routes' property
2255
2256         * libnm-util/nm-setting-ip4-config.c
2257           libnm-util/nm-setting-ip4-config.h
2258                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2259                 - Add 'ignore-auto-routes' property
2260                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2261                         accomodate route metrics
2262                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2263
2264         * libnm-util/nm-utils.c
2265           libnm-util/nm-utils.h
2266                 - Add helpers for marshalling IP4 routes
2267
2268         * src/NetworkManagerUtils.c
2269                 - (nm_utils_merge_ip4_config): handle property renames and new route
2270                         structure
2271
2272         * src/NetworkManagerSystem.c
2273                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2274                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2275
2276         * src/dhcp-manager/nm-dhcp-manager.c
2277                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2278
2279         * system-settings/plugins/ifcfg-fedora/reader.c
2280           system-settings/plugins/ifcfg-fedora/writer.c
2281                 - Handle routes separately from addresses now that routes have a different
2282                         format
2283
2284         * introspection/nm-ip4-config.xml
2285           src/nm-ip4-config.c
2286           src/nm-ip4-config.h
2287                 - Rename internal routing functions
2288                 - 'static-routes' renamed to 'routes'
2289
2290 2008-08-04  Dan Williams  <dcbw@redhat.com>
2291
2292         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2293
2294         * src/NetworkManager.c
2295           src/nm-manager.c
2296           src/nm-manager.h
2297                 - More explicitly make the NMManager a singleton
2298
2299 2008-08-04  Dan Williams  <dcbw@redhat.com>
2300
2301         * libnm-util/nm-connection.c
2302           libnm-util/nm-connection.h
2303                 - (nm_connection_verify): return error on missing 'connection' setting
2304                         (found by Sjoerd Simons)
2305
2306 2008-08-04  Dan Williams  <dcbw@redhat.com>
2307
2308         Handle multiple concurrent PPP connections.
2309
2310         * src/ppp-manager/nm-ppp-manager.c
2311           src/ppp-manager/nm-ppp-manager.h
2312                 - (constructor): only PPP Manager request bus name once; each
2313                         NMPPPManager object gets a unique object path
2314                 - (nm_ppp_manager_class_init, get_property, set_property,
2315                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2316                         at construct time
2317                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2318                         remove timeout until PPP manager gets an IP4 config
2319                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2320                         the plugin can call back to this specific PPP manager instance
2321
2322         * src/nm-device-ethernet.c
2323           src/nm-serial-device.c
2324                 - Pass parent device in nm_ppp_manager_new()
2325
2326         * src/nm-gsm-device.c
2327           src/nm-cdma-device.c
2328                 - (device_state_changed): don't close serial device on NEED_AUTH
2329                         state changed, that's not a failure case like the rest are
2330
2331         * src/ppp-manager/nm-pppd-plugin.c
2332                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2333                         binds one interface to any pppd process, thus the correct index
2334                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2335                         problems; try harder to get a peer address in spite of pppd
2336                 - (plugin_init): use 'ipparam' as the object path back to our specific
2337                         PPP manager instance
2338
2339 2008-08-04  Dan Williams  <dcbw@redhat.com>
2340
2341         * src/ppp-manager/nm-ppp-manager.c
2342                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2343                         since the GSM and CDMA settings now implement need_secrets, we can
2344                         rely on them to do the right thing.  Where secrets are not required,
2345                         just pass empty strings back to the pppd plugin.
2346                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2347                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2348                         on successful IP4 config receipt
2349
2350 2008-08-04  Dan Williams  <dcbw@redhat.com>
2351
2352         * libnm-util/nm-setting-cdma.c
2353           libnm-util/nm-setting-gsm.c
2354                 - (verify): validate username & password if they exist
2355                 - (need_secrets): if username given, require a password too
2356
2357 2008-08-04  Dan Williams  <dcbw@redhat.com>
2358
2359         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2360                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2361                         manpage says about --listen-address without --interface
2362                         (bgo #546033)
2363
2364 2008-08-01  Dan Williams  <dcbw@redhat.com>
2365
2366         * libnm-glib/nm-device.c
2367                 - (proxy_get_string): util function for querying a HAL property
2368                 - (get_ancestor_device): split out from get_product_and_vendor()
2369                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2370                         from PCI devices by querying subsys properties
2371                 - (nm_device_update_description): simplify
2372
2373 2008-08-01  Dan Williams  <dcbw@redhat.com>
2374
2375         * libnm-util/nm-setting-ip4-config.c
2376           libnm-util/nm-setting-ip4-config.h
2377                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2378                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2379                         settings, and they don't necessarily use DHCP.
2380
2381         * src/NetworkManagerPolicy.c
2382           src/nm-device.c
2383           system-settings/plugins/ifcfg-fedora/reader.c
2384           system-settings/plugins/ifcfg-suse/parser.c
2385                 - Fixup for method changes
2386
2387 2008-07-31  Dan Williams  <dcbw@redhat.com>
2388
2389         * src/nm-activation-request.c
2390           src/vpn-manager/nm-vpn-connection.c
2391                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2392                         itself should be attached to the activation request or the VPN
2393                         connection, not the NMConnection object, since the call is not
2394                         expected to live as long as the NMConnection itself
2395
2396 2008-07-31  Dan Williams  <dcbw@redhat.com>
2397
2398         * src/nm-device-wifi.c
2399                 - (real_act_stage2_config): fix issue where association would continue
2400                         even though secrets were needed; 'goto out' was in wrong scope and
2401                         result of handle_auth_or_fail() should have been dumped directly to
2402                         'ret' to ensure that the association was postponed until secrets
2403                         are available
2404
2405 2008-07-31  Dan Williams  <dcbw@redhat.com>
2406
2407         * system-settings/plugins/ifcfg-fedora/plugin.c
2408           system-settings/plugins/ifcfg-fedora/reader.c
2409                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2410                         valid NM connection
2411
2412 2008-07-29  Dan Williams  <dcbw@redhat.com>
2413
2414         * src/nm-gsm-device.c
2415                 - (automatic_registration_response, automatic_registration): recognize
2416                         denied registration and reorder responses
2417
2418 2008-07-29  Dan Williams  <dcbw@redhat.com>
2419
2420         * src/nm-serial-device.c
2421                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2422                         time(2) is used for current time, which returns seconds, we shouldn't
2423                         be multiplying by 1000.
2424
2425 2008-07-28  Dan Williams  <dcbw@redhat.com>
2426
2427         Patch from Fabrice Bellet <fabrice@bellet.info>
2428
2429         * src/NetworkManagerSystem.c
2430                 - (route_in_same_subnet): mask addresses and compare them so that the
2431                         function actually does what it says it's going to do (rh #456685)
2432
2433 2008-07-27  Dan Williams  <dcbw@redhat.com>
2434
2435         * libnm-util/nm-setting-ip6-config.c
2436                 - (set_property): add missing break that caused routes to be overwritten
2437                         with addresses
2438
2439         * libnm-util/nm-setting-ip6-config.c
2440                 - (verify): validate routes and return GError everywhere on invalid setting
2441                 - (finalize): don't leak routes
2442                 - (set_property): add missing break that caused routes to be overwritten
2443                         with addresses
2444
2445 2008-07-27  Dan Williams  <dcbw@redhat.com>
2446
2447         * libnm-util/*
2448                 - Relicense to LGPLv2+
2449
2450 2008-07-27  Dan Williams  <dcbw@redhat.com>
2451
2452         * system-settings/plugins/ifcfg-fedora/reader.c
2453                 - (make_ip4_setting): fix parsing automatic configs
2454
2455 2008-07-27  Dan Williams  <dcbw@redhat.com>
2456
2457         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2458           src/nm-device.c
2459           src/ppp-manager/nm-ppp-manager.c
2460                 - Ensure child process gets reaped.  The child watch function may be
2461                         removed from the mainloop before the child gets killed, so we have
2462                         to make sure the child is reaped when it's told to die intentionally
2463
2464 2008-07-27  Dan Williams  <dcbw@redhat.com>
2465
2466         Patch from Roy Marples <roy@marples.name>
2467
2468         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2469                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2470
2471 2008-07-27  Dan Williams  <dcbw@redhat.com>
2472
2473         * src/nm-gsm-device.c
2474                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2475                         Huawei devices turn echo back on after CPIN (rh #456770)
2476
2477 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2478
2479         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2480         format argument to g_set_error() call.
2481
2482         * src/backends/interface_parser.[ch]: Remove.
2483
2484         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2485
2486 2008-07-21  Dan Williams  <dcbw@redhat.com>
2487
2488         * src/ppp-manager/nm-ppp-manager.c
2489                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2490                         to prevent pppd from picking up some random local address from an
2491                         interface that doesn't have anything to do with the one we're
2492                         interested in (rh #455348)
2493
2494 2008-07-17  Dan Williams  <dcbw@redhat.com>
2495
2496         * libnm-util/nm-utils.c
2497                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2498                         by locale
2499                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2500                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2501
2502 2008-07-17  Dan Williams  <dcbw@redhat.com>
2503
2504         * introspection/Makefile.am
2505           introspection/nm-device.xml
2506           introspection/nm-dhcp4-config.xml
2507                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2508                         itself
2509         * src/nm-device-interface.c
2510           src/nm-device-interface.h
2511                 - Add the DHCP4Config property
2512
2513         * src/nm-device.c
2514                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2515                         D-Bus clients when it changes
2516
2517         * src/nm-dhcp4-config.c
2518           src/nm-dhcp4-config.h
2519                 - Simple object to store DHCP4 options, export them over D-Bus, and
2520                         notify when they change
2521
2522         * src/dhcp-manager/nm-dhcp-manager.c
2523           src/dhcp-manager/nm-dhcp-manager.h
2524                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2525                         filter server-returned DHCP options into an NMDHCP4Config object
2526
2527 2008-07-16  Dan Williams  <dcbw@redhat.com>
2528
2529         * introspection/nm-device.xml
2530                 - Add device state reasons
2531
2532 2008-07-16  Dan Williams  <dcbw@redhat.com>
2533
2534         Patch from Roy Marples <roy@marples.name>
2535
2536         * configure.in
2537                 - Add --with-dhcp-client option
2538
2539         * src/dhcp-manager/Makefile.am
2540                 - pass DHCP_CLIENT_PATH on compile line
2541
2542         * src/dhcp-manager/nm-dhcp-manager.c
2543           src/dhcp-manager/nm-dhcp-manager.h
2544                 - Genericize for both dhcpcd and dhclient
2545
2546         * src/dhcp-manager/nm-dhcp-dhclient.c
2547                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2548
2549         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2550                 - Implement support for dhcpcd too
2551
2552 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2553
2554         * system-settings/src/nm-system-config-interface.c 
2555         (nm_system_config_interface_supports_add): Implement.
2556         (nm_system_config_interface_add_connection): Return a boolean to notify
2557         of errors.
2558
2559         * system-settings/src/nm-polkit-helpers.c: 
2560         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2561         a separate file.
2562
2563         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2564         Return an error when none of the plugins support add or if addition
2565         failed for some reason.
2566
2567         * system-settings/src/nm-system-config-error.h: 
2568         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2569         here from nm-polkit-helpers.[ch].
2570
2571         * system-settings/src/Makefile.am: Build new files.
2572
2573         * system-settings/plugins/keyfile/reader.c 
2574         (read_array_of_array_of_uint): Make it more general so that it would
2575         work for routes as well.
2576
2577         * system-settings/plugins/keyfile/writer.c
2578         (write_array_of_array_of_uint): Ditto.
2579         Fix the netmask/prefix writing.
2580
2581         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2582         boolean to notify errors.
2583
2584         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2585         Return more specific error.
2586         (delete): Ditto.
2587
2588 2008-07-11  Dan Williams  <dcbw@redhat.com>
2589
2590         Modify the NMDevice::state-changed signal to include the previous state
2591         and reason. Enables the applet to provide more information why device
2592         activation failed.
2593
2594 2008-07-09  Dan Williams  <dcbw@redhat.com>
2595
2596         * callouts/Makefile.am
2597           callouts/nm-avahi-autoipd-action.c
2598           callouts/nm-avahi-autoipd.conf
2599                 - avahi-autoipd callout to send options back to NM
2600
2601         * src/autoip.c
2602           src/autoip.h
2603                 - remove
2604
2605         * src/nm-device.c
2606           src/nm-device-private.h
2607           src/nm-manager.c
2608                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2609                         old custom stuff
2610
2611 2008-07-07  Dan Williams  <dcbw@redhat.com>
2612
2613         * system-settings/plugins/ifcfg-fedora/reader.c
2614                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2615                         handle PREFIX too; clean up
2616
2617 2008-07-07  Dan Williams  <dcbw@redhat.com>
2618
2619         Convert to using IPv4 prefixes instead of netmasks.
2620
2621 2008-07-03  Dan Williams  <dcbw@redhat.com>
2622
2623         * libnm-util/nm-setting-ip4-config.c
2624           libnm-util/nm-setting-ip4-config.h
2625                 - Add properties for DHCP Client Identifier and DHCP Hostname
2626
2627         * src/dhcp-manager/nm-dhcp-manager.c
2628           src/dhcp-manager/nm-dhcp-manager.h
2629                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2630                         setting as an argument to pass on to the dhclient config file
2631                         creation function
2632                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2633                         DHCP is torn down
2634                 - (dhclient_run): punt config file handling to create_dhclient_config()
2635                 - (create_dhclient_config): create an interface-specific dhclient
2636                         config file since there may need to be interface-specific options
2637                         passed to dhclient
2638                 - (merge_dhclient_config): merge normal distro dhclient config file and
2639                         add options from the connection
2640                 - (nm_dhcp_device_new): generate the interface specific dhclient
2641                         config file path once
2642                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2643                         dhclient config file path
2644
2645         * src/nm-device.c
2646                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2647                         DHCP manager when starting DHCP
2648
2649 2008-07-02  Dan Williams  <dcbw@redhat.com>
2650
2651         * libnm-util/nm-setting-8021x.c
2652                 - (verify): allow forcing the PEAP label to 0
2653
2654 2008-07-02  Dan Williams  <dcbw@redhat.com>
2655
2656         * introspection/nm-active-connection.xml
2657           introspection/nm-vpn-connection.xml
2658           libnm-glib/nm-active-connection.c
2659           src/nm-activation-request.c
2660           src/nm-active-connection.h
2661           src/vpn-manager/nm-vpn-connection.c
2662                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2663                         and libnm-glib API since sharing didn't get implemented that way
2664
2665 2008-07-02  Dan Williams  <dcbw@redhat.com>
2666
2667         * src/nm-device-wifi.c
2668                 - (can_scan): don't scan when a shared connection is activated since
2669                         that makes drivers mad (causing disconnects); also NM doesn't need
2670                         to hedge against disconnects by keeping up-to-date network topology
2671                         because the connection originates from the local machine, and thus
2672                         there should be no disconnects
2673
2674 2008-07-01  Dan Williams  <dcbw@redhat.com>
2675
2676         Fix mobile broadband username/password issues.  NM was never requesting
2677         mobile broadband secrets, nor was it passing back the username and password
2678         if it had them.
2679
2680         * marshallers/nm-marshal.list
2681                 - Add some new types for activation request objects
2682
2683         * src/nm-activation-request.c
2684           src/nm-activation-request.h
2685                 - (get_secrets_cb): pass the caller type in the signal
2686                 - (nm_act_request_request_connection_secrets): take a caller type, so
2687                         that GetSecrets() reply handlers know who asked for the secrets in
2688                         the first place; use secret hints too so the settings service can
2689                         figure out exactly what NM wants (ie, PIN or the PPP password)
2690
2691         * src/ppp-manager/nm-ppp-manager.c
2692           src/ppp-manager/nm-ppp-manager.h
2693                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2694                         detect needed secrets when the secret could be blank, like GSM/CDMA
2695                         passwords.  So always ask for secrets, and send a hint as to what
2696                         secret we really want.
2697                 - (nm_ppp_manager_update_secrets): make function more generic by making
2698                         the device specific class figure out the username and password, and
2699                         accept an error argument to return back over D-Bus
2700
2701         * src/nm-device-wifi.c
2702                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2703                         nm_act_request_request_connection_secrets()
2704                 - (real_connection_secrets_updated): update for 'caller' changes
2705
2706         * src/nm-device.c
2707           src/nm-device.h
2708                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2709                         for 'caller' changes
2710
2711         * src/nm-device-ethernet.c
2712                 - (real_connection_secrets_updated): update for 'caller' changes and
2713                         move logic for getting PPPoE username and password here before
2714                         calling nm_ppp_manager_update_secrets()
2715                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2716                         nm_act_request_request_connection_secrets()
2717
2718         * src/nm-cdma-device.c
2719                 - (real_connection_secrets_updated): pass username and password back
2720                         to the PPP manager when required
2721
2722         * src/nm-gsm-device.c
2723                 - (enter_pin): send the required secret name to the settings service
2724                 - (real_connection_secrets_updated): pass username and password back
2725                         to the PPP manager when required
2726
2727 2008-06-30  Dan Williams  <dcbw@redhat.com>
2728
2729         * src/nm-device-wifi.c
2730                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2731
2732 2008-06-30  Dan Williams  <dcbw@redhat.com>
2733
2734         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2735         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2736         priv->supplicant.iface.  When either condition is false, the device should
2737         transition back to UNAVAILABLE because it cannot be used.
2738
2739         * src/nm-device-wifi.c
2740                 - (constructor): cleanup; connect to supplicant manager here since the
2741                         supplicant manager is always around
2742                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2743                         ensure the supplicant manager is in the IDLE state
2744                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2745                         cancel any pending scans too
2746                 - (real_bring_up): don't set up the supplicnat interface here, because
2747                         we need the supplicant interface at times when the device may not
2748                         be "up"
2749                 - (real_take_down): just remove the periodic source
2750                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2751                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2752                         do anything if there's no supplicant interface
2753                 - (cleanup_association_attempt): cleanup
2754                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2755                         the interface enters the READY state; transition to UNAVAILABLE
2756                         state when the interface goes down because the device can't be used
2757                         without a supplicant interface
2758                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2759                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2760                         acquire the supplicant interface and transition to DISCONNECTED
2761                         if the radio isn't killed
2762                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2763                 - (state_changed_cb): release any existing supplicant interface; if the
2764                         radio is enabled then try to acquire a new supplicant interface;
2765                         if the radio is enabled and a supplicant interface has been acquired,
2766                         we can transition to DISCONNECTED
2767                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2768                         don't enable the radio, because HAL probably lied to us about the
2769                         killswitch being off.  If bringing the hardware up worked, then
2770                         try to grab a supplicant interface, and if that was successful,
2771                         transition to DISCONNECTED
2772
2773 2008-06-30  Dan Williams  <dcbw@redhat.com>
2774
2775         * src/supplicant-manager/nm-supplicant-interface.c
2776                 - (request_scan_results, nm_supplicant_interface_dispose,
2777                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2778                         the id of the timeout, not a GSource
2779
2780 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2781
2782         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2783         bunch of typoes introduced by "Patch from David Cantrell 
2784         <dcantrell@redhat.com> and me".
2785
2786 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2787
2788         * src/nm-serial-device.c: 
2789         * src/nm-gsm-device.c: 
2790         * src/nm-cdma-device.c: Move the pending call handling to a common location
2791         in serial device. Handle setting device state to failed in one place as well.
2792
2793 2008-06-29  Dan Williams <dcbw@redhat.com>
2794
2795         * src/nm-hal-manager.c
2796                 - Rework killswitch handling to query killswitch status immediately
2797                         when the first killswitch is added, so that rfkill state is
2798                         known as early as possible
2799                 - Also treat failure of GetPower() as rfkill when the dbus method
2800                         call times out (but not when the HAL callout returns an error)
2801
2802 2008-06-26  Dan Williams <dcbw@redhat.com>
2803
2804         Patch from David Cantrell <dcantrell@redhat.com> and me
2805
2806         * include/nm-dbus-glib-types.h
2807                 - Add IP6 address types
2808
2809         * libnm-util/Makefile.am
2810           libnm-util/nm-setting-ip6-config.c
2811           libnm-util/nm-setting-ip6-config.h
2812                 - Add IP6 settings object
2813
2814         * libnm-util/nm-connection.c
2815                 - (register_default_settings): register ip6 settings object
2816
2817         * libnm-util/nm-utils.c
2818           libnm-util/nm-utils.h
2819                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2820                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2821                         ip6 address conversion functions
2822         
2823 2008-06-26  Dan Williams <dcbw@redhat.com>
2824
2825         Patch from David Cantrell <dcantrell@redhat.com>
2826         
2827         * Use inet_ntop() and inet_pton() everwhere and check for errors
2828
2829 2008-06-26  Dan Williams <dcbw@redhat.com>
2830
2831         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2832
2833 2008-06-26  Dan Williams <dcbw@redhat.com>
2834
2835         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2836
2837         * src/nm-device-wifi.c
2838                 - (link_timeout_cb): don't ignore disconnects due to scanning
2839                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2840                         a longer timeout when scanning; avoids case where supplicant can't
2841                         find the AP and just keeps scanning forever but isn't connected
2842
2843 2008-06-26  Dan Williams <dcbw@redhat.com>
2844
2845         Patch from Michael Biebl <biebl@debian.org>
2846
2847         * Clean up build system stuff
2848
2849 2008-06-23  Christian Persch  <chpe@gnome.org>
2850
2851         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2852         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2853         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2854         (impl_get_object):
2855         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2856         (impl_get_object):
2857         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2858         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2859         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2860         (impl_get_object):
2861         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2862         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2863         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2864         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2865         * vpn-daemons/pptp/properties/vpnui_opt.c:
2866         (vpnui_opt_connect_signals):
2867         * vpn-daemons/pptp/properties/vpnui_opt.h:
2868         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2869         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2870         deprecated gtk type macros. Bug #539325.
2871
2872 2008-06-20  Dan Williams  <dcbw@redhat.com>
2873
2874         * libnm-glib/nm-vpn-plugin-ui-interface.c
2875           libnm-glib/nm-vpn-plugin-ui-interface.h
2876                 - 'validity-changed' -> 'changed' to work better with the connection
2877                         editor.  Plugin UI widgets should emit 'changed' whenever their
2878                         UI values change in a meaningful way.
2879                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2880                         update_connection member now returns validity of the UI widget
2881
2882 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2883
2884         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2885
2886 2008-06-17  Dan Williams  <dcbw@redhat.com>
2887
2888         * libnm-glib/nm-vpn-plugin-ui-interface.c
2889           libnm-glib/nm-vpn-plugin-ui-interface.h
2890                 - Add "desc" property for longer descriptions of the VPN plugin
2891
2892 2008-06-16  Dan Williams  <dcbw@redhat.com>
2893
2894         * configure.in
2895           libnm-glib/libnm_glib_vpn.pc.in
2896                 - add a .pc file for libnm_glib_vpn
2897
2898         * libnm-glib/nm-vpn-plugin-ui-interface.c
2899           libnm-glib/nm-vpn-plugin-ui-interface.h
2900                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2901                         rework it substantially
2902
2903 2008-06-12  Dan Williams  <dcbw@redhat.com>
2904
2905         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2906         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2907         returns a descriptive GError when verification fails.
2908
2909 2008-06-11  Dan Williams  <dcbw@redhat.com>
2910
2911         Patch from Tambet Ingo <tambet@gmail.com>
2912
2913         * libnm-util/nm-setting-gsm.c
2914                 - (verify): validate APN
2915
2916         * src/nm-gsm-device.c
2917                 - (manual_registration_done): start setting APN if needed
2918                 - (set_apn, set_apn_done): set the APN
2919                 - (do_dial): use the APN when dialing
2920
2921 2008-06-11  Dan Williams  <dcbw@redhat.com>
2922
2923         * src/NetworkManagerSystem.c
2924                 - (nm_system_device_set_ip4_route,
2925                    nm_system_device_replace_default_ip4_route): check for the right
2926                         return value from rtnl_route_add() to know when to add a gateway
2927                         route (from Tambet)
2928
2929 2008-06-11  Dan Williams  <dcbw@redhat.com>
2930
2931         * src/NetworkManagerPolicy.c
2932                 - do_ipt_cmd -> do_cmd
2933                 - (sharing_init): use do_cmd() instead of system()
2934
2935 2008-06-10  Dan Williams  <dcbw@redhat.com>
2936
2937         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2938         and use "wifi" everwhere instead.
2939
2940 2008-06-10  Dan Williams  <dcbw@redhat.com>
2941
2942         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2943
2944 2008-06-10  Dan Williams  <dcbw@redhat.com>
2945
2946         Patch from Tambet Ingo <tambet@gmail.com>
2947
2948         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2949                 changes.
2950
2951         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2952                 a signal to emit these changes over dbus.
2953
2954         * src/Makefile.am: Genereate nm-serial-device-glue.
2955
2956         * libnm-glib/nm-serial-device.[ch]: Implement.
2957
2958         * libnm-glib/nm-cdma-device.[ch]
2959           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2960
2961         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2962
2963         * introspection/nm-device-serial.xml: Implement.
2964
2965         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2966
2967         * introspection/Makefile.am: Add nm-device-serial.xml.
2968
2969         * include/NetworkManager.h: Add a DBus interface for serial device.
2970
2971 2008-06-10  Dan Williams  <dcbw@redhat.com>
2972
2973         * configure.in
2974                 - Add TARGET_* define to config.h to distinguish distros
2975
2976         * src/dhcp-manager/nm-dhcp-manager.c
2977                 - (dhclient_run): use distro-specific path for dhclient config file
2978
2979 2008-06-09  Dan Williams  <dcbw@redhat.com>
2980
2981         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2982           src/dnsmasq-manager/nm-dnsmasq-manager.h
2983                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2984                         calculate the addresses passed to dnsmasq instead of hard-coding
2985                         them
2986
2987         * src/nm-device.c
2988                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2989                         IP addresses for shared connections to guard against shared
2990                         connection address collisions
2991                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2992                         error conditions
2993                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2994                         the dnsmasq manager
2995
2996 2008-06-09  Dan Williams  <dcbw@redhat.com>
2997
2998         * src/NetworkManagerPolicy.c
2999                 - (update_routing_and_dns): set the default connection _after_ unsetting
3000                         default on all non-default connections so that two connections can
3001                         never be default at the same time
3002                 - (device_state_changed): start and stop connection sharing when
3003                         needed
3004                 - (active_connection_default_changed): restart or stop sharing when
3005                         the default connection changes to keep shared connections always
3006                         NAT-ed through the default connection
3007                 - (check_sharing): handle activation/deactivation of shared connections
3008                 - (sharing_restart): atom-bomb approach to connection sharing until we
3009                         can use libnl; reinit all sharing when the default connection or
3010                         shared connections change
3011                 - (sharing_init, sharing_stop): evil functions that init and deinit
3012                         iptables
3013
3014 2008-06-09  Dan Williams  <dcbw@redhat.com>
3015
3016         * src/nm-activation-request.c
3017           src/nm-activation-request.h
3018                 - (nm_act_request_set_shared, nm_act_request_get_shared,
3019                    nm_act_request_get_device): new functions to facilitate connection
3020                         sharing
3021
3022 2008-06-09  Dan Williams  <dcbw@redhat.com>
3023
3024         * src/nm-device.c
3025                 - (clear_act_request): unset the 'default' property of the activation
3026                         request when clearing it to ensure the property changed signal gets
3027                         delivered and handled
3028
3029 2008-06-09  Dan Williams  <dcbw@redhat.com>
3030
3031         * libnm-glib/nm-device-802-11-wireless.c
3032                 - (access_point_removed_proxy): actually unref the AP after removing
3033                         it from the device's AP list.  Fixes refcounting bug for APs that
3034                         caused them to get mixed up in the applet's menu.
3035
3036 2008-06-09  Tambet Ingo  <tambet@gmail.com>
3037
3038         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
3039         (nm_dhcp_device_destroy): Destroy the device options hash table.
3040
3041 2008-06-06  Dan Williams <dcbw@redhat.com>
3042
3043         * system-settings/src/nm-polkit-helpers.c
3044                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
3045                         unref the context if the initialization fails; also avoid spew when
3046                         the error isn't set
3047
3048 2008-06-06  Dan Williams <dcbw@redhat.com>
3049
3050         Patch from Tambet Ingo  <tambet@gmail.com>
3051
3052         * src/NetworkManagerSystem.c
3053           src/NetworkManagerSystem.h
3054                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
3055                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
3056                 - (nm_system_device_set_ip4_route): clean up
3057                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
3058
3059         * src/nm-device.c
3060                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
3061
3062         * src/vpn-manager/nm-vpn-connection.c
3063                 - (ip_address_to_string): new function
3064                 - (print_vpn_config): use ip_address_to_string
3065                 - (merge_vpn_routes): add user-defined routes to the ip4 config
3066                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
3067
3068         * include/NetworkManagerVPN.h
3069                 - Add 'routes' key
3070
3071 2008-06-05  Dan Williams <dcbw@redhat.com>
3072
3073         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3074
3075         * test/nm-tool.c
3076                 - Show which device is the default device
3077
3078 2008-06-05  Tambet Ingo  <tambet@gmail.com>
3079
3080         Fix memory leaks.
3081
3082         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
3083         Free data returned from dbus method call.
3084
3085         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
3086         dbus_g_method_get_sender() returns a duplicated string, free it 
3087         when done.
3088         (check_polkit_privileges): Looks like policykit sometimes returns
3089         error and non-null return value, don't leak errors in that case.
3090
3091         * system-settings/src/main.c (find_plugin): Don't leak existing 
3092         plugin names.
3093         (load_stuff): Don't leak device list and list items.
3094         (have_connection_for_device): Don't leak connection list.
3095
3096         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
3097         Free the data received from g_keyfile_get_*.
3098
3099         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
3100         the key when the security object is updated.
3101
3102         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
3103         Free data returned from dbus method call.
3104         (iface_state_cb): Ditto.
3105         (add_network_cb): Ditto.
3106         (nm_supplicant_interface_add_cb): Don't make another copy of already
3107         duplicated object path.
3108         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
3109         when done.
3110
3111         * src/supplicant-manager/nm-supplicant-config.c 
3112         (ADD_STRING_LIST_VAL): Fix a memory leak.
3113
3114         * src/nm-manager.c (free_get_settings_info): Free the allocated
3115         memory slice.
3116         (list_connections_cb): Free data returned from dbus method call.
3117         (system_settings_get_unmanaged_devices_cb): Ditto.
3118
3119         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3120
3121         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3122         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3123         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3124         of the GList.
3125
3126         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3127         arguments after the object is created.
3128
3129 2008-06-04  Dan Williams <dcbw@redhat.com>
3130
3131         * libnm-util/Makefile.am
3132                 - Don't distribute nm-param-spec-specialized.h
3133
3134 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3135
3136         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3137
3138         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3139         NMIP4Address, update the getters and setters.
3140
3141         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3142         Use the updated NMIP4Config routes api.
3143
3144         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3145         static routes as well.
3146
3147         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3148         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3149         routes api.
3150
3151 2008-05-30  Dan Williams <dcbw@redhat.com>
3152
3153         * src/named-manager/nm-named-manager.c
3154           src/named-manager/nm-named-manager.h
3155                 - Remove stale/obsolete bits for controlling bind over DBus
3156
3157 2008-05-29  Dan Williams <dcbw@redhat.com>
3158
3159         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3160           src/dnsmasq-manager/nm-dnsmasq-manager.h
3161                 - (nm_dnsmasq_manager_new): move iface argument here
3162                 - (constructor): remove, not needed
3163                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3164                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3165
3166         * src/nm-device.c
3167                 - (real_act_stage4_get_ip4_config,
3168                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3169                         changes
3170
3171 2008-05-29  Dan Williams <dcbw@redhat.com>
3172
3173         * src/nm-device.c
3174                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3175                         something happens to dnsmasq
3176                 - (nm_device_new_ip4_shared_config): new function; create a new
3177                         ip4-config for shared connections.  Shared connections always use a
3178                         fixed static IP address.
3179                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3180                         autoip connections by actually using the returned ip4-config and
3181                         not leaking it
3182                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3183                         connections
3184                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3185                         if its active
3186
3187 2008-05-29  Dan Williams <dcbw@redhat.com>
3188
3189         * src/nm-device-802-11-wireless.c
3190                 - (real_get_best_auto_connection): auto-activate 'shared' method
3191                         connections too
3192
3193 2008-05-29  Dan Williams <dcbw@redhat.com>
3194
3195         * libnm-util/nm-setting-ip4-config.c
3196           libnm-util/nm-setting-ip4-config.h
3197                 - Add a 'shared' method to indicate that this connection should be
3198                         brought up with a DHCP and proxy DNS server to facilitate
3199                         connection sharing.
3200                 - (verify): 'shared' method doesn't allow DNS or searches either
3201
3202 2008-05-29  Dan Williams <dcbw@redhat.com>
3203
3204         * configure.in
3205           src/Makefile.am
3206           src/dnsmasq-manager/Makefile.am
3207           src/dnsmasq-manager/nm-dnsmasq-manager.c
3208           src/dnsmasq-manager/nm-dnsmasq-manager.h
3209                 - Add a dnsmasq daemon manager to facilitate connection sharing
3210
3211 2008-05-29  Dan Williams <dcbw@redhat.com>
3212
3213         * src/nm-device-private.h
3214                 - Remove unused prototypes and clean up
3215
3216         * src/nm-device.c
3217                 - Remove anything related to system_config_data, which is no longer used
3218                 - (nm_device_new_ip4_autoip_config): make static
3219
3220 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3221
3222         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3223         (file_changed): Fix a bug where suse system settings plugin didn't
3224         update the connections automatically when the files changed.
3225
3226 2008-05-28  Dan Williams  <dcbw@redhat.com>
3227
3228         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3229
3230 2008-05-28  Dan Williams  <dcbw@redhat.com>
3231
3232         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3233
3234         * src/NetworkManagerSystem.c
3235                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3236                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3237                         was causing -EINVAL errors since the libnl code actually does flush
3238                         the routes on VPN interfaces now
3239
3240         * src/backends/NetworkManagerArch.c
3241           src/backends/NetworkManagerDebian.c
3242           src/backends/NetworkManagerFrugalware.c
3243           src/backends/NetworkManagerGeneric.c
3244           src/backends/NetworkManagerGentoo.c
3245           src/backends/NetworkManagerMandriva.c
3246           src/backends/NetworkManagerPaldo.c
3247           src/backends/NetworkManagerRedHat.c
3248           src/backends/NetworkManagerSlackware.c
3249           src/backends/NetworkManagerSuSE.c
3250                 - (nm_system_device_flush_ip4_routes,
3251                    nm_system_device_flush_ip4_routes_with_iface): remove
3252
3253 2008-05-28  Dan Williams  <dcbw@redhat.com>
3254
3255         * libnm-util/nm-setting-wireless.c
3256           libnm-util/nm-setting-wireless.h
3257                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3258                         'adhoc-create' property, which when TRUE indicates that NM should
3259                         create this connection as an adhoc wifi network if it's not found
3260                         as an adhoc network during scanning.  Can be used to auto-create
3261                         adhoc networks when used in combination with autoconnect.
3262
3263 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3264
3265         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3266
3267         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3268         checked, it doesn't work on some devices.
3269
3270 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3271
3272         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3273         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3274
3275         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3276         Use inet_aton() everywhere to improve error detection.
3277         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3278         provided.
3279
3280 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3281
3282         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3283         Fix a typo.
3284
3285 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3286
3287         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3288         reference counting issue.
3289
3290 2008-05-23  Dan Williams  <dcbw@redhat.com>
3291
3292         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3293
3294         * src/backends/NetworkManagerGeneric.c
3295                 - (nm_generic_enable_loopback): use libnl
3296
3297 2008-05-23  Dan Williams  <dcbw@redhat.com>
3298
3299         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3300
3301         * src/NetworkManagerSystem.h
3302           src/backends/NetworkManagerArch.c
3303           src/backends/NetworkManagerDebian.c
3304           src/backends/NetworkManagerFrugalware.c
3305           src/backends/NetworkManagerGentoo.c
3306           src/backends/NetworkManagerMandriva.c
3307           src/backends/NetworkManagerPaldo.c
3308           src/backends/NetworkManagerRedHat.c
3309           src/backends/NetworkManagerSlackware.c
3310           src/backends/NetworkManagerSuSE.c
3311                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3312                    nm_system_flush_arp_cache): remove, unused
3313
3314         * src/backends/NetworkManagerGeneric.c
3315           src/backends/NetworkManagerGeneric.h
3316                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3317                    nm_generic_flush_arp_cache): remove, unused
3318
3319 2008-05-23  Dan Williams  <dcbw@redhat.com>
3320
3321         * system-settings/plugins/ifcfg-fedora/reader.c
3322                 - (make_ip4_setting): honor PEERDNS setting
3323
3324 2008-05-23  Dan Williams  <dcbw@redhat.com>
3325
3326         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3327
3328         * src/NetworkManagerSystem.c
3329                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3330                         libnl
3331
3332         * src/backends/NetworkManagerArch.c
3333           src/backends/NetworkManagerDebian.c
3334           src/backends/NetworkManagerFrugalware.c
3335           src/backends/NetworkManagerGentoo.c
3336           src/backends/NetworkManagerMandriva.c
3337           src/backends/NetworkManagerPaldo.c
3338           src/backends/NetworkManagerRedHat.c
3339           src/backends/NetworkManagerSlackware.c
3340           src/backends/NetworkManagerSuSE.c
3341                 - (nm_system_device_flush_ip4_addresses,
3342                    nm_system_device_flush_ip4_addresses_with_iface): remove
3343
3344         * src/backends/NetworkManagerGeneric.c
3345                 - (nm_generic_device_flush_ip4_addresses,
3346                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3347
3348 2008-05-23  Dan Williams  <dcbw@redhat.com>
3349
3350         * src/supplicant-manager/nm-supplicant-settings-verify.c
3351                 - Switch 'bssid' from bytes to keyword type
3352                 - (validate_type_keyword): allow NULL keyword lists
3353
3354         * src/supplicant-manager/nm-supplicant-config.c
3355                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3356                         a byte array to string form, which is what the supplicant expects
3357
3358 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3359
3360         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3361         information received from DHCP.
3362
3363         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3364         to make it possible to ignore the DNS information (both servers and 
3365         searches) returned by DHCP server.
3366
3367         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3368         name servers and searches if "ignore_dhcp_dns" is set.
3369
3370         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3371         (nm_ip4_config_reset_searches): Implement.
3372
3373 2008-05-22  Dan Williams  <dcbw@redhat.com>
3374
3375         Remove anything mDNS related.  This is better done from a distro-specific
3376         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3377         avahi, since avahi can handle interface changes just fine using netlink.
3378
3379         * configure.in
3380                 - Remove --with-mdns-provider
3381
3382         * src/NetworkManagerPolicy.c
3383                 - (global_state_changed): don't restart the mdns provider
3384
3385         * src/NetworkManagerSystem.h
3386           src/backends/NetworkManagerArch.c
3387           src/backends/NetworkManagerDebian.c
3388           src/backends/NetworkManagerFrugalware.c
3389           src/backends/NetworkManagerGentoo.c
3390           src/backends/NetworkManagerMandriva.c
3391           src/backends/NetworkManagerPaldo.c
3392           src/backends/NetworkManagerRedHat.c
3393           src/backends/NetworkManagerSlackware.c
3394           src/backends/NetworkManagerSuSE.c
3395                 - (nm_system_restart_mdns_responder): remove
3396
3397         * src/backends/NetworkManagerGeneric.c
3398           src/backends/NetworkManagerGeneric.h
3399                 - (nm_generic_restart_mdns_responder): remove
3400
3401 2008-05-22  Dan Williams  <dcbw@redhat.com>
3402
3403         * configure.in
3404                 - clean up crypto options; just use --with-crypto=nss or
3405                         --with-crypto=gnutls
3406
3407 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3408
3409         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3410         anymore, do it right away.
3411
3412 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3413
3414         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3415         serial device open when we're not connecting or connected.
3416
3417         * src/nm-cdma-device.c (device_state_changed): Ditto.
3418
3419 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3420
3421         Don't remove all devices on waking up, sync with HAL.
3422
3423         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3424         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3425         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3426
3427 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3428
3429         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3430         If the default gateway is unreachable, add a route to gateway and try
3431         again.
3432
3433 2008-05-20  Dan Williams  <dcbw@redhat.com>
3434
3435         * system-settings/plugins/ifcfg-fedora/reader.c
3436                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3437
3438 2008-05-19  Dan Williams  <dcbw@redhat.com>
3439
3440         * system-settings/plugins/ifcfg-fedora/reader.c
3441                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3442                         if the ifcfg doesn't specify one (rh #446527)
3443
3444 2008-05-19  Dan Williams  <dcbw@redhat.com>
3445
3446         Make the system settings service exit when the bus goes away.  Since it's
3447         a bus-activated service, it's lifetime is limited to the bus that activated
3448         it (rh #444976).
3449
3450         * system-settings/src/Makefile.am
3451           system-settings/src/nm-system-config-hal-manager-private.h
3452                 - Remove nm-system-config-hal-manager-private.h
3453
3454         * system-settings/src/nm-system-config-hal-manager.c
3455                 - (nm_system_config_hal_manager_reinit_dbus,
3456                    nm_system_config_hal_manager_deinit_dbus): remove
3457
3458         * system-settings/src/main.c
3459                 - (dbus_reconnect): remove
3460                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3461                 - (destroy_cb): just quit when the bus goes away
3462                 - (start_dbus_service, dbus_init): simplify
3463                 - (main): destroy the wired devices hash table after destroying
3464                         the HAL manager so we don't have to disconnect signals from the
3465                         HAL manager
3466
3467 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3468
3469         Move crypto functions from nm-applet to libnm-util.
3470
3471         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3472         (nm_setting_802_1x_set_client_cert)
3473         (nm_setting_802_1x_set_phase2_ca_cert)
3474         (nm_setting_802_1x_set_phase2_client_cert)
3475         (nm_setting_802_1x_set_private_key)
3476         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3477         file (or private key and it's password), read the certificate data.
3478
3479         * libnm-util/crypto_nss.c: 
3480         * libnm-util/crypto_gnutls.c: 
3481         * libnm-util/crypto.[ch]: Move here from nm-applet.
3482
3483         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3484
3485         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3486         Imlement WPA-EAP configuration reading from sysconfig.
3487
3488 2008-05-16  Dan Williams  <dcbw@redhat.com>
3489
3490         * src/nm-device-802-11-wireless.c
3491                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3492                         wireless
3493
3494 2008-05-14  Dan Williams  <dcbw@redhat.com>
3495
3496         Fix Linus' bug in rh #134886
3497
3498         * src/nm-device-802-3-ethernet.c
3499                 - (constructor): request initial carrier state
3500
3501         * src/nm-netlink-monitor.c
3502                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3503                         signals after refilling the link cache.  Because the refill is a 
3504                         synchronous operation, the normal message hander won't get called
3505                         since libnl has already consumed the messages.
3506                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3507
3508 2008-05-14  Dan Williams  <dcbw@redhat.com>
3509
3510         * src/NetworkManagerSystem.c
3511                 - (nm_system_device_is_up_with_iface): clean up
3512
3513 2008-05-13  Dan Williams  <dcbw@redhat.com>
3514
3515         Fix refcounting issues over sleep/wake when a VPN connection was active that
3516         caused NM to try registering an object path for a device upon wake that was
3517         the same as an already registered object path.
3518
3519         * src/nm-device.c
3520                 - (nm_device_take_down): properly handle cases where the device is
3521                         no longer active but was just active, and therefore must be
3522                         deactivated.  When a device moves to unmanaged mode, this function
3523                         previously would not deactivate the device, because the state was
3524                         already unmanaged by the time this function was called.
3525
3526         * src/vpn-manager/nm-vpn-connection.c
3527                 - (device_state_changed): properly handle multiple devices states in
3528                         which the device is now deactivated.  Code previously didn't handle
3529                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3530                         UNMANAGED states.
3531
3532 2008-05-13  Dan Williams  <dcbw@redhat.com>
3533
3534         * src/nm-device-private.h
3535           src/nm-device.c
3536                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3537
3538         * src/nm-device-802-11-wireless.c
3539                 - (nm_device_802_11_wireless_set_enabled): take devices up
3540                         and down as appropriate for the rfkill state
3541
3542 2008-05-13  Dan Williams  <dcbw@redhat.com>
3543
3544         * marshallers/nm-marshal.list
3545                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3546
3547         * system-settings/plugins/ifcfg-fedora/Makefile.am
3548           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3549           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3550                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3551                         events.  Solely for use watching ifcfg files to pick up changes
3552                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3553
3554         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3555                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3556                         file contents change
3557                 - (finalize): clean up inotify watches
3558                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3559                         and the connection ifcfg for changes on their hardlinks
3560                 - (files_changed_cb): proxy the changed signal back out to listeners
3561
3562         * system-settings/plugins/ifcfg-fedora/plugin.c
3563                 - (dir_changed): 
3564                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3565                         changes
3566                 - (read_one_connection): connect to change signals on the new connection
3567                 - (dir_changed, connection_changed_handler,
3568                    handle_connection_remove_or_new): break out connection change
3569                         handling and connection new/remove handling so it can be used from
3570                         both the GFileMonitor callback and the NMIfcfgConnection changed
3571                         signals
3572
3573         * system-settings/plugins/ifcfg-fedora/reader.c
3574           system-settings/plugins/ifcfg-fedora/reader.h
3575                 - (connection_from_file): return the keyfile path the connection would use
3576
3577 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3578
3579         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3580         single PolKitContext which is shared by all. PolKitContext::unref leaks
3581         just about everything, including all open file descriptiors and results
3582         in 99% cpu usage when data arrives to any of the fds that don't belong
3583         to any context anymore.
3584
3585 2008-05-12  Dan Williams  <dcbw@redhat.com>
3586
3587         * gfilemonitor/glocaldirectorymonitor.c
3588           gfilemonitor/glocaldirectorymonitor.h
3589                 - (g_local_directory_monitor_constructor): actually subscribe to the
3590                         watch
3591                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3592
3593         * gfilemonitor/glocalfilemonitor.c
3594           gfilemonitor/glocalfilemonitor.h
3595                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3596                 - (_g_local_file_monitor_new): ensure that inotify is started up
3597
3598 2008-05-11  Dan Williams  <dcbw@redhat.com>
3599
3600         * configure.in
3601                 - record PolicyKit version
3602
3603         * system-settings/src/nm-polkit-helpers.c
3604                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3605                         with PolicyKit <= 0.6
3606
3607 2008-05-11  Dan Williams  <dcbw@redhat.com>
3608
3609         Update Fedora system-settings plugin to support latest API and use
3610         GFileMonitor rather than home-rolled inotify code.
3611
3612         * system-settings/plugins/ifcfg-fedora/Makefile.am
3613           system-settings/plugins/ifcfg-fedora/common.h
3614           system-settings/plugins/ifcfg-fedora/plugin.c
3615                 - Update to latest system settings plugin API; use GIO instead of
3616                         custom inotify code; use NMIfcfgConnection objects instead of
3617                         ConnectionData structures tacked onto NMConnection objects
3618
3619         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3620           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3621                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3622                         connections
3623
3624         * system-settings/plugins/ifcfg-fedora/reader.c
3625           system-settings/plugins/ifcfg-fedora/reader.h
3626                 - Move ifcfg parsing bits here from parser.c
3627
3628         * system-settings/plugins/ifcfg-fedora/parser.c
3629           system-settings/plugins/ifcfg-fedora/parser.h
3630                 - Remove; most code moved to reader.c
3631
3632 2008-05-11  Dan Williams  <dcbw@redhat.com>
3633
3634         * configure.in
3635           Makefile.am
3636           gfilemonitor/*
3637                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3638                         implementation, so that the same change monitoring code can be used
3639                         on systems without glib-2.14 (like Fedora 8)
3640
3641         * system-settings/plugins/keyfile/Makefile.am
3642           system-settings/plugins/keyfile/plugin.c
3643           system-settings/plugins/ifcfg-suse/Makefile.am
3644           system-settings/plugins/ifcfg-suse/plugin.c
3645                 - Use private gfilemonitor code if GIO is not present
3646
3647 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3648
3649         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3650         NMExportedConnection's 'update' and 'delete' and return error with
3651         descriptive message.
3652
3653 2008-05-08  Dan Williams  <dcbw@redhat.com>
3654
3655         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3656
3657         * src/nm-gsm-device.c
3658           src/nm-cdma-device.c
3659                 - (real_get_best_auto_connection): implement; allow autoconnection
3660                         to GSM & CDMA devices
3661
3662 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3663
3664         Use PolicyKit to authorize the system settings' AddConnection method
3665         and the system settings connections' Update and Delete methods.
3666         
3667         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3668         (impl_exported_connection_delete, nm_exported_connection_update)
3669         (nm_exported_connection_delete): Return boolean and fill GError
3670         to notify the callers of the reasons why it might have failed.
3671
3672         * libnm-glib/nm-dbus-settings-system.c
3673         (nm_dbus_settings_system_add_connection): Return the error from dbus
3674         call so that the callers can see why it failed.
3675
3676         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3677         signatures.
3678
3679         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3680
3681         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3682         abstract base class that checks PolicyKit permissions.
3683
3684         * system-settings/src/dbus-settings.c:
3685         (impl_settings_add_connection): Check the policy before carring out
3686         the request.
3687
3688         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3689         Inherit from NMSysconfigConnection, check the policies before
3690         allowing updating or removing.
3691
3692         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3693         Inherit from NMSysconfigConnection.
3694
3695         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3696         "Delete" methods with async flag so that the implementations can get
3697         access to DBusGMethodInvocation.
3698
3699         * system-settings/src/dbus-settings.c 
3700         (settings_add_connection_check_privileges): Implement.
3701         (impl_settings_add_connection): Check the privileges before adding a new
3702         connection. Improve error reporting.
3703
3704         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3705         async so that the implementation can access DBusGMethodInvocation.
3706
3707         * configure.in: Check for PolicyKit.
3708
3709         * policy/org.freedesktop.network-manager-settings.system.policy: 
3710         New file.
3711
3712         * policy/Makefile.am: Install the policy file.
3713
3714         * configure.in: Add 'policy' subdir.
3715
3716 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3717
3718         Rewrite the suse system settings plugin.
3719
3720         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3721
3722         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3723
3724         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3725
3726         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3727
3728         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3729
3730         * system-settings/src/main.c (load_plugins): Improve error reporting.
3731
3732         * system-settings/src/sha1.[ch] Add.
3733
3734         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3735
3736 2008-05-07  Dan Williams  <dcbw@redhat.com>
3737
3738         * system-settings/plugins/keyfile/reader.c
3739                 - (read_one_setting_value): handle IP address items separately
3740                 - (read_array_of_uint): read IPv4 DNS option as a string array
3741                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3742                         array
3743
3744         * system-settings/plugins/keyfile/writer.c
3745                 - (write_setting_value): handle IP address items separately
3746                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3747                         not an array of uint, so that it's user-editable
3748                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3749                         arrays, so they are user-editable
3750
3751 2008-05-07  Dan Williams  <dcbw@redhat.com>
3752
3753         * system-settings/plugins/keyfile/Makefile.am
3754                 - Change location of the keyfile plugin settings to
3755                         /etc/NetworkManager/system-connections
3756
3757 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3758
3759         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3760
3761         * system-settings/plugins/keyfile/plugin.c: Work with
3762         NMKeyfileConnections.
3763
3764         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3765         Plugins are supposed to return NMExportedConnections now and handle the
3766         updated(), removed(), and GetSecrets().
3767         Store the internal list of connections in hash table to make it easier
3768         to find duplicates.
3769
3770 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3771
3772         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3773         for multiple IP addresses.
3774
3775 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3776
3777         Patch from André Lemos.
3778
3779         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3780         corruption.
3781
3782 2008-05-06  Dan Williams  <dcbw@redhat.com>
3783
3784         * src/dhcp-manager/nm-dhcp-manager.c
3785                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3786                         NMIP4Config to support multiple IP addresses
3787
3788         * src/NetworkManagerUtils.c
3789                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3790
3791         * src/nm-ip4-config.c
3792           src/nm-ip4-config.h
3793                 - Store a list of IPv4 address/netmask/gateway tuples
3794                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3795                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3796                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3797                    nm_ip4_config_set_address): remove
3798                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3799                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3800                         new functions; handle multiple IPv4 addresses
3801
3802         * src/nm-device.c
3803           src/ppp-manager/nm-ppp-manager.c
3804           src/vpn-manager/nm-vpn-connection.c
3805           src/NetworkManagerPolicy.c
3806           test/nm-tool.c
3807           libnm-glib/libnm-glib-test.c
3808                 - update for changes to NMIP4Config for multiple IPv4 addresses
3809
3810         * src/NetworkManagerSystem.c
3811                 - (nm_system_device_set_ip4_route): don't add the route if any address
3812                         is on the same subnet as the destination
3813                 - (check_one_address): ignore the exact match, just match family and
3814                         interface index
3815                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3816                         an interface
3817                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3818                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3819
3820         * introspection/nm-ip4-config.xml
3821                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3822                 - Add 'addresses' property which is an array of (uuu) tuples of
3823                         address/netmask/gateway
3824
3825         * libnm-util/nm-setting-ip4-config.c
3826                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3827
3828         * libnm-glib/nm-ip4-config.c
3829           libnm-glib/nm-ip4-config.h
3830                 - Handle D-Bus interface changes to support multiple IP addresses
3831
3832 2008-05-06  Dan Williams  <dcbw@redhat.com>
3833
3834         * libnm-util/nm-utils.c
3835           libnm-util/nm-utils.h
3836                 - (nm_utils_ip4_addresses_from_gvalue,
3837                    nm_utils_ip4_addresses_to_gvalue): new functions
3838
3839 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3840
3841         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3842         the returned connection paths.
3843
3844 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3845
3846         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3847         "PropertiesChanged" signal signature.
3848
3849         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3850         defined in nm-dbus-glib-types.h.
3851         Don't register the connection on dbus, we're a proxy class to 
3852         communicate with an already registered connection over dbus.
3853
3854 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3855
3856         Implement new subclasses of NMSettings and NMExportedConnection to make
3857         it easier for the applet to access and modify system settings.
3858
3859         * libnm-glib/nm-dbus-connection.[ch]:
3860         * libnm-glib/nm-dbus-settings.[ch]:
3861         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3862
3863         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3864         bindings and glue.
3865
3866         * include/NetworkManager.h: Define the system settings DBus interface.
3867
3868 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3869
3870         Implement additional C API for exported connections to make them identical
3871         with the DBus API. Change the (list_connections) virtual function to be
3872         more usable from C - instead of requiring implementers to return a GPtrArray
3873         of dbus paths, return a list of connections.
3874
3875         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3876         (nm_settings_list_connections):
3877         (nm_exported_connection_new):
3878         (nm_exported_connection_update):
3879         (nm_exported_connection_delete): Implement.
3880
3881         (impl_settings_list_connections):
3882         (impl_exported_connection_update):
3883         (impl_exported_connection_delete): Use the new public functions to make 
3884         sure the C and dbus interfaces stay in sync.
3885
3886         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3887         connections.
3888
3889 2008-05-02  Dan Williams  <dcbw@redhat.com>
3890
3891         * system-settings/plugins/ifcfg-fedora/plugin.c
3892                 - (dispose): use right unref call on the DBusGConnection
3893
3894 2008-05-02  Dan Williams  <dcbw@redhat.com>
3895
3896         * src/nm-serial-device.c
3897                 - (find_terminator): don't compare the whole line, just the size of the
3898                         terminator, since some modems put stuff after the terminator, like
3899                         "CONNECT 9600"
3900
3901 2008-05-01  Dan Williams  <dcbw@redhat.com>
3902
3903         Patch from Michael Biebl <biebl@debian.org>
3904
3905         * callouts/Makefile.am
3906           callouts/org.freedesktop.nm_dispatcher.service.in
3907           system-settings/src/Makefile.am
3908           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3909                 - use the right install location for dbus-activated stuff
3910
3911 2008-04-30  Dan Williams  <dcbw@redhat.com>
3912
3913         * src/nm-gsm-device.c
3914                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3915                         PIN or PUK
3916
3917 2008-04-30  Dan Williams  <dcbw@redhat.com>
3918
3919         * src/nm-manager.c
3920                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3921
3922 2008-04-30  Dan Williams  <dcbw@redhat.com>
3923
3924         * src/nm-device-802-3-ethernet.c
3925           src/nm-device-802-11-wireless.c
3926                 - (real_is_up): return true instead of chaining up to unimplemented
3927                         parent method
3928
3929 2008-04-30  Dan Williams  <dcbw@redhat.com>
3930
3931         * src/NetworkManagerSystem.c
3932           src/NetworkManagerSystem.h
3933                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3934                         functions to check device flags for IFF_UP
3935
3936         * src/nm-serial-device.c
3937                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3938                         implement is_up
3939
3940         * src/nm-device-802-3-ethernet.c
3941           src/nm-device-802-11-wireless.c
3942                 - (real_hw_is_up): call nm_system_device_is_up()
3943
3944         * src/nm-device.c
3945                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3946                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3947                         does not implement
3948
3949 2008-04-29  Dan Williams  <dcbw@redhat.com>
3950
3951         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3952
3953         * marshallers/nm-marshal.list
3954                 - Add marshaller
3955
3956         * src/NetworkManager.c
3957                 - (main): let the NMManager handle the NMHalManager
3958
3959         * src/nm-hal-manager.c
3960           src/nm-hal-manager.h
3961                 - convert to a GObject, and emit singals when stuff changes.  Let the
3962                         NMManager handle the signals, instead of the NMHalManager calling
3963                         into the NMManager.  
3964
3965         * src/nm-manager.c
3966           src/nm-manager.h
3967                 - (remove_one_device): consolidate device removals here
3968                 - (dispose): use remove_one_device()
3969                 - (nm_manager_get_device_by_udi): make static
3970                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3971                         manager for devices at startup or wakeup time
3972                 - (nm_manager_new): create and monitor the HAL manager
3973                 - (hal_manager_udi_added_cb): new function; do what
3974                         nm_manager_add_device() used to do when signalled by the hal manager
3975                 - (hal_manager_udi_removed_cb): new function; do what
3976                         nm_manager_remove_device() used to do when signalled by the hal
3977                         manager
3978                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3979                         hal manager
3980                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3981                         in our device list that aren't known to HAL
3982                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3983                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3984                         commits ago
3985                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3986                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3987                    nm_manager_wireless_hardware_enabled,
3988                    nm_manager_set_wireless_hardware_enabled): remove, unused
3989
3990 2008-04-28  Dan Williams  <dcbw@redhat.com>
3991
3992         Fix the device up/down ambiguities.  Up/down state used to be a
3993         conglomeration of hardware state (IFF_UP) and any device-specific things
3994         (supplicant, periodic timers, etc) that the device used to indicate
3995         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3996         reason, then the device specific stuff wouldn't get run, and the device
3997         would be stuck.
3998
3999         * src/nm-device.c
4000           src/nm-device.h
4001                 - Create hw_is_up, hw_bring_up, and hw_take_down
4002                 - Rename bring_down -> take_down
4003                 - (real_hw_is_up): check interface flags for IFF_UP
4004                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
4005                 - (nm_device_is_up): make static; only used locally
4006                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
4007                         if the device is already up; if the device isn't up, bring it up
4008                 - (nm_device_hw_take_down): just take down hardware
4009                 - (nm_device_bring_up): bring up HW first, then device specific stuff
4010                 - (nm_device_take_down): always deactivate device when called; always
4011                         try to take hardware down too
4012                 - (nm_device_state_changed): take device down when entering unmanaged
4013                         state from a higher state
4014
4015         * src/nm-device-802-11-wireless.c
4016                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
4017                         check IFF_UP really
4018                 - (real_take_down, supplicant_iface_state_cb_handler, 
4019                    supplicant_iface_connection_state_cb_handler,
4020                    supplicant_mgr_state_cb_handler): fix some messages
4021
4022         * src/nm-device-802-3-ethernet.c
4023                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
4024                         check IFF_UP really
4025
4026 2008-04-28  Dan Williams  <dcbw@redhat.com>
4027
4028         * src/nm-manager.c
4029           src/nm-manager.h
4030                 - (nm_manager_error_get_type): add new error
4031                 - (nm_manager_remove_device): don't bother taking down the device here,
4032                         the state change from unmanaging the device will do it
4033                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
4034                         uses it; when going to sleep, just unmanage the device instead of
4035                         taking it down, because stuff will cleaned up correctly when the
4036                         device gets unmanaged
4037
4038 2008-04-28  Dan Williams  <dcbw@redhat.com>
4039
4040         * src/nm-hal-manager.c
4041                 - (add_initial_devices): convert to a GSourceFunc prototype
4042                 - (nm_manager_state_changed): when coming out of sleep, punt the
4043                         device re-addition to an idle handler to let D-Bus events go out
4044                         first, fixing a potential dbus-glib assert if the old device was
4045                         not yet disposed (due to references held while emitting the D-Bus
4046                         signals) but the new device was found, because the mainloop didn't
4047                         run between signal emission and add_initial_devices()
4048
4049 2008-04-27  Dan Williams  <dcbw@redhat.com>
4050
4051         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4052
4053         * initscript/paldo/NetworkManager.in
4054           initscript/SUSE/networkmanager.in
4055                 - Remove last bits of dhcdbd
4056
4057 2008-04-27  Dan Williams  <dcbw@redhat.com>
4058
4059         * src/nm-device-802-11-wireless.c
4060                 - (link_timeout_cb): don't ask for secrets when disconnected during
4061                         association/authentication phase, drivers are still just too crappy
4062
4063 2008-04-27  Dan Williams  <dcbw@redhat.com>
4064
4065         * Makefile.am
4066           configure.in
4067           dispatcher-daemon/Makefile.am
4068           dispatcher-daemon/NetworkManagerDispatcher.c
4069           initscript/Arch/Makefile.am
4070           initscript/Arch/networkmanager-dispatcher.in
4071           initscript/Gentoo/Makefile.am
4072           initscript/Gentoo/NetworkManagerDispatcher.in
4073           initscript/Mandriva/Makefile.am
4074           initscript/Mandriva/networkmanagerdispatcher.in
4075           initscript/RedHat/Makefile.am
4076           initscript/RedHat/NetworkManagerDispatcher.in
4077           initscript/SUSE/Makefile.am
4078           initscript/SUSE/networkmanager-dispatcher.in
4079           initscript/Slackware/Makefile.am
4080           initscript/Slackware/rc.networkmanager-dispatcher.in
4081           initscript/paldo/Makefile.am
4082           initscript/paldo/NetworkManagerDispatcher.in
4083           man/Makefile.am
4084           man/NetworkManagerDispatcher.8.in
4085                 - Remove the dispatcher daemon
4086
4087 2008-04-27  Dan Williams  <dcbw@redhat.com>
4088
4089         * callouts/Makefile.am
4090           callouts/nm-dispatcher-action.c
4091           callouts/nm-dispatcher-action.h
4092           callouts/nm-dispatcher.conf
4093           callouts/nm-dispatcher.xml
4094           callouts/org.freedesktop.nm_dispatcher.service
4095                 - Re-implement the dispatcher as a system-bus activated service that
4096                         NM calls on-demand, rather than an always running daemon
4097
4098         * src/Makefile.am
4099                 - Add callouts dir to includes to pick up dispatcher defines
4100
4101         * src/nm-device.c
4102                 - (nm_device_state_changed): call dispatcher on device activated/
4103                         deactivated
4104
4105         * src/vpn-manager/nm-vpn-connection.c
4106                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
4107                         go up and down
4108
4109         * src/NetworkManagerUtils.c
4110           src/NetworkManagerUtils.h
4111                 - (nm_utils_call_dispatcher): helper to call dispatcher
4112
4113 2008-04-27  Dan Williams  <dcbw@redhat.com>
4114
4115         * src/NetworkManagerUtils.c
4116           src/NetworkManagerUtils.h
4117                 - remove unneeded includes
4118                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4119                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4120                    nm_timeval_cmp, nm_timeval_add): remove, unused
4121                 - clean up formatting
4122                 - (nm_spawn_process): de-uglify
4123
4124         * src/nm-device-802-11-wireless.c
4125                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4126
4127 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4128
4129         * initscript/Gentoo/NetworkManager.in:
4130                 Fix for starting the daemon.
4131
4132 2008-04-25  Dan Williams  <dcbw@redhat.com>
4133
4134         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4135
4136         * src/NetworkManagerSystem.c
4137                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4138
4139 2008-04-25  Dan Williams  <dcbw@redhat.com>
4140
4141         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4142
4143         * src/NetworkManagerSystem.c
4144                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4145                         implementation of nm_system_device_replace_default_route()
4146
4147         * src/NetworkManagerPolicy.c
4148                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4149
4150         * src/backends/NetworkManagerArch.c
4151           src/backends/NetworkManagerDebian.c
4152           src/backends/NetworkManagerFrugalware.c
4153           src/backends/NetworkManagerGeneric.c
4154           src/backends/NetworkManagerGeneric.h
4155           src/backends/NetworkManagerGentoo.c
4156           src/backends/NetworkManagerMandriva.c
4157           src/backends/NetworkManagerPaldo.c
4158           src/backends/NetworkManagerRedHat.c
4159           src/backends/NetworkManagerSlackware.c
4160           src/backends/NetworkManagerSuSE.c
4161                 - (nm_system_device_replace_default_route): remove
4162
4163 2008-04-25  Dan Williams  <dcbw@redhat.com>
4164
4165         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4166
4167         * src/NetworkManagerSystem.c
4168                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4169                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4170                         replace nm_system_device_add_route_via_device_with_iface() in the
4171                         backends
4172
4173         * src/backends/NetworkManagerArch.c
4174           src/backends/NetworkManagerDebian.c
4175           src/backends/NetworkManagerFrugalware.c
4176           src/backends/NetworkManagerGeneric.c
4177           src/backends/NetworkManagerGeneric.h
4178           src/backends/NetworkManagerGentoo.c
4179           src/backends/NetworkManagerMandriva.c
4180           src/backends/NetworkManagerPaldo.c
4181           src/backends/NetworkManagerRedHat.c
4182           src/backends/NetworkManagerSlackware.c
4183           src/backends/NetworkManagerSuSE.c
4184                 - Remove nm_system_device_add_route_via_device_with_iface()
4185
4186 2008-04-25  Dan Williams  <dcbw@redhat.com>
4187
4188         * system-settings/plugins/ifcfg-fedora/parser.c
4189                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4190
4191 2008-04-24  Dan Williams  <dcbw@redhat.com>
4192
4193         * dispatcher-daemon/NetworkManagerDispatcher.c
4194                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4195
4196 2008-04-24  Dan Williams  <dcbw@redhat.com>
4197
4198         * initscript/RedHat/NetworkManager.in
4199           initscript/RedHat/NetworkManagerDispatcher.in
4200                 - Be active at runlevel 2
4201                 - Adjust priorities earlier
4202
4203 2008-04-22  Dan Williams  <dcbw@redhat.com>
4204
4205         * src/NetworkManagerPolicy.c
4206                 - (update_routing_and_dns): when checking for a gateway, look at the
4207                         composite IP4 config, not the connection's ip4-config setting, which
4208                         doesn't include DHCP-returned information
4209
4210 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4211
4212         Implement GKeyFile system settings plugin.
4213         Implement writing system settings (currently supported only by GKeyFile plugin).
4214
4215         * system-settings/src/main.c: 
4216         * system-settings/src/dbus-settings.c: Move the communication with plugins
4217         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4218         plugins for adding/updating/removing connections.
4219
4220         * system-settings/src/nm-system-config-interface.c
4221         (nm_system_config_interface_add_connection): Implement
4222         (nm_system_config_interface_update_connection): Implement.
4223         (nm_system_config_interface_remove_connection): Implement.
4224
4225         * system-settings/plugins/keyfile/Makefile.am:
4226         * system-settings/plugins/keyfile/plugin.[ch]:
4227         * system-settings/plugins/keyfile/writer.[ch]:
4228         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4229
4230         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4231
4232         * configure.in: Generate GKeyFile Makefile.
4233
4234         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4235         corruption, need to duplicate the returned string.
4236         (impl_exported_connection_update): Implement.
4237         (impl_exported_connection_delete): Implement.
4238
4239         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4240
4241         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4242
4243 2008-04-22  Dan Williams  <dcbw@redhat.com>
4244
4245         Patch from Charles R. Anderson (cra@wpi.edu)
4246
4247         * src/NetworkManagerPolicy.c
4248                 - (update_routing_and_dns): don't select devices without a gateway
4249                         as having the default route (rh #437338)
4250
4251 2008-04-21  Dan Williams  <dcbw@redhat.com>
4252
4253         * src/nm-activation-request.c
4254           src/nm-activation-request.h
4255                 - (dispose): ensure to disconnect from the device's state-changed signal
4256                         when appropriate so the signal doesn't get handled by an already
4257                         disposed NMActRequest
4258                 - (device_state_changed): update is_default here too just to make sure
4259                         default is only True when the child device is activated
4260                 - (nm_act_request_set_default): new function
4261
4262         * src/NetworkManagerPolicy.c
4263                 - (update_routing_and_dns): set 'default' on the active connection which
4264                         has the default route and DNS
4265
4266 2008-04-21  Dan Williams  <dcbw@redhat.com>
4267
4268         * src/NetworkManagerPolicy.c
4269                 - (device_state_changed): update routing and DNS when a device goes
4270                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4271
4272 2008-04-21  Dan Williams  <dcbw@redhat.com>
4273
4274         * include/NetworkManager.h
4275                 - Add NMActiveConnectionState enum
4276
4277         * introspection/nm-active-connection.xml
4278           introspection/nm-vpn-connection.xml
4279                 - Add 'State' property for overall active connection state
4280                 - Add 'Default' property, when True means this active connection
4281                         has the default route
4282                 - Add PropertyChanged signals so changes actually go out over the bus
4283
4284         * src/nm-active-connection.h
4285                 - Add defines for State & Default properties
4286
4287         * src/nm-activation-request.c
4288                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4289                         signal to determine active connection state
4290
4291         * src/vpn-manager/nm-vpn-connection.c
4292           src/vpn-manager/nm-vpn-connection.h
4293           src/vpn-manager/nm-vpn-manager.c
4294           src/vpn-manager/nm-vpn-service.c
4295                 - Rename old 'state' to 'vpn-state'
4296                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4297                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4298                         'vpn-state-changed' signal
4299
4300         * libnm-glib/nm-active-connection.c
4301           libnm-glib/nm-active-connection.h
4302                 - Add new 'state' and 'default' properties and accessors
4303
4304         * libnm-glib/nm-vpn-connection.c
4305           libnm-glib/nm-vpn-connection.h
4306                 - Rename old 'state' property to 'vpn-state'
4307                 - Add new 'state' and 'default' properties and accessors
4308
4309 2008-04-21  Dan Williams  <dcbw@redhat.com>
4310
4311         * src/nm-ip4-config.c
4312                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4313                         not specified (rh #443474)
4314
4315 2008-04-20  Dan Williams  <dcbw@redhat.com>
4316
4317         * src/NetworkManagerUtils.c
4318           src/NetworkManagerUtils.h
4319                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4320                         NMSettingIP4Config to an NMIP4Config object
4321
4322         * src/nm-device.c
4323                 - (merge_ip4_config): move to NetworkManagerUtils.c
4324
4325         * src/vpn-manager/nm-vpn-connection.c
4326                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4327                         too
4328
4329 2008-04-18  Dan Williams  <dcbw@redhat.com>
4330
4331         * libnm-util/nm-setting-ppp.c
4332           libnm-util/nm-setting-ppp.h
4333                 - Add 'no-vj-comp' option for TCP header compression
4334                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4335                         uint32
4336
4337 2008-04-18  Dan Williams  <dcbw@redhat.com>
4338
4339         * libnm-util/nm-setting-ppp.c
4340           libnm-util/nm-setting-ppp.h
4341           src/ppp-manager/nm-ppp-manager.c
4342                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4343
4344 2008-04-18  Dan Williams  <dcbw@redhat.com>
4345
4346         * libnm-util/nm-setting-ppp.c
4347           libnm-util/nm-setting-ppp.h
4348           src/ppp-manager/nm-ppp-manager.c
4349                 - Remove the 'usepeerdns' option and always request DNS servers from
4350                         the PPP server; the connection chooses to use/override/ignore the
4351                         DNS servers returned from the PPP server
4352
4353 2008-04-18  Dan Williams  <dcbw@redhat.com>
4354
4355         * libnm-util/nm-setting-ppp.c
4356           libnm-util/nm-setting-ppp.h
4357           src/ppp-manager/nm-ppp-manager.c
4358                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4359                         it seems to have been an erroneous addition to the PPTP plugin in
4360                         the first place (from which the ppp-manager is derived)
4361
4362 2008-04-17  Dan Williams  <dcbw@redhat.com>
4363
4364         * libnm-util/nm-setting-pppoe.c
4365                 - (verify): require a PPP setting too
4366
4367         * src/ppp-manager/nm-ppp-manager.c
4368                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4369                         segfaulting
4370
4371 2008-04-17  Dan Williams  <dcbw@redhat.com>
4372
4373         * src/nm-device.c
4374                 - (nm_device_state_changed): do deactivation and and promotion to
4375                         unavailable here, so that the device gets cleaned up before the
4376                         manager runs and starts emitting signals; do the
4377                         FAILED->DISCONNECTED transition from an idle handler rather than
4378                         immediately to guard against recursion
4379                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4380                         FAILED->DISCONNECTED handler if it's scheduled
4381
4382 2008-04-17  Dan Williams  <dcbw@redhat.com>
4383
4384         * src/nm-device-802-11-wireless.c
4385                 - (state_changed_cb): clear AP list when device transitions to
4386                         unavailable or unmanaged
4387                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4388                         since this is already done in device_cleanup()
4389                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4390                         isn't available or managed
4391                 - (device_cleanup): use remove_all_aps()
4392                 - (remove_all_aps): consolidate code removing all APs
4393
4394 2008-04-17  Dan Williams  <dcbw@redhat.com>
4395
4396         * src/nm-serial-device.c
4397           src/nm-serial-device.h
4398                 - (wait_for_reply_got_data): break input into lines, and search each
4399                         line for responses _and_ terminator strings; also make sure that
4400                         the read loop doesn't continue after the timeout is supposed to fire
4401                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4402
4403         * src/nm-gsm-device.c
4404           src/nm-cdma-device.c
4405                 - Send terminators to nm_serial_device_wait_for_reply()
4406
4407 2008-04-16  Dan Williams  <dcbw@redhat.com>
4408
4409         Patch from 陈鑫 <znscnchen@gmail.com>
4410
4411         * src/ppp-manager/nm-pppd-plugin.c
4412                 - (get_credentials): return correct value for success; handle case where
4413                         pppd just does some checking but doesn't want a password
4414                 - (plugin_init): make CHAP work too
4415
4416 2008-04-16  Dan Williams  <dcbw@redhat.com>
4417
4418         Patch from 陈鑫 <znscnchen@gmail.com>
4419
4420         * src/ppp-manager/nm-ppp-manager.c
4421                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4422
4423 2008-04-16  Dan Williams  <dcbw@redhat.com>
4424
4425         Patch from 陈鑫 <znscnchen@gmail.com>
4426
4427         * src/nm-device-802-3-ethernet.c
4428                 - (real_deactivate_quickly): clear the IP interface name on
4429                         deactivation, otherwise the wrong interface might get used later
4430                         for routing and IP management
4431
4432 2008-04-15  Dan Williams  <dcbw@redhat.com>
4433
4434         * libnm-glib/nm-device.c
4435                 - (get_product_and_vendor): handle serial devices correctly
4436                 - (nm_device_update_description): pass device to get_product_and_vendor()
4437
4438 2008-04-15  Dan Williams  <dcbw@redhat.com>
4439
4440         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4441
4442         * src/NetworkManagerSystem.h
4443           src/backends/NetworkManagerArch.c
4444           src/backends/NetworkManagerDebian.c
4445           src/backends/NetworkManagerFrugalware.c
4446           src/backends/NetworkManagerGeneric.c
4447           src/backends/NetworkManagerGeneric.h
4448           src/backends/NetworkManagerGentoo.c
4449           src/backends/NetworkManagerMandriva.c
4450           src/backends/NetworkManagerPaldo.c
4451           src/backends/NetworkManagerRedHat.c
4452           src/backends/NetworkManagerSlackware.c
4453           src/backends/NetworkManagerSuSE.c
4454           src/nm-device.c
4455                 - (nm_generic_device_add_ip6_link_address,
4456                    nm_system_device_add_ip6_link_address): remove
4457
4458 2008-04-15  Dan Williams  <dcbw@redhat.com>
4459
4460         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4461
4462         * src/backends/NetworkManagerArch.c
4463           src/backends/NetworkManagerDebian.c
4464           src/backends/NetworkManagerFrugalware.c
4465           src/backends/NetworkManagerGeneric.c
4466           src/backends/NetworkManagerGeneric.h
4467           src/backends/NetworkManagerGentoo.c
4468           src/backends/NetworkManagerMandriva.c
4469           src/backends/NetworkManagerPaldo.c
4470           src/backends/NetworkManagerRedHat.c
4471           src/backends/NetworkManagerSlackware.c
4472           src/backends/NetworkManagerSuSE.c
4473           src/NetworkManagerSystem.h
4474                 - flush_routes -> flush_ip4_routes
4475                 - flush_addresses -> flush_ip4_addresses
4476
4477         * src/NetworkManagerSystem.c
4478           src/nm-device.c
4479           src/vpn-manager/nm-vpn-connection.c
4480                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4481
4482 2008-04-15  Dan Williams  <dcbw@redhat.com>
4483
4484         Remove exposure of wireless-tools mode types in the API.
4485
4486         * include/NetworkManager.h
4487                 - Define NM80211Mode enum
4488
4489         * introspection/generic-types.xml
4490                 - Describe NM_802_11_MODE enum
4491                 - Remove IW_MODE_* enum
4492
4493         * introspection/nm-access-point.xml
4494           libnm-glib/nm-access-point.c
4495           libnm-glib/nm-access-point.h
4496                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4497
4498         * introspection/nm-device-802-11-wireless.xml
4499           libnm-glib/nm-device-802-11-wireless.c
4500           libnm-glib/nm-device-802-11-wireless.h
4501                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4502
4503         * libnm-util/nm-setting-wireless.c
4504           src/NetworkManagerAP.c
4505           src/NetworkManagerAP.h
4506           src/nm-device-802-11-wireless.c
4507           src/nm-device-802-11-wireless.h
4508           test/nm-tool.c
4509                 - Use NM80211Mode not IW_MODE_*
4510
4511 2008-04-15  Dan Williams  <dcbw@redhat.com>
4512
4513         Enhance nm-online based on a patch from Bill Nottingham.
4514
4515         * test/nm-online.c
4516                 - Add a '-q' option
4517                 - Add help messages and option summary
4518                 - Add long-format options
4519                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4520
4521 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4522
4523         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4524
4525         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4526
4527 2008-04-15  Dan Williams  <dcbw@redhat.com>
4528
4529         * nm-setting-ip4-config.c
4530                 - (ip4_addresses_from_gvalue): handle NULL address array
4531
4532         * nm-setting-8021x.c
4533                 - (verify_tls, verify_ttls): warn on failed verification
4534
4535 2008-04-10  Dan Williams  <dcbw@redhat.com>
4536
4537         * src/nm-gsm-device.c
4538                 - (automatic_registration): accept "+CREG: 0,0"
4539                 - (automatic_registration_response): fail on "+CREG: 0,0"
4540
4541 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4542
4543         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4544
4545 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4546
4547         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4548         Make it compile again by commenting out broken code that at first didn't work and
4549         now didn't compile either.
4550
4551 2008-04-08  Dan Williams  <dcbw@redhat.com>
4552
4553         * libnm-glib/nm-object-cache.c
4554           libnm-glib/nm-settings.c
4555           src/dhcp-manager/nm-dhcp-manager.c
4556           system-settings/plugins/ifcfg-fedora/plugin.c
4557           system-settings/plugins/ifcfg-suse/plugin.c
4558           system-settings/src/nm-system-config-hal-manager.c
4559           libnm-util/nm-utils.c
4560                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4561                         not threadsafe anyway
4562
4563 2008-04-08  Dan Williams  <dcbw@redhat.com>
4564
4565         * system-settings/src/main.c
4566                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4567                         callbacks take a device type too
4568
4569 2008-04-08  Dan Williams  <dcbw@redhat.com>
4570
4571         The system settings service will now create a new default DHCP connection
4572         for wired devices that have no existing applicable connection.
4573
4574         * system-settings/src/nm-system-config-hal-manager.c
4575           system-settings/src/nm-system-config-hal-manager.h
4576                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4577
4578         * system-settings/src/dbus-settings.c
4579           system-settings/src/dbus-settings.h
4580                 - (nm_sysconfig_settings_get_connections): new function
4581                 - (nm_sysconfig_settings_is_device_managed): new function
4582
4583         * system-settings/src/main.c
4584                 - (load_stuff): check for wired devices that need a default connection
4585                 - (get_details_for_udi): get interface and MAC address from HAL
4586                 - (add_default_dhcp_connection): add a default connection for a wired
4587                         device if needed
4588                 - (device_added_cb, device_removed_cb): do the right thing with
4589                         wired devices and their default connections on HAL device events
4590
4591 2008-04-07  Dan Williams  <dcbw@redhat.com>
4592
4593         * libnm-glib/nm-device.c
4594           libnm-glib/nm-device.h
4595                 - Proxy the 'managed' property
4596
4597 2008-04-07  Dan Williams  <dcbw@redhat.com>
4598
4599         * src/nm-gsm-device.c
4600           src/nm-cdma-device.c
4601                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4602                         handler to transition to DISCONNECTED
4603
4604 2008-04-07  Dan Williams  <dcbw@redhat.com>
4605
4606         Patch from Bill Nottingham
4607
4608         * dispatcher-daemon/NetworkManagerDispatcher.c
4609                 - ignore backup/packaging crufy (rh #440143)
4610
4611 2008-04-07  Dan Williams  <dcbw@redhat.com>
4612
4613         * include/NetworkManager.h
4614                 - Remove the DOWN and CANCELLED device states
4615                 - Add UNMANAGED and UNAVAILABLE device states
4616                 - Document the device states
4617
4618         * introspection/nm-device.xml
4619           src/nm-device-interface.c
4620           src/nm-device-interface.h
4621                 - Add the 'managed' property
4622
4623         * test/nm-tool.c
4624                 - (detail_device): print out device state
4625
4626         * src/NetworkManagerSystem.h
4627           src/backends/NetworkManagerArch.c
4628           src/backends/NetworkManagerDebian.c
4629           src/backends/NetworkManagerFrugalware.c
4630           src/backends/NetworkManagerGentoo.c
4631           src/backends/NetworkManagerMandriva.c
4632           src/backends/NetworkManagerPaldo.c
4633           src/backends/NetworkManagerRedHat.c
4634           src/backends/NetworkManagerSlackware.c
4635           src/backends/NetworkManagerSuSE.c
4636                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4637                    nm_system_device_free_system_config): remove; they were unused and
4638                         their functionality should be re-implemented in each distro's
4639                         system settings service plugin 
4640
4641         * src/nm-gsm-device.c
4642           src/nm-gsm-device.h
4643           src/nm-cdma-device.c
4644           src/nm-cdma-device.h
4645                 - (*_new): take the 'managed' argument
4646
4647         * src/nm-device.c
4648                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4649                 - (nm_device_init): start in unmanaged state, not disconnected
4650                 - (constructor): don't start device until the system settings service
4651                         has had a chance to figure out if the device is managed or not
4652                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4653                         don't set device state here, let callers handle that as appropriate
4654                 - (nm_device_dispose): don't touch the device if it's not managed
4655                 - (set_property, get_property, nm_device_class_init): implement the
4656                         'managed' property
4657                 - (nm_device_state_changed): bring the device up if its now managed,
4658                         and deactivate it if it used to be active
4659                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4660                         with the managed state
4661
4662         * src/nm-hal-manager.c
4663                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4664                         take initial managed state and pass it along to device constructors
4665                 - (create_device_and_add_to_list): get managed state and pass to
4666                         type creators
4667
4668         * src/nm-device-802-11-wireless.c
4669                 - (real_can_activate): fold in most of
4670                         nm_device_802_11_wireless_can_activate()
4671                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4672                 - (link_timeout_cb): instead of deactivating, change device state and
4673                         let the device state handler to it
4674                 - (real_update_hw_address): clean up
4675                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4676                         handler to transition to DISCONNECTED if the device isn't rfkilled
4677
4678         * src/nm-device-802-3-ethernet.c
4679                 - (set_carrier): move above callers and get rid of prototype
4680                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4681                         idle handler to transition to DISCONNECTED if the device has a
4682                         carrier
4683                 - (real_update_hw_address): clean up
4684                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4685                         deactivation directly as deactivation doesn't change state anymore
4686
4687         * src/NetworkManagerPolicy.c
4688                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4689                         the NMManager and wireless devices work that out themselves now
4690                 - (device_state_changed): change to a switch and update for new device
4691                         states
4692                 - (device_carrier_changed): remove; device handles this now through
4693                         state changes
4694                 - (device_added): don't care about carrier any more; the initial
4695                         activation check will happen when the device transitions to
4696                         DISCONNECTED
4697
4698         * src/nm-manager.c
4699                 - (dispose): clear unmanaged devices
4700                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4701                         the managed property on each device when needed
4702                 - (system_settings_properties_changed_cb): handle signals from the
4703                         system settings service
4704                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4705                         getting the unmanaged device list method call
4706                 - (query_unmanaged_devices): ask the system settings service for its
4707                         list of unmanaged devices
4708                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4709                         devices
4710                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4711                         devices directly and let them handle the necessary state transitions
4712                 - (manager_device_state_changed): update for new device states
4713                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4714                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4715                 - (nm_manager_activate_connection): return error if the device is
4716                         unmanaged
4717                 - (nm_manager_sleep): handle new device states correctly; don't change
4718                         the state of unavailable/unmanaged devices
4719
4720         * libnm-glib/nm-device-802-11-wireless.c
4721                 - (state_changed_cb): update for new device states
4722
4723 2008-04-07  Dan Williams  <dcbw@redhat.com>
4724
4725         * marshallers/nm-marshal.list
4726                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4727
4728 2008-04-07  Dan Williams  <dcbw@redhat.com>
4729
4730         * system-settings/src/main.c
4731                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4732                         plugins to the dbus settings object
4733                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4734                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4735                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4736                 - (main): switch default logging to syslog with a 'debug' option to
4737                         output to console; start up the HAL manager
4738
4739 2008-04-07  Dan Williams  <dcbw@redhat.com>
4740
4741         * introspection/nm-settings-system.xml
4742           introspection/Makefile.am
4743                 - Define the unmanaged devices interface for the system settings service
4744
4745         * system-settings/src/nm-system-config-hal-manager.c
4746           system-settings/src/nm-system-config-hal-manager.h
4747           system-settings/src/nm-system-config-hal-manager-private.h
4748           system-settings/src/Makefile.am
4749                 - Add a lightweight HAL manager object for tracking network devices for
4750                         the purpose of determining unmanaged devices and which devices need
4751                         the default DHCP connections
4752
4753         * system-settings/src/nm-system-config-interface.c
4754           system-settings/src/nm-system-config-interface.h
4755                 - (nm_system_config_interface_init): add the HAL manager as an argument
4756                 - (nm_system_config_interface_get_unmanaged_devices): implement
4757                 - Define 'unmanaged-devices-changed' signal
4758
4759         * system-settings/src/dbus-settings.c
4760           system-settings/src/dbus-settings.h
4761                 - Implement the unmanaged devices interface; some cleanups
4762
4763         * system-settings/plugins/ifcfg-suse/plugin.c
4764                 - Fixup for plugin interface changes
4765
4766         * system-settings/plugins/ifcfg-fedora/plugin.c
4767                 - (get_ether_device_udi): new function; find the device that has
4768                         a specified MAC address and return its UDI
4769                 - (get_udi_for_connection): new function; try to find the specific
4770                         device a connection is locked to, if any
4771                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4772                         response to HAL events
4773                 - (get_unmanaged_devices): new function; return unmanaged device list
4774                 - (build_one_connection): set the connection's locked device, if any
4775                 - (write_auto_wired_connection): remove
4776                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4777                 - (handle_connection_changed): alert listeners that the unmanaged device
4778                         list has changed
4779                 - (init): fixup for plugin interface changes, implement unmanaged devices
4780
4781         * system-settings/plugins/ifcfg-fedora/parser.c
4782           system-settings/plugins/ifcfg-fedora/parser.h
4783                 - (connection_data_free): clean up connection UDI
4784
4785 2008-04-07  Dan Williams  <dcbw@redhat.com>
4786
4787         * system-settings/plugins/ifcfg-fedora/parser.c
4788                 - (make_ip4_setting): fix parsing of DNS servers
4789
4790 2008-04-05  Dan Williams  <dcbw@redhat.com>
4791
4792         * Makefile.am
4793           configure.in
4794           marshallers/Makefile.am
4795           marshallers/nm-marshal-main.c
4796           marshallers/nm-marshal.list
4797                 - Consolidate marshallers
4798
4799         * libnm-glib/nm-marshal-main.c
4800           libnm-glib/nm-marshal.list
4801           src/marshallers/Makefile.am
4802           src/marshallers/nm-marshal-main.c
4803           src/marshallers/nm-marshal.list
4804                 - Remove
4805
4806         * libnm-glib/Makefile.am
4807           src/Makefile.am
4808           src/dhcp-manager/Makefile.am
4809           src/ppp-manager/Makefile.am
4810           src/supplicant-manager/Makefile.am
4811           src/vpn-manager/Makefile.am
4812                 - Use consolidated marshallers
4813
4814 2008-04-04  Dan Williams  <dcbw@redhat.com>
4815
4816         * src/nm-hal-manager.c
4817           src/nm-hal-manager.h
4818                 - (hal_init): don't look for hardware here
4819                 - (nm_hal_manager_start): new function; look for hardware here instead,
4820                         which can be done at a later time than hal_init()
4821
4822         * src/NetworkManager.c
4823                 - (main): start HAL manager after entering the main loop
4824
4825 2008-04-03  Dan Williams  <dcbw@redhat.com>
4826
4827         * libnm-glib/nm-settings.c
4828           libnm-glib/nm-settings.h
4829             - (nm_exported_connection_get_id): new function
4830                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4831
4832 2008-04-02  Dan Williams  <dcbw@redhat.com>
4833
4834         * src/nm-device-interface.c
4835           src/nm-device-interface.h
4836           src/nm-device.c
4837           src/nm-device.h
4838                 - Rename check_connection_conflicts() to check_connection_compatible()
4839
4840         * src/nm-device-802-11-wireless.c
4841                 - (real_check_connection_conflicts): remove
4842                 - (real_check_connection_compatible): implement; match MAC address
4843
4844         * src/nm-device-802-3-ethernet.c
4845                 - (real_check_connection_conflicts): remove
4846                 - (real_check_connection_compatible): implement; match MAC address
4847                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4848
4849         * src/nm-manager.c
4850                 - (check_connection_allowed): remove; unused until PolicyKit integration
4851                 - (internal_activate_device): check whether the connection is compatible
4852                         with the device before trying to activate it
4853
4854 2008-04-02  Dan Williams  <dcbw@redhat.com>
4855
4856         * system-settings/plugins/ifcfg-fedora/parser.c
4857                 - (read_mac_address): new function; read in MAC address and stuff it
4858                         into the connection
4859                 - (add_one_wep_key): remove debug spew
4860                 - (make_wireless_security_setting): validate the default TX key; don't
4861                         add the wireless-security setting if the connection doesn't need
4862                         security; don't leak the keys shvarFile on error cases
4863                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4864                         address
4865
4866 2008-04-02  Dan Williams  <dcbw@redhat.com>
4867
4868         * libnm-util/nm-setting-connection.c
4869           libnm-util/nm-setting-connection.h
4870                 - (set_property, get_property, nm_setting_connection_class_init): remove
4871                         the 'lockdown' property; it's functionality will be replaced by
4872                         PolicyKit instead
4873
4874 2008-04-01  Dan Williams  <dcbw@redhat.com>
4875
4876         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4877
4878         * configure.in
4879           initscript/Makefile.am
4880           initscript/Mandriva/Makefile.am
4881           initscript/Mandriva/networkmanager.in
4882           initscript/Mandriva/networkmanagerdispatcher.in
4883           src/backends/Makefile.am
4884           src/backends/NetworkManagerMandriva.c
4885           system-settings/plugins/Makefile.am
4886                 - Add Mandriva support
4887
4888 2008-03-31  Dan Williams  <dcbw@redhat.com>
4889
4890         * src/vpn-manager/nm-vpn-service.c
4891                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4892                         errors can be passed back to the caller; also no longer scheduled
4893                         as an idle handler, but called directly; and bump up VPN service
4894                         spawn timeout, 2s is really short
4895                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4896                         but call it directly so that errors are reported on return from
4897                         ActivateConnection() and don't get lost.  If scheduled as an idle
4898                         handler, clients don't have the time to query NM for the new VPN
4899                         connection's properties before the VPN connection is torn down again
4900                         if the service couldn't be launched, and therefore launch errors
4901                         get lost.
4902
4903 2008-03-31  Dan Williams  <dcbw@redhat.com>
4904
4905         * src/vpn-manager/nm-vpn-connection.c
4906                 - (device_state_changed): send correct state on device failure too
4907                 - (plugin_state_changed): failed state means unexpected disconnection,
4908                         thus if the service goes away while the VPN connection is activated
4909                         that's a failure too
4910
4911 2008-03-31  Dan Williams  <dcbw@redhat.com>
4912
4913         * src/vpn-manager/nm-vpn-manager.c
4914           src/vpn-manager/nm-vpn-manager.h
4915                 - Make VPNManager errors more available; add a service-start-failed error
4916
4917 2008-03-31  Dan Williams  <dcbw@redhat.com>
4918
4919         * libnm-glib/nm-client.c
4920           libnm-glib/nm-client.h
4921                 - (activate_cb): pass the new active connection to callback; fix
4922                         message when no callback is specified
4923
4924 2008-03-30  Dan Williams  <dcbw@redhat.com>
4925
4926         * libnm-util/nm-setting-wireless-security.c
4927                 - (need_secrets): only require key0 if the transmit key index is also
4928                         0
4929                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4930
4931 2008-03-29  Dan Williams  <dcbw@redhat.com>
4932
4933         * libnm-util/nm-setting-8021x.c
4934           libnm-util/nm-setting-ip4-config.c
4935           libnm-util/nm-setting-vpn-properties.c
4936           libnm-util/nm-setting-vpn.c
4937           libnm-util/nm-setting-wireless-security.c
4938           libnm-util/nm-setting-wireless.c
4939           libnm-util/nm-utils.c
4940           src/dhcp-manager/nm-dhcp-manager.c
4941           src/nm-activation-request.c
4942           src/nm-ip4-config.c
4943           src/nm-manager.c
4944           src/nm-properties-changed-signal.c
4945           src/ppp-manager/nm-pppd-plugin.c
4946           src/supplicant-manager/nm-supplicant-interface.c
4947           src/vpn-manager/nm-vpn-connection.c
4948                 - consistently use nm-dbus-glib-types.h
4949
4950 2008-03-29  Dan Williams  <dcbw@redhat.com>
4951
4952         * src/vpn-manager/nm-vpn-connection.c
4953                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4954                         not string
4955
4956         * src/nm-activation-request.c
4957                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4958                         not string
4959
4960 2008-03-29  Dan Williams  <dcbw@redhat.com>
4961
4962         * libnm-glib/nm-device-802-11-wireless.c
4963                 - (access_point_added_proxy): create new APs if not found
4964
4965 2008-03-29  Dan Williams  <dcbw@redhat.com>
4966
4967         * libnm-glib/nm-client.c
4968                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4969                         before freeing them
4970
4971 2008-03-29  Dan Williams  <dcbw@redhat.com>
4972
4973         * system-settings/plugins/ifcfg-fedora/parser.c
4974                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4975                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4976
4977 2008-03-29  Dan Williams  <dcbw@redhat.com>
4978
4979         * system-settings/plugins/ifcfg-fedora/parser.c
4980                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4981
4982 2008-03-27  Dan Williams  <dcbw@redhat.com>
4983
4984         * nm-object.c
4985                 - (nm_object_queue_notify): don't notify multiple times for the same
4986                         property
4987
4988         * nm-object-private.h
4989                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4990                         if it has zero elements
4991
4992         * nm-ip4-config.c
4993                 - (finalize): use g_ptr_array_foreach() when freeing domains
4994                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4995
4996         * nm-active-connection.c
4997                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4998
4999         * nm-device-802-11-wireless.c
5000           nm-device-802-11-wireless.h
5001                 - (nm_device_802_11_wireless_get_access_points): return const; use
5002                         handle_ptr_array_return()
5003
5004         * nm-types.c
5005                 - (nm_object_array_demarshal): always create an array, even of length
5006                         zero, to distinguish between "NM returned no items" and "haven't
5007                         asked NM yet"
5008
5009         * nm-client.c
5010                 - (dispose): free active connections too
5011                 - (proxy_name_owner_changed): free active connections too when NM goes
5012                         away
5013                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
5014                 - (nm_client_get_active_connections): use handle_ptr_array_return()
5015
5016 2008-03-26  Dan Williams  <dcbw@redhat.com>
5017
5018         Rework VPN connection handling for a more consistent D-Bus API.  The
5019         VPNManager object has been removed, and active VPN connections are now the
5020         same as any other active connection.  The Manager object's ActivateConnection
5021         and DeactivateConnection methods are used to start and stop a VPN connection,
5022         and the VPNConnection objects are subclasses of the ActiveConnection objects.
5023         When activating a VPN connection, pass the path of the active connection
5024         to which the VPN connection is tied in the 'specific_object' argument.
5025
5026         Consequently, the libnm-glib API has been reworked to match this arrangement,
5027         with the VPNManager object removed, and the NMVPNConnection objects now
5028         being subclasses of NMActiveConnection.
5029
5030 2008-03-25  Dan Williams  <dcbw@redhat.com>
5031
5032         Patch from Björn Martensen <bjoern.martensen@gmail.com>
5033
5034         * initscript/Arch/networkmanager.in
5035           initscript/Arch/networkmanager-dispatcher.in
5036                 - Updates for Arch Linux (gnome.org #523701)
5037
5038 2008-03-25  Dan Williams  <dcbw@redhat.com>
5039
5040         * libnm-glib/nm-ip4-config.c
5041           libnm-glib/nm-active-connection.c
5042           libnm-glib/nm-access-point.c
5043                 - Use nm_object_queue_notify() instead of g_object_notify()
5044
5045         * libnm-glib/nm-device.c
5046                 - (demarshal_ip4_config): distinguish between successful but missing
5047                         ip4-config request, and unsuccessful and missing ip4-config request
5048                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
5049                         path
5050                 - Use nm_object_queue_notify() instead of g_object_notify()
5051
5052         * libnm-glib/nm-device-802-11-wireless.c
5053                 - (demarshal_active_ap): distinguish between successfull but missing
5054                         active-ap request, and unsuccessful and missing active-ap request
5055                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
5056                         code
5057                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
5058                         for the NMClient to notify the device that wireless is disabled,
5059                         and therefore to clear the AP list and active AP
5060                 - Use nm_object_queue_notify() instead of g_object_notify()
5061
5062         * libnm-glib/nm-client.c
5063                 - (poke_wireless_devices_with_rf_status): new function
5064                 - (update_wireless_status): notify wireless devices of the rfkill status
5065                         so they can clean up if needed
5066                 - Use nm_object_queue_notify() instead of g_object_notify()
5067
5068 2008-03-25  Dan Williams  <dcbw@redhat.com>
5069
5070         * libnm-glib/nm-object.c
5071           libnm-glib/nm-object-private.h
5072                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
5073                         signals to an idle handler
5074                 - (nm_object_get_property): add a timeout to the D-Bus method call
5075
5076 2008-03-25  Dan Williams  <dcbw@redhat.com>
5077
5078         * introspection/nm-device-cdma.xml
5079           introspection/nm-device-gsm.xml
5080           introspection/Makefile.am
5081           introspection/all.xml
5082                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
5083
5084         * src/nm-gsm-device.h
5085           src/nm-gsm-device.c
5086           src/nm-cdma-device.h
5087           src/nm-cdma-device.c
5088           src/Makefile.am
5089                 - Implement PropertiesChanged signals
5090
5091         * libnm-glib/nm-cdma-device.c
5092           libnm-glib/nm-cdma-device.c
5093                 - Attach to PropertiesChanged signals
5094
5095 2008-03-24  Dan Williams  <dcbw@redhat.com>
5096
5097         * libnm-glib/nm-client.c
5098                 - (client_device_added_proxy): add new devices to the internal device
5099                         list so they appear to clients
5100
5101 2008-03-24  Dan Williams  <dcbw@redhat.com>
5102
5103         Massive fixup of libnm-glib to:
5104         a) have all objects (with the exception of VPN) cache their properties and
5105                 update them asynchronously on PropertiesChanged signals from NM
5106         b) return internal const data for most attributes/properties instead of
5107                 allocated values that the caller must free
5108         c) cache wrapped objects such that a given D-Bus path will always map to the
5109                 same GObject returned by libnm-glib
5110         d) remove a few signals and move them to GObject property notifications
5111         e) match recent NM D-Bus API changes for activation/deactivation
5112         f) remove some private functions from libnm-glib headers
5113
5114 2008-03-20  Dan Williams  <dcbw@redhat.com>
5115
5116         * src/nm-manager.c
5117                 - (nm_manager_update_state, manager_device_state_changed,
5118                    nm_manager_activate_device, connection_added_default_handler,
5119                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5120                         queue PropertyChanged singals when the active connections change
5121
5122 2008-03-20  Dan Williams  <dcbw@redhat.com>
5123
5124         * introspection/nm-manager.xml
5125           introspection/nm-manager-client.xml
5126                 - (ActivateConnection): return the object path of the active connection
5127                         on success
5128                 - (GetActiveConnections): remove
5129                 - (DeactivateConnection): new function; deactivate a currently active
5130                         connection
5131                 - Add an ActiveConnections property which returns an array of
5132                         active connection object paths
5133
5134         * introspection/nm-device.xml
5135                 - (Deactivate): remove
5136
5137         * introspection/all.xml
5138                 - Add ActiveConnection introspection
5139
5140         * introspection/nm-active-connection.xml
5141                 - Add the ActiveConnection object
5142
5143         * include/NetworkManager.h
5144                 - Add the Connection.Active D-Bus interface
5145
5146         * src/nm-device-interface.c
5147                 - (impl_device_deactivate): remove
5148
5149         * src/nm-activation-request.c
5150           src/nm-activation-request.c
5151           src/Makefile.am
5152                 - Implement the Connection.Active D-Bus interface
5153
5154         * src/nm-manager.c
5155                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5156                 - (nm_manager_activate_device): return the active connection path
5157                 - (connection_added_default_handler, impl_manager_activate_connection):
5158                         return the active connection to the caller
5159                 - (add_one_connection_element, impl_manager_get_active_connections):
5160                         remove
5161                 - (impl_manager_deactivate_connection): new function; deactivate an
5162                         active connection
5163
5164         * libnm-glib/nm-device.c
5165           libnm-glib/nm-device.h
5166                 - Remove Deactivate() function
5167
5168 2008-03-19  Dan Williams  <dcbw@redhat.com>
5169
5170         * introspection/nm-manager.xml
5171           introspection/nm-manager-client.xml
5172                 - Rename the ActivateDevice method to ActivateConnection to better
5173                         reflect it's usage; it's arguments get reordered a bit too
5174                 - Convert GetActiveConnections method return from a struct to a dict
5175
5176         * include/NetworkManager.h
5177                 - Define the dict keys for return value of GetActiveConnections
5178
5179         * src/nm-manager.c
5180                 - impl_manager_activate_device -> impl_manager_activate_connection
5181                 - (add_one_connection_element): return a populated hash table, not
5182                         a structure
5183
5184         * libnm-glib/nm-client.c
5185           libnm-glib/nm-client.h
5186                 - nm_client_activate_device -> nm_client_activate_connection
5187                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5188                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5189                         instead of the custom structures.  Each element of the returned list
5190                         must be freed with nm_client_free_active_connections_element()
5191
5192 2008-03-18  Dan Williams  <dcbw@redhat.com>
5193
5194         * system-settings/plugins/ifcfg-fedora/parser.c
5195           system-settings/plugins/ifcfg-fedora/parser.h
5196           system-settings/plugins/ifcfg-fedora/plugin.c
5197                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5198                         profiles.  DNS servers and searches must now be stored in the ifcfg
5199                         files themselves
5200
5201 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5202
5203         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5204         print out username and password, it's supposed to be a secret.
5205
5206         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5207         request and set the device state accordingly.
5208
5209 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5210
5211         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5212
5213         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5214
5215 2008-03-18  Dan Williams  <dcbw@redhat.com>
5216
5217         * src/vpn-manager/nm-vpn-connection.c
5218                 - (get_secrets_cb): handle new GetSecrets return format
5219
5220 2008-03-18  Dan Williams  <dcbw@redhat.com>
5221
5222         Adapt system settings service for split 802.1x.
5223
5224         * system-settings/src/nm-system-config-interface.h
5225                 - clarify return value of get_secrets()
5226
5227         * system-settings/src/dbus-settings.c
5228                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5229                 - (check_for_secrets): check if there actually secrets returned by a
5230                         plugin
5231                 - (exported_connection_get_secrets): just return the plugin-returned
5232                         hash of settings' secrets if it looks valid
5233
5234         * system-settings/plugins/ifcfg-fedora/plugin.c
5235                 - (get_secrets): add split secrets with correct format to reply hash
5236
5237         * system-settings/plugins/ifcfg-fedora/parser.c
5238           system-settings/plugins/ifcfg-fedora/parser.h
5239                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5240                    connection_data_free, connection_data_add): keep secrets for
5241                         different settings in different hashes
5242
5243 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5244
5245         Clean up activating device deactivation.
5246
5247         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5248         should be done whether the device activation gets cancelled or the device
5249         is just getting deactivated.
5250         (nm_device_activation_cancel): Remove.
5251         (nm_device_deactivate_quickly): Handle the case where device is activating.
5252
5253         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5254         It does the exact same thing as real_deactivate_quickly().
5255
5256 2008-03-17  Dan Williams  <dcbw@redhat.com>
5257
5258         Split the 802.1x bits out of the wireless-security setting so they are
5259         generalized enough for wired 802.1x to use too.
5260
5261         * introspection/nm-exported-connection.xml
5262                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5263                         of just a hash of the secrets for one setting
5264
5265         * libnm-util/nm-setting-wireless-security.c
5266           libnm-util/nm-setting-wireless-security.h
5267                 - Remove 802.1x-specific stuff
5268                 - Added leap-username and leap-password properties for old-school LEAP
5269
5270         * src/nm-device.c
5271           src/nm-device.h
5272                 - (connection_secrets_updated_cb): take a list of updated settings names,
5273                         not just one
5274
5275         * src/supplicant-manager/nm-supplicant-config.c
5276           src/supplicant-manager/nm-supplicant-config.h
5277                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5278                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5279                         to nm_supplicant_config_add_setting_8021x()
5280                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5281                         the supplicant config
5282
5283         * src/nm-device-802-11-wireless.c
5284                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5285                 - (real_connection_secrets_updated): take a list of updated settings
5286                         names, not just one
5287
5288         * src/nm-device-802-3-ethernet.c
5289           src/nm-cdma-device.c
5290           src/nm-gsm-device.c
5291                 - (real_connection_secrets_updated_cb): take a list of updated settings
5292                         names, not just one
5293
5294         * src/nm-activation-request.c
5295           src/nm-activation-request.h
5296                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5297                         now passes a list of updated settings names, not just one
5298                 - (update_one_setting): new function; handle one updated setting
5299                 - (get_secrets_cb): handle multiple settings returned from the
5300                         settings service; have to be careful of ordering here as there are
5301                         some dependencies between settings (ex. wireless-security and 802.1x
5302                         in some cases)
5303
5304         * src/marshallers/nm-marshal.list
5305                 - new marshaller for connection-secrets-updated signal
5306
5307         * libnm-util/nm-setting-8021x.c
5308                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5309                         methods
5310                 - (verify): a valid 'eap' property is now required
5311
5312         * libnm-util/nm-connection.c
5313                 - (register_default_settings): add priorities to settings; there are
5314                         some dependencies between settings, and during the need_secrets
5315                         calls this priority needs to be respected.  For example, only the
5316                         wireless-security setting knows whether or not the connection is
5317                         going to use 802.1x or now, so it must be asked for secrets before
5318                         any existing 802.1x setting is
5319                 - (nm_connection_lookup_setting_type): expose
5320
5321         * libnm-util/nm-setting-wireless.c
5322                 - (verify): should verify even if all_settings is NULL; otherwise won't
5323                         catch the case where there is missing security
5324
5325         * libnm-util/nm-setting-wireless-security.c
5326                 - Remove everything to do with 802.1x
5327                 - Add old-school LEAP specific properties for username and password
5328                 - (need_secrets): rework LEAP secrets checking
5329                 - (verify): rework for LEAP and 802.1x verification
5330
5331 2008-03-17  Dan Williams  <dcbw@redhat.com>
5332
5333         * src/NetworkManagerPolicy.c
5334                 - (auto_activate_device): always remove the current activation check
5335                         from the pending activation list, otherwise when the policy gets
5336                         destroyed on NM exit it will attempt to free the already freed
5337                         activation check
5338
5339 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5340
5341         * src/backends/NetworkManagerSlackware.c 
5342         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5343
5344         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5345
5346 2008-03-14  Dan Williams  <dcbw@redhat.com>
5347
5348         * src/nm-manager.c
5349                 - (nm_device_interface_get_iface): g_object_get() will return an
5350                         allocated value, so this function must not return const
5351                 - (nm_device_interface_activate): free returned iface
5352
5353 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5354
5355         * libnm-util/Makefile.am: Add new files to build.
5356
5357         * libnm-util/nm-connection.c: Register NMSetting8021x.
5358
5359         * libnm-util/nm-setting-8021x.c
5360         * libnm-util/nm-setting-8021x.h: Implement.
5361
5362 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5363
5364         * libnm-util/Makefile.am: Add new files to build.
5365
5366         * libnm-util/nm-connection.c: Register NMSetting8021x.
5367
5368         * libnm-util/nm-setting-8021x.c
5369         * libnm-util/nm-setting-8021x.h: Implement.
5370
5371 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5372
5373         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5374         data.
5375
5376 2008-03-14  Dan Williams  <dcbw@redhat.com>
5377
5378         * include/wireless-helper.h
5379           include/Makefile.am
5380                 - One place for all the junk needed for #including wireless.h
5381
5382         * test/nm-tool.c
5383           src/NetworkManagerAP.c
5384           src/wpa.c
5385           src/Makefile.am
5386           libnm-util/nm-utils.c
5387           libnm-util/nm-setting-wireless.c
5388           libnm-glib/nm-device-802-11-wireless.c
5389           libnm-glib/nm-access-point.c
5390           libnm-glib/libnm-glib-test.c
5391                 - include wireless-helper.h, not iwlib.h
5392
5393         * configure.in
5394                 - Don't need libiw really, just need to check for wireless.h
5395
5396         * src/kernel-types.h
5397                 - Remove; used types moved into wpa.c
5398
5399         * src/nm-device-802-11-wireless.c
5400                 - (nm_device_802_11_wireless_update_signal_strength,
5401                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5402                    nm_device_802_11_wireless_set_mode,
5403                    nm_device_802_11_wireless_get_frequency,
5404                    nm_device_802_11_wireless_get_ssid,
5405                    nm_device_802_11_wireless_set_ssid,
5406                    nm_device_802_11_wireless_get_bitrate,
5407                    nm_device_802_11_wireless_get_bssid,
5408                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5409                         instead of iwlib functions
5410
5411 2008-03-14  Dan Williams  <dcbw@redhat.com>
5412
5413         * src/ppp-manager/nm-ppp-manager.c
5414                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5415                         should only take the DBusGMethodInvocation argument, not user/pass
5416                         too.  With dbus-glib, async functions only take 2 C arguments since
5417                         the real dbus method arguments get passed back with
5418                         dbus_g_method_return()
5419
5420 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5421
5422         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5423         Adapt the changes of NMSettingIP4Config.
5424
5425 2008-03-13  Dan Williams  <dcbw@redhat.com>
5426
5427         * src/NetworkManagerUtils.c
5428           src/NetworkManagerUtils.h
5429                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5430
5431         * src/NetworkManagerAP.c
5432           src/nm-device-802-11-wireless.c
5433           src/nm-device-802-3-ethernet.c
5434                 - s/iw_ether_ntop/nm_ether_ntop/g
5435
5436 2008-03-13  Dan Williams  <dcbw@redhat.com>
5437
5438         * src/NetworkManagerPolicy.c
5439                 - (update_routing_and_dns): never set the default route through an
5440                         IPv4LL addressed device
5441
5442 2008-03-13  Dan Williams  <dcbw@redhat.com>
5443
5444         * NetworkManagerUtils.c
5445           NetworkManagerUtils.h
5446                 - Remove NMSock stuff
5447                 - Remove the completion stuff
5448
5449         * nm-device.c
5450           nm-device.h
5451           NetworkManager.c
5452           NetworkManagerSystem.c
5453           autoip.c
5454           nm-device-802-11-wireless.c
5455           nm-device-802-3-ethernet.c
5456                 - Remove NMSock and completion stuff
5457                 - Remove nm_ioctl_info()
5458
5459 2008-03-12  Dan Williams  <dcbw@redhat.com>
5460
5461         * src/nm-device.c
5462                 - (merge_ip4_config): avoid duplicates
5463
5464 2008-03-12  Dan Williams  <dcbw@redhat.com>
5465
5466         * libnm-util/nm-setting-ip4-config.c
5467           libnm-util/nm-setting-ip4-config.h
5468                 - Remove 'manual' and 'autoip' properties
5469                 - Add 'method' property
5470                 - (verify): fix verification with 'method'
5471                 - (finalize): free 'method'
5472                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5473                         up for 'method'
5474
5475         * src/nm-device.c
5476                 - (real_act_stage3_ip_config_start): check IP4Config method
5477                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5478                         the future
5479                 - (merge_ip4_config): IP settings are valid with DHCP too
5480                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5481                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5482
5483         * src/nm-device-802-11-wireless.c
5484                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5485                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5486                         only on demand
5487
5488         * system-settings/plugins/ifcfg-fedora/parser.c
5489           system-settings/plugins/ifcfg-suse/parser.c
5490                 - (make_ip4_setting): fix up for 'method'
5491
5492 2008-03-12  Dan Williams  <dcbw@redhat.com>
5493
5494         * system-settings/plugins/ifcfg-fedora/parser.c
5495           system-settings/plugins/ifcfg-fedora/parser.h
5496                 - (get_ifcfg_name): ignore more file suffixes
5497                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5498
5499 2008-03-12  Dan Williams  <dcbw@redhat.com>
5500
5501         * configure.in
5502                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5503
5504 2008-03-12  Dan Williams  <dcbw@redhat.com>
5505
5506         * system-settings/plugins/ifcfg-fedora/plugin.c
5507                 - (write_auto_wired_connection): new function; write out an auto
5508                         wired connection file since the applet isn't doing it any more
5509                 - (reload_all_connections): write out the auto wired connection file
5510                         if there aren't any wired connections already
5511                 - (init): don't leak a GError
5512
5513 2008-03-12  Dan Williams  <dcbw@redhat.com>
5514
5515         * src/nm-device-interface.c
5516                 - (nm_device_interface_activate): print the ID of the connection
5517                         that's about to be activated
5518
5519 2008-03-12  Dan Williams  <dcbw@redhat.com>
5520
5521         Harmonize the 802.11 bitrate API
5522
5523         * introspection/nm-access-point.xml
5524                 - 'Rate' -> 'MaxBitrate'; clarify units
5525
5526         * introspection/nm-device-802-11-wireless.xml
5527                 - Clarify units of 'Bitrate'
5528
5529         * src/NetworkManagerAP.c
5530           src/NetworkManagerAP.h
5531                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5532                         property to 'max-bitrate'
5533                 - (foreach_property_cb): convert rate to Kb/s
5534
5535         * src/nm-device-802-11-wireless.c
5536                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5537
5538         * libnm-glib/nm-access-point.c
5539           libnm-glib/nm-access-point.h
5540                 - 'rate' -> 'max-bitrate'
5541
5542         * test/nm-tool.c
5543           libnm-glib/libnm-glib-test.c
5544                 - Fix up for these changes
5545
5546 2008-03-12  Dan Williams  <dcbw@redhat.com>
5547
5548         * src/nm-device.c
5549                 - (nm_device_set_ip4_config): don't send property notifications when
5550                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5551                         which dbus-glib can't parse because the value is NULL, which isn't
5552                         a legal object path.  Setting the IP4 config to NULL is only
5553                         valid when deactivating a device anyway, so the device state change
5554                         will alert listeners that the ip4 config is invalid.
5555
5556 2008-03-12  Dan Williams  <dcbw@redhat.com>
5557
5558         * src/nm-properties-changed-signal.c
5559                 - (add_to_string): better handling of NULL objects
5560
5561 2008-03-12  Dan Williams  <dcbw@redhat.com>
5562
5563         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5564         convert the libnm-glib NMDevice8023Ethernet to cached properties
5565
5566         * introspection/nm-device-802-3-ethernet.xml
5567                 - New 'Carrier' property
5568                 - New 'PropertiesChanged' signal
5569
5570         * introspection/nm-device.xml
5571                 - Remove 'Carrier' property
5572                 - Remove 'CarrierChanged' signal
5573
5574         * src/nm-device-interface.c
5575           src/nm-device-interface.h
5576                 - (nm_device_interface_init): remove 'carrier' property and
5577                         'carrier-changed' signal
5578
5579         * src/nm-device.c
5580           src/nm-device.h
5581                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5582                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5583                         the link here; wired device will handle that
5584                 - (handle_dhcp_lease_change): don't bother updating link here
5585                 - (get_property, nm_device_class_init): remove carrier property
5586
5587         * src/nm-device-802-11-wireless.c
5588                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5589                         real_update_link(); wireless devices don't use carrier at all
5590                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5591                    supplicant_iface_connection_state_cb_handler,
5592                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5593
5594         * src/nm-device-802-3-ethernet.c
5595           src/nm-device-802-3-ethernet.h
5596                 - (nm_device_802_3_ethernet_carrier_on,
5597                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5598                         instead of nm_device_set_carrier()
5599                 - (device_state_changed): update link from sysfs on activation;
5600                         replaces real_update_link()
5601                 - (real_update_link): remove, replaced by device_state_changed()
5602                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5603                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5604                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5605                         new get_carrier function
5606                 - (get_property): add 'carrier' property
5607                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5608                         hook into property-changed signal helper
5609
5610         * src/NetworkManagerPolicy.c
5611                 - (device_carrier_changed): will only ever be called with a wired device
5612                 - (device_added): only hook up to carrier-changed for wired devices
5613
5614         * libnm-glib/nm-device.c
5615           libnm-glib/nm-device.h
5616                 - (constructor, nm_device_class_init): remove carrier-changed signal
5617                 - (device_carrier_changed_proxy): remove; unused
5618                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5619
5620         * libnm-glib/nm-device-802-3-ethernet.c
5621           libnm-glib/nm-device-802-3-ethernet.h
5622                 - Convert to cached properties like AP and Wireless objects
5623                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5624                         instead of a 'char *', return value should not be freed
5625                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5626                 - (constructor): hook into properties-changed helper
5627                 - (set_property, get_property): new functions
5628                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5629
5630         * test/nm-tool.c
5631                 - (detail_device): strdup the wired hardware address too since it's
5632                         cached now
5633
5634         * libnm-glib/libnm-glib-test.c
5635                 - (dump_wired): strdup the wired hardware address too since it's
5636                         cached now
5637
5638 2008-03-12  Dan Williams  <dcbw@redhat.com>
5639
5640         * libnm-util/nm-setting-ip4-config.c
5641           libnm-util/nm-setting-ip4-config.h
5642                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5643                         the 'autoip' property from the spec
5644
5645 2008-03-11  Dan Williams  <dcbw@redhat.com>
5646
5647         * src/backends/NetworkManagerGeneric.c
5648           src/backends/NetworkManagerGeneric.h
5649                 - (nm_generic_device_get_use_dhcp): remove
5650
5651 2008-03-11  Dan Williams  <dcbw@redhat.com>
5652
5653         * src/nm-device.c
5654                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5655                         already in nm_device_set_ip4_config()
5656                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5657                         due to a DHCP rebind fails
5658                 - (nm_device_set_ip4_config): send property notifications when the
5659                         ip4 config changes
5660                 - (get_property): only report IP4Config property during valid states
5661
5662         * src/NetworkManagerPolicy.c
5663                 - (update_routing_and_dns): ignore devices that don't have an ip4
5664                         config; add parameter 'force_update' to allow callers to specify
5665                         that changes should be made even if the default device doesn't change
5666                 - (device_ip4_config_changed): update DNS and routing when the device's
5667                         IP4Config changes, like for DHCP updates
5668                 - (device_added): listen for ip4-config property changes
5669
5670 2008-03-11  Dan Williams  <dcbw@redhat.com>
5671
5672         Fix address handling as a result of DHCP rebind/renew/reboot.
5673
5674         * src/NetworkManagerSystem.c
5675                 - (check_one_address): delete an address if it doesn't match a given
5676                         one for the same interface
5677                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5678                         be smarter about flushing addresses (only flush ones that don't
5679                         match the one we're about to apply)
5680
5681         * src/backends/NetworkManagerDebian.c
5682           src/backends/NetworkManagerSuSE.c
5683           src/backends/NetworkManagerArch.c
5684           src/backends/NetworkManagerSlackware.c
5685           src/backends/NetworkManagerRedHat.c
5686           src/backends/NetworkManagerPaldo.c
5687           src/backends/NetworkManagerFrugalware.c
5688           src/backends/NetworkManagerGentoo.c
5689                 - (nm_system_delete_default_route): remove
5690
5691         * src/backends/NetworkManagerGeneric.c
5692           src/backends/NetworkManagerGeneric.h
5693                 - (nm_generic_enable_loopback): fix the loopback device label
5694                 - (nm_generic_delete_default_route): remove; no longer used
5695
5696 2008-03-11  Dan Williams  <dcbw@redhat.com>
5697
5698         * src/nm-device-interface.h
5699                 - Delimit property name words with '-', otherwise g_object_notify()
5700                         doesn't work the way we expect
5701
5702 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5703
5704         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5705
5706 2008-03-11  Dan Williams  <dcbw@redhat.com>
5707
5708         * src/NetworkManagerPolicy.c
5709                 - (update_routing_and_dns): don't change anything if the default device
5710                         hasn't changed; print something out when switching the default route
5711                         and DNS
5712
5713 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5714
5715         Implement PPPoE.
5716
5717         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5718         setting. Use "nic-$eth".
5719
5720         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5721         the device is activating here to fix a race condition.
5722
5723         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5724
5725         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5726         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5727         (nm_ppp_manager_start): Take activation request instead of connection, we might
5728         need it for asking secrets.
5729         (nm_ppp_manager_update_secrets): Implement.
5730
5731         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5732         ppp manager start. It might be needed for asking secrets.
5733
5734         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5735         (ppp_state_changed): Handle pppd daemon disappearing.
5736         (pppoe_stage2_config): Send activation request to ppp manager start.
5737
5738         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5739
5740         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5741         username and password.
5742         
5743 2008-03-10  Dan Williams  <dcbw@redhat.com>
5744
5745         * src/nm-device.c
5746                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5747                         response to a DHCP lease change
5748                 - (dhcp_state_changed): handle DHCP lease changes while activated
5749                 - (nm_device_set_ip4_config): remove a previously set named config
5750                         when setting an ip4 config
5751
5752 2008-03-10  Dan Williams  <dcbw@redhat.com>
5753
5754         * src/nm-serial-device.c
5755                 - (nm_serial_device_send_command): report errno on error
5756                 - (get_reply_got_data): limit the size of the overall buffer
5757                 - (wait_for_reply_info_destroy): destroy result string
5758                 - (wait_for_reply_got_data): append received data to an overall buffer
5759                         until timeout, filled buffer, or error instead of keeping a per-call
5760                         buffer.  Some devices send data slowly enough that this function
5761                         gets called multiple times for the same command stream.
5762                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5763                         wait_for_reply_got_data() here
5764
5765 2008-03-10  Dan Williams  <dcbw@redhat.com>
5766
5767         * src/nm-cdma-device.c
5768                 - (do_dial, init_modem): handle errors from
5769                         nm_serial_device_send_command_string()
5770
5771         * src/nm-gsm-device.c
5772                 - (do_dial, manual_registration, automatic_registration_get_network,
5773                    automatic_registration, enter_pin, check_pin, init_modem): handle
5774                         errors from nm_serial_device_send_command_string()
5775
5776 2008-03-10  Dan Williams  <dcbw@redhat.com>
5777
5778         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5779
5780         * src/named-manager/nm-named-manager.c
5781                 - (compute_searches): prefer searches before domains
5782                 - (compute_domain): new function
5783                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5784                 - (merge_one_ip4_config): if there are no searches in the source config,
5785                         merge domains of the source config into the target config
5786                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5787
5788 2008-03-10  Dan Williams  <dcbw@redhat.com>
5789
5790         * src/nm-serial-device.c
5791                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5792                 - (wait_for_reply_got_data): try to handle slower serial devices where
5793                         the reply is broken up into multiple reads by concatenating replies
5794                         together until either an error is received or the search string is
5795                         found
5796
5797 2008-03-10  Dan Williams  <dcbw@redhat.com>
5798
5799         * src/nm-device.c
5800                 - (nm_device_bring_down): deactivate the device if it's activating too,
5801                         not just if it's already activated.  This makes sure that everything
5802                         from an association attempt is cleaned up (like DHCP for example)
5803
5804 2008-03-10  Dan Williams  <dcbw@redhat.com>
5805
5806         * src/nm-serial-device.c
5807                 - (config_fd): report error from TCSETA
5808                 - (nm_serial_device_open): fail when config_fd() fails
5809
5810 2008-03-10  Dan Williams  <dcbw@redhat.com>
5811
5812         * src/nm-ip4-config.c
5813                 - (nm_ip4_config_init): allocate searches list
5814                 - (finalize): free searches list
5815
5816 2008-03-09  Dan Williams  <dcbw@redhat.com>
5817
5818         Patch from Bas Zoetekouw <bas@debian.org>
5819
5820         * src/dhcp-manager/nm-dhcp-manager.c
5821                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5822
5823 2008-03-09  Dan Williams  <dcbw@redhat.com>
5824
5825         Patch from Bas Zoetekouw <bas@debian.org>
5826
5827         * src/nm-ip4-config.c
5828           src/nm-ip4-config.h
5829                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5830                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5831                         domains.  'searches' is the correct way to store multiple search
5832                         domains, whereas 'domains' is really just supposed to store one
5833                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5834                         search domains to the client.
5835                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5836
5837 2008-03-09  Dan Williams  <dcbw@redhat.com>
5838
5839         * src/dhcp-manager/nm-dhcp-manager.c
5840                 - (dhclient_run): send interface-specific config files to dhclient
5841
5842 2008-03-07  Dan Williams  <dcbw@redhat.com>
5843
5844         * system-settings/plugins/ifcfg-fedora/parser.c
5845                 - (is_wireless_device): new function; test a device for wireless
5846                         extensions
5847                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5848                         test the device for wireless extensions to determine the type
5849
5850 2008-03-07  Dan Williams  <dcbw@redhat.com>
5851
5852         Change manager's StateChange signal to StateChanged for consistency.
5853
5854         * introspection/nm-manager.xml
5855                 - Add 'StateChanged' signal
5856                 - Move 'StateChange' down to the deprecated section
5857
5858         * src/nm-hal-manager.c
5859                 - (nm_hal_manager_new): connect to 'state-changed' instead
5860
5861         * src/NetworkManagerPolicy.c
5862                 - (nm_policy_new): connect to 'state-changed' instead
5863
5864         * src/nm-manager.c
5865           src/nm-manager.h
5866                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5867                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5868                         of 'state-change'
5869
5870         * libnm-glib/nm-client.c
5871           libnm-glib/nm-client.h
5872                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5873                         track and proxy 'state-changed' instead of 'state-change'
5874
5875 2008-03-07  Dan Williams  <dcbw@redhat.com>
5876
5877         First pass of multiple active device support.  Expect bugs.
5878
5879         * src/nm-ip4-config.c
5880           src/nm-ip4-config.h
5881                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5882                         there are better ways to do this in the named manager
5883
5884         * src/nm-device.c
5885           src/nm-device.h
5886                 - (nm_device_can_activate): return whether the device can activate a
5887                         connection right now; taking into account things like carrier state
5888                         and rfkill state
5889                 - (nm_device_get_best_auto_connection): renamed from
5890                         nm_device_get_best_connection
5891                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5892                         device subclasses themselves, so that each device can override the
5893                         MTU from it's NMSetting subclass if needed
5894                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5895                         in NetworkManagerSystem.c, not here
5896
5897         * src/named-manager/nm-named-manager.c
5898           src/named-manager/nm-named-manager.h
5899                 - (nm_named_manager_name_owner_changed,
5900                    nm_named_manager_dbus_connection_changed): fix for changes to
5901                         rewrite_resolv_conf()
5902                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5903                         from parameter list
5904                 - (merge_one_ip4_config): new function; merge ip4 configs together
5905                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5906                         ip4 configs; the VPN config takes precedence, then the best
5907                         device config, then the rest of the configs
5908                 - (get_domain_for_config): take the NMNamedManager as an argument
5909                         to check whether the config is the VPN config
5910                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5911                         attribute from ip4 configs
5912                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5913                 - (remove_ip4_config_from_named): fix for changes to
5914                         get_domain_for_config()
5915                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5916                         based on its type; callers must pass in the type now
5917                 - (get_last_default_domain): remove, unused
5918                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5919
5920         * src/nm-device-802-11-wireless.c
5921                 - (real_can_activate): new function
5922                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5923                 - (real_act_stage4_get_ip4_config): handle MTU override
5924
5925         * src/nm-device-802-3-ethernet.c
5926                 - (real_can_activate): new function
5927                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5928                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5929
5930         * src/vpn-manager/nm-vpn-connection.c
5931                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5932                         attribute on the ip4 config
5933
5934         * src/NetworkManagerPolicy.c
5935                 - (nm_policy_auto_get_best_device): remove
5936                 - (nm_policy_device_change_check): remove
5937                 - (update_default_route): new function; set the default route via
5938                         the specified device
5939                 - (get_device_priority): new function; return the priority number of
5940                         a device type WRT which one should have the default route.  Order is
5941                         (highest to lowest)  wired, wireless, GSM, CDMA.
5942                 - (update_routing_and_dns): new function; determine which device should
5943                         have the default route, then update the routing table and DNS
5944                 - (maybe_auto_activate_device): new function; if a device is now
5945                         available for activation, find out what connection it would like to
5946                         activate and do it
5947                 - (schedule_activate_check): new function; if a device can be activated
5948                         now, schedule the activation.  Each device may have only one
5949                         pending activation at a given time.
5950                 - (device_state_changed): if activation was canceled, try again,
5951                         possibly with another connection; if the device was activated,
5952                         update routing and DNS; if the device was deactivated, try again
5953                         with another connection
5954                 - (device_carrier_changed): if there is no carrier, deactivate the
5955                         device; otherwise schedule an activation check for the device
5956                 - (wireless_networks_changed): schedule an activation check for the
5957                         device
5958                 - (device_added): keep track of the signal handler IDs so they can
5959                         be removed when the device goes away
5960                 - (device_removed): remove any signal handlers that might be attached
5961                         to the device; update routing and DNS
5962                 - (schedule_activate_all): new function
5963                 - (connections_added, connection_added, connection_updated): when
5964                         connections change, schedule all devices for an activation check
5965                 - (connection_removed): when a device is deactivated because its
5966                         connection was removed, schedule another activation check for it
5967                 - (nm_policy_destroy): destroy pending activations and disconnect
5968                         all device signal handlers
5969
5970         * src/nm-manager.c
5971                 - (nm_manager_activate_device): if the device was already actived,
5972                         deactivate it
5973                 - (deactivate_old_device): remove
5974                 - (connection_added_default_handler, impl_manager_activate_device):
5975                         don't deactivate other devices when activating this one
5976
5977         * src/backends/NetworkManagerGentoo.c
5978           src/backends/NetworkManagerFrugalware.c
5979           src/backends/NetworkManagerPaldo.c
5980           src/backends/NetworkManagerRedHat.c
5981           src/backends/NetworkManagerSlackware.c
5982           src/backends/NetworkManagerArch.c
5983           src/backends/NetworkManagerSuSE.c
5984           src/backends/NetworkManagerDebian.c
5985                 - (nm_system_get_mtu): remove; MTU should be provided through the
5986                         distro's system settings service plugin instead
5987                 - (nm_system_device_add_default_route_via_device): remove
5988                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5989                 - (nm_system_device_replace_default_route): new function; call
5990                         generic implementation
5991
5992         * src/backends/NetworkManagerGeneric.c
5993           src/backends/NetworkManagerGeneric.h
5994                 - (nm_generic_device_add_default_route_via_device,
5995                    nm_generic_device_add_default_route_via_device_with_iface): remove
5996                 - (nm_generic_device_replace_default_route): replace the default route
5997                         with the given route via some gateway
5998
5999         * src/NetworkManagerSystem.c
6000           src/NetworkManagerSystem.h
6001                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
6002                         to routing and DNS; but set the MTU here
6003                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
6004                         ip_iface of the active device; use the standard MTU setting function
6005                 - (nm_system_set_mtu): remove
6006                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
6007
6008 2008-03-07  Tambet Ingo  <tambet@gmail.com>
6009
6010         Rework the interaction between ppp manager and pppd plugin. Register a well
6011         known DBUS service in manager and let the plugin call it's methods instead
6012         of listening plugin's signals.
6013
6014         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
6015         of emitting signals.
6016
6017         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
6018
6019         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
6020
6021         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
6022         nm_ppp_manager_start().
6023
6024         * introspection/nm-ppp-manager.xml: New file.
6025
6026         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
6027         the case correctly where driver is trying to send -1 for the speed, which gets
6028         casted to u16 and thus is always > 0.
6029
6030 2008-03-07  Dan Williams  <dcbw@redhat.com>
6031
6032         * src/nm-hal-manager.c
6033                 - (nm_get_device_driver_name): use net.originating_device first, fall
6034                         back to physical device.  HAL has deprecated physical_device.
6035
6036         * libnm-glib/nm-device.c
6037                 - (get_product_and_vendor): use net.originating_device first, fall
6038                         back to physical device.  HAL has deprecated physical_device.
6039                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
6040
6041 2008-03-07  Dan Williams  <dcbw@redhat.com>
6042
6043         * src/nm-netlink.c
6044                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
6045                         last commit; fix that
6046                 - (get_link_cache): print error string
6047
6048 2008-03-07  Dan Williams  <dcbw@redhat.com>
6049
6050         * src/nm-netlink.c
6051                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
6052                         don't need this hack any more (Benoit Boissinot)
6053
6054 2008-03-06  Dan Williams  <dcbw@redhat.com>
6055
6056         * autogen.sh
6057                 - Die gnome-common, die
6058
6059 2008-03-04  Dan Williams  <dcbw@redhat.com>
6060
6061         Patch from Michael Biebl <biebl@debian.org>
6062
6063         * NetworkManager.pc.in
6064                 - doesn't actually depend on dbus-1
6065
6066         * libnm-util/nm-utils.h
6067                 - remove unused #include <dbus/dbus.h>
6068
6069         * libnm-glib/libnm_glib.pc.in
6070                 - depends on glib and dbus-glib
6071
6072 2008-03-02  Dan Williams  <dcbw@redhat.com>
6073
6074         * src/NetworkManagerPolicy.c
6075                 - s/device_state_changed_idle_id/update_state_id/
6076
6077 2008-03-02  Dan Williams  <dcbw@redhat.com>
6078
6079         * src/nm-device.c
6080           src/nm-device.h
6081           src/nm-device-802-11-wireless.c
6082           src/nm-device-802-3-ethernet.c
6083           src/NetworkManagerPolicy.c
6084                 - s/link_active/carrier
6085                 - nm_device_set_active_link() -> nm_device_set_carrier()
6086                 - nm_device_has_active_link() -> nm_device_get_carrier()
6087
6088 2008-03-02  Dan Williams  <dcbw@redhat.com>
6089
6090         * system-settings/plugins/ifcfg-fedora/parser.c
6091                 - (make_wireless_setting): fail connection creation on missing SSID
6092
6093 2008-02-29  Dan Williams  <dcbw@redhat.com>
6094
6095         * src/NetworkManagerPolicy.c
6096                 - (nm_policy_device_change_check): ensure that a previously active
6097                         device with a system connection has a link before denying a switch
6098                         to a user connection
6099
6100 2008-02-29  Dan Williams  <dcbw@redhat.com>
6101
6102         * src/nm-device-802-11-wireless.c
6103                 - (link_timeout_cb): try again if scanning; deactivate the device when
6104                         activated if the link dies
6105                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
6106                         15 seconds
6107
6108 2008-02-29  Dan Williams  <dcbw@redhat.com>
6109
6110         * src/nm-device-802-11-wireless.c
6111           src/nm-device-802-11-wireless.h
6112                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6113                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6114                 - (device_cleanup): reset the scan interval lower when the device
6115                         deactivates
6116                 - (can_scan): base decision mostly off device state, not supplicant
6117                         interface state since the supplicant interface state isn't a
6118                         great indicator of whether the device is active or not
6119                 - (request_wireless_scan): clean up; schedule the next scan here
6120                 - (schedule_scan): only back the scan interval off if a new scan
6121                         actually gets scheduled; and make scan intervals tighter when the
6122                         device is disconnected
6123                 - (supplicant_iface_state_cb_handler): fold in the bits of
6124                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6125                         interval to minimum
6126                 - (activation_success_handler): reset scan interval to something
6127                         reasonable 
6128
6129 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6130
6131         reviewed by: Steev <steev@steev.net>
6132
6133         * configure.in:
6134         * src/backends/NetworkManagerGentoo.c:
6135         (nm_system_restart_mdns_responder):
6136                 Howl is no longer a supported mDNS provider
6137
6138 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6139
6140         Get rid of a bunch of unused distro specific functions.
6141
6142 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6143
6144         Implement suse plugin for system settings daemon.
6145
6146         * system-settings/plugins/ifcfg-suse/*: Implement.
6147
6148         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6149         suse.
6150
6151         * configure.in: Check (without failing) for gio.
6152         Create ifcfg-suse plugin's Makefile.
6153
6154 2008-02-20  Dan Williams  <dcbw@redhat.com>
6155
6156         * libnm-util/nm-connection.c
6157           libnm-util/nm-connection.h
6158                 - (nm_connection_compare): accept compare flags and pass them to the
6159                         setting compare function
6160
6161         * libnm-util/nm-setting.c
6162           libnm-util/nm-setting.h
6163                 - (nm_setting_compare): accept compare flags; ignore properties that are
6164                         marked fuzzy
6165
6166         * libnm-util/nm-setting-connection.c
6167           libnm-util/nm-setting-wireless.c
6168           libnm-util/nm-setting-ppp.c
6169           libnm-util/nm-setting-wired.c
6170                 - Mark some setting properties as ignorable when doing a fuzzy compare
6171
6172         * src/nm-device.c
6173                 - (device_activation_precheck): use exact compare
6174
6175 2008-02-20  Dan Williams  <dcbw@redhat.com>
6176
6177         * src/NetworkManagerPolicy.c
6178                 - (nm_policy_device_change_check): get scope off the connection, not
6179                         using the manager helper
6180
6181         * src/nm-manager.c
6182           src/nm-manager.h
6183                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6184                 - (connection_get_settings_cb): set scope and path on connection, not
6185                         using GObject data items
6186                 - (get_connection_for_proxy): don't need to return path, since that
6187                         can be gotten from the connection
6188                 - (get_connection_for_proxy): get path off the connection, not from
6189                         parameters
6190                 - (connection_removed_cb, connection_updated_cb): don't need to get
6191                         path from get_connection_for_proxy(); get scope off the connection
6192                         instead of using GObject data items
6193                 - (connection_added_default_handler, add_one_connection_element): use
6194                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6195                 - (nm_manager_get_connection_dbus_path): remove
6196                 - (nm_manager_get_connection_scope): remove
6197
6198 2008-02-20  Dan Williams  <dcbw@redhat.com>
6199
6200         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6201                 on confusing names
6202
6203         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6204                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6205                 NMExportedConnection
6206
6207         * Internally rename NMConnectionType -> NMConnectionScope
6208
6209         * Provide default implementations of the 'get_id' and 'get_settings' methods
6210                 of NMExportedConnection
6211
6212 2008-02-15  Dan Williams  <dcbw@redhat.com>
6213
6214         * src/nm-device-802-11-wireless.c
6215                 - (device_cleanup): release the AP list here too so that the AP list
6216                         doesn't survive across suspend/resume and up/down.  There is some
6217                         room for optimization, for example blow the list away when the card
6218                         brought back up, but only if the device has only been down for a
6219                         minute or more.
6220
6221 2008-02-15  Dan Williams  <dcbw@redhat.com>
6222
6223         * src/nm-hal-manager.c
6224                 - (modem_device_creator): recognize new HAL modem capabilities
6225
6226 2008-02-12  Dan Williams  <dcbw@redhat.com>
6227
6228         * system-settings/plugins/ifcfg-fedora/plugin.c
6229                 - (watch_path): handle IN_DELETE_SELF too
6230                 - (handle_connection_changed): notify when removing a connection
6231                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6232                         case of a file moving out of the profile directory
6233
6234 2008-02-12  Dan Williams  <dcbw@redhat.com>
6235
6236         * system-settings/plugins/ifcfg-fedora/parser.c
6237                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6238
6239 2008-02-12  Dan Williams  <dcbw@redhat.com>
6240
6241         * libnm-util/nm-utils.c
6242                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6243                         just any empty array
6244
6245 2008-02-12  Dan Williams  <dcbw@redhat.com>
6246
6247         * system-settings/src/nm-system-config-interface.c
6248           system-settings/src/nm-system-config-interface.h
6249                 - (load_connections): get_connections() should now return an allocated
6250                         GSList that the system settings service will free
6251
6252         * system-settings/plugins/ifcfg-fedora/plugin.c
6253           system-settings/plugins/ifcfg-fedora/parser.h
6254           system-settings/plugins/ifcfg-fedora/parser.c
6255                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6256                         in the profile directory, handle resolv.conf file changes
6257
6258 2008-02-10  Dan Williams  <dcbw@redhat.com>
6259
6260         * src/nm-device-802-3-ethernet.c
6261                 - (real_bring_up): save the supplicant interface state signal id
6262                 - (real_bring_down): disconnect from the supplicant interface state
6263                         signal
6264
6265 2008-02-07  Dan Williams  <dcbw@redhat.com>
6266
6267         * initscript/RedHat/NetworkManager.in
6268           initscript/RedHat/NetworkManagerDispatcher.in
6269                 - Add new-style LSB init headers
6270
6271 2008-02-07  Dan Williams  <dcbw@redhat.com>
6272
6273         * system-settings/src/dbus-settings.c
6274           system-settings/src/dbus-settings.h
6275                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6276                         table of secrets
6277                 - (connection_settings_get_secrets): consolidate error returns into
6278                         one place; use the new get_secrets() plugin interface function to
6279                         get secrets from the plugin itself rather than using GObject data
6280                         magic
6281
6282         * system-settings/src/main.c
6283                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6284                    load_connections): keep a private list of the plugin-returned
6285                         connections, don't use the plugin's GSList
6286
6287         * system-settings/plugins/ifcfg-fedora/plugin.c
6288                 - (watch_path): watch the path, not the filename (duh)
6289                 - (reload_all_connections): use the direct hash/equal functions; the
6290                         ones for int aren't appropriate here
6291                 - (get_secrets, system_config_interface_init): implement the
6292                         get_secrets() function
6293                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6294                         now in the connection's ConnectionData instead of being a GObject
6295                         data property
6296                 - (handle_profile_item_changed): ifcfg file path is now in the
6297                         connection's ConnectionData instead of being a GObject data property;
6298                         be sure to copy secrets over from the new connection to the existing
6299                         connection when updating the connection's settings
6300                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6301                         file descriptor
6302
6303         * system-settings/plugins/ifcfg-fedora/parser.c
6304           system-settings/plugins/ifcfg-fedora/parser.h
6305                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6306                    connection_data_copy_secrets, connection_data_free,
6307                    connection_data_add): new functions; connection data manipulation
6308                 - (make_wireless_security_setting): stuff secrets into the
6309                         connection data, not as GObject data items; make sure to close
6310                         the keys ifcfg file
6311                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6312                         connection data to the connection
6313
6314 2008-02-07  Dan Williams  <dcbw@redhat.com>
6315
6316         * system-settings/src/nm-system-config-interface.c
6317           system-settings/src/nm-system-config-interface.h
6318                 - Add a get_secrets() interface function to retrieve secrets for a
6319                         specific setting of a specific connection.  Document the interface
6320                         a bit more too.
6321
6322 2008-02-07  Dan Williams  <dcbw@redhat.com>
6323
6324         * src/nm-device-802-11-wireless.c
6325                 - (handle_auth_or_fail): new function; consolidate device activation
6326                         failure check after a certain number of failures getting secrets
6327                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6328                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6329                         the connection if secrets were requested more than a few times
6330                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6331                         tries here; otherwise they are cleared before the IP configure
6332                         timeout, which happens with open system WEP when key is wrong
6333                 - (activation_success_handler): clear wireless secrets tries here too
6334
6335 2008-02-07  Dan Williams  <dcbw@redhat.com>
6336
6337         * src/NetworkManagerPolicy.c
6338                 - (connection_updated): clear invalid tag when connection gets updated
6339                         to allow that connection to be tried again
6340                 - (nm_policy_new): save signal ids so they can be disconnected when
6341                         the policy is destroyed
6342                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6343                         and disconnect all signals from the manager object so that none
6344                         of the policy functions gets called after the policy is destroyed
6345
6346 2008-02-06  Dan Williams  <dcbw@redhat.com>
6347
6348         * src/nm-manager.c
6349                 - (finalize): remove devices a bit earlier; clean up system settings
6350                         poke
6351                 - (nm_manager_name_owner_changed): clean up system settings poke when
6352                         the service appears, and try to restart it if it fails
6353                 - (poke_system_settings_daemon_cb): try to get the system settings
6354                         service started through D-Bus service activation
6355                 - (initial_get_connections): start the system settings daemon if it's
6356                         not already running
6357
6358 2008-02-05  Dan Williams  <dcbw@redhat.com>
6359
6360         * src/supplicant-manager/nm-supplicant-config.c
6361                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6362                         broadcast networks too
6363
6364 2008-02-04  Dan Williams  <dcbw@redhat.com>
6365
6366         * system-settings/plugins/ifcfg-fedora/parser.c
6367                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6368                         need key_mgmt set too
6369                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6370                         .bak files; ensure that an error is set whenever NULL gets returned
6371
6372 2008-02-04  Dan Williams  <dcbw@redhat.com>
6373
6374         * system-settings/src/Makefile.am
6375                 - Install D-Bus service activation file for the system settings
6376                         service
6377
6378         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6379                 - D-Bus service activation file for system settings service
6380
6381 2008-02-04  Dan Williams  <dcbw@redhat.com>
6382
6383         * system-settings/src/main.c
6384                 - (parse_config_file): parse a config file
6385                 - (main): accept --config option and read plugins from config file
6386
6387 2008-02-04  Dan Williams  <dcbw@redhat.com>
6388
6389         * system-settings/plugins/ifcfg-fedora/plugin.c
6390                 - Change reported name to 'ifcfg-fedora'
6391                 - Use IFCFG_PLUGIN_NAME
6392
6393         * system-settings/plugins/ifcfg-fedora/plugin.c
6394                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6395
6396 2008-02-04  Dan Williams  <dcbw@redhat.com>
6397
6398         * system-settings/plugins/ifcfg-fedora/parser.c
6399                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6400                 - (make_connection_setting): use get_ifcfg_name()
6401                 - (make_wireless_security_setting): handle shadow key files
6402                 - (get_one_wep_key): treat empty string as NULL
6403
6404 2008-02-04  Dan Williams  <dcbw@redhat.com>
6405
6406         * src/supplicant-manager/nm-supplicant-manager.c
6407                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6408                         glib automatically reschedule
6409                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6410                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6411                         the supplicant
6412
6413 2008-02-01  Dan Williams  <dcbw@redhat.com>
6414
6415         * src/NetworkManagerPolicy.c
6416                 - (device_state_changed): schedule a change check when a device gets
6417                         deactivated so something happens if you disconnect GSM/CDMA
6418
6419 2008-01-31  Dan Williams  <dcbw@redhat.com>
6420
6421         * src/nm-device-802-11-wireless.h
6422           src/nm-device-802-11-wireless.c
6423                 - (ap_list_get_ap_by_ssid, is_associated,
6424                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6425                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6426                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6427                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6428                         function
6429
6430 2008-01-30  Dan Williams  <dcbw@redhat.com>
6431
6432         * system-settings/plugins/ifcfg
6433         * system-settings/plugins/ifcfg-fedora
6434                 - Move the ifcfg plugin to ifcfg-fedora
6435
6436 2008-01-24  Dan Williams  <dcbw@redhat.com>
6437
6438         * libnm-glib/nm-device-802-11-wireless.c
6439                 - (get_access_point): move the "/" check here; check for invalid path
6440                         too
6441                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6442                         to get_access_point()
6443                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6444                         to send signals for non-existent access points
6445
6446 2008-01-24  Dan Williams  <dcbw@redhat.com>
6447
6448         * libnm-glib/nm-device-802-11-wireless.c
6449                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6450
6451 2008-01-23  Dan Williams  <dcbw@redhat.com>
6452
6453         * libnm-glib/libnm_glib.c
6454                 - (libnm_glib_init): make thread joinable
6455                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6456
6457 2008-01-23  Dan Williams  <dcbw@redhat.com>
6458
6459         * test/libnm_glib_test.c
6460                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6461                 - (main): set up signal handlers; call libnm_glib_shutdown
6462
6463 2008-01-21  Dan Williams  <dcbw@redhat.com>
6464
6465         * include/NetworkManager.h
6466                 - Add CDMA mobile broadband card device type
6467
6468         * src/nm-hal-manager.c
6469                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6470                         must now be tagged with 'cdma' or 'gsm' capability
6471
6472         * src/nm-cdma-device.c
6473           src/nm-cdma-device.h
6474           src/Makefile.am
6475                 - Add the CDMA mobile broadband card device class
6476
6477         * libnm-util/nm-connection.c
6478                 - (register_default_settings): add NMSettingCdma
6479
6480         * libnm-util/nm-setting-cdma.c
6481           libnm-util/nm-setting-cdma.h
6482           libnm-util/Makefile.am
6483                 - Add the CDMA mobile broadband card setting class
6484
6485         * libnm-glib/nm-cdma-device.c
6486           libnm-glib/nm-cdma-device.h
6487           libnm-glib/Makefile.am
6488                 - Add the CDMA mobile broadband card GLib proxy class
6489
6490         * libnm-glib/nm-client.c
6491                 - (get_device): handle CDMA devices too
6492
6493 2008-01-21  Dan Williams  <dcbw@redhat.com>
6494
6495         * src/ppp-manager/nm-ppp-manager.c
6496                 - (ip4_config_get): set peer address too
6497
6498         * src/ppp-manager/nm-pppd-plugin.c
6499                 - (nm_ip_up): try harder to get the peer's address
6500
6501         * src/NetworkManagerSystem.c
6502                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6503                         address, use that too.  Otherwise, some PPP connections won't work.
6504
6505 2008-01-19  Dan Williams  <dcbw@redhat.com>
6506
6507         * src/NetworkManagerPolicy.c
6508                 - (nm_policy_device_change_check): system connections override user
6509                         connections; don't activate a user connection if there's a currently
6510                         active system connection, and new, better system connections always
6511                         interrupt user connections
6512
6513 2008-01-19  Dan Williams  <dcbw@redhat.com>
6514
6515         * src/nm-manager.h
6516                 - (nm_manager_get_connection_type): new function
6517
6518 2008-01-19  Dan Williams  <dcbw@redhat.com>
6519
6520         * src/nm-device-802-11-wireless.c
6521                 - (real_get_best_connection): collapse find_best_connection() into this
6522                         function
6523
6524 2008-01-19  Dan Williams  <dcbw@redhat.com>
6525
6526         * src/nm-device-802-3-ethernet.c
6527                 - (real_get_best_connection): collapse find_best_connection() into this
6528                         function
6529
6530 2008-01-18  Dan Williams  <dcbw@redhat.com>
6531
6532         * src/nm-device-802-3-ethernet.c
6533                 - (find_best_connection): check MAC address too
6534                 - (real_get_best_connection): let autoconnect=True connections activate
6535                         for devices that don't have carrier detection
6536
6537         * src/nm-device-802-11-wireless.c
6538                 - (find_best_connection): check MAC address too
6539
6540 2008-01-18  Dan Williams  <dcbw@redhat.com>
6541
6542         * system-settings/plugins/ifcfg/parser.c
6543                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6544
6545 2008-01-17  Dan Williams  <dcbw@redhat.com>
6546
6547         * src/nm-device-802-3-ethernet.c
6548                 - (nm_device_802_3_ethernet_carrier_on,
6549                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6550                         carrier events that might come in for devices that don't support
6551                         carrier detect
6552
6553 2008-01-17  Dan Williams  <dcbw@redhat.com>
6554
6555         * src/nm-device-interface.c
6556                 - (nm_device_interface_check_connection_conflicts): need to actually
6557                         get the interface, not cast to the object
6558
6559         * src/nm-device.c
6560                 - (nm_device_check_connection_conflicts): need to get the device class,
6561                         not cast the device to the device class
6562
6563 2008-01-17  Dan Williams  <dcbw@redhat.com>
6564
6565         * src/nm-device-802-11-wireless.c
6566                 - (real_check_connection_conflicts): ignore connections that aren't
6567                         wireless connections
6568
6569 2008-01-17  Dan Williams  <dcbw@redhat.com>
6570
6571         * src/NetworkManagerPolicy.c
6572                 - (nm_policy_device_change_check): clear change check idle here
6573                 - (device_change_check_done): remove
6574                 - (schedule_change_check): simplify
6575
6576 2008-01-17  Dan Williams  <dcbw@redhat.com>
6577
6578         * src/nm-manager.c
6579                 - (check_connection_allowed): take an NMDeviceInterface instead of
6580                         an NMDevice object as an argument
6581                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6582                         check_connection_allowed()
6583
6584 2008-01-13  Dan Williams  <dcbw@redhat.com>
6585
6586         * libnm-glib/nm-device-802-11-wireless.c
6587                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6588
6589 2008-01-12  Dan Williams  <dcbw@redhat.com>
6590
6591         * src/nm-device-802-11-wireless.c
6592                 - (activation_success_handler): if a match was found in the scan list
6593                         and that match is a hidden AP, update that AP's SSID
6594
6595 2008-01-11  Dan Williams  <dcbw@redhat.com>
6596
6597         * src/NetworkManagerAP.c
6598                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6599
6600         * src/nm-device-802-11-wireless.c
6601                 - (get_active_ap): do two passes over the scan list if the caller
6602                         requests that hidden APs get matched too; during the second pass
6603                         when matching hidden APs, ignore the SSID since hidden APs in the
6604                         scan list don't have an SSID yet
6605                 - (periodic_update): move some checks to
6606                         nm_device_802_11_periodic_update() because not all callers need them
6607                 - (nm_device_802_11_periodic_update): move some checks here from
6608                         perodic_update()
6609                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6610                         matching on incoming scan results, because the fake AP's flags
6611                         might be slightly different (yet still compatible) with the incoming
6612                         scan result's flags and they might actually be the same AP; update
6613                         the rate on merged APs too
6614                 - (activation_success_handler): update the frequency of the fake AP
6615                         on successful connection; match hidden APs too since if the
6616                         current AP is fake, there might already be a scan result in the
6617                         scan list for the desired AP, just without it's SSID filled in yet
6618
6619 2008-01-10  Dan Williams  <dcbw@redhat.com>
6620
6621         * src/NetworkManagerAP.c
6622                 - (foreach_property_cb): catch more hidden SSID formats
6623
6624 2008-01-10  Dan Williams  <dcbw@redhat.com>
6625
6626         Fix gnome.org #464215.  Requires the kernel patch titled
6627         "Introduce WEXT scan capabilities" but will handle the patch not being
6628         present, you'll just continue to have problems with hidden SSIDs when
6629         using mac80211-based drivers.
6630
6631         * src/supplicant-manager/nm-supplicant-config.h
6632           src/supplicant-manager/nm-supplicant-config.c
6633                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6634                         whether the driver supports SSID scans or not.  If it does, and if
6635                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6636
6637         * src/nm-device-802-11-wireless.c
6638                 - (constructor): check whether or not the driver supports SSID scans
6639                 - (build_supplicant_config): pass driver SSID scan capability when
6640                         building the wireless bits of the supplicant config
6641
6642 2008-01-09  Dan Williams  <dcbw@redhat.com>
6643
6644         * src/nm-device.c
6645           src/nm-device.h
6646                 - (device_activation_precheck, check_connection_complete): remove this
6647                         virtual function; incomplete connections should be invalid by
6648                         definition, complete-ness should be checked in the setting's
6649                         verify function
6650
6651         * src/nm-serial-device.c
6652           src/nm-gsm-device.c
6653                 - (real_check_connection_complete): remove
6654
6655         * libnm-util/nm-setting-serial.c
6656                 - (verify): new function; ensure there is a PPP setting too
6657
6658         * libnm-util/nm-setting-gsm.c
6659                 - (verify): ensure there is a serial setting too
6660
6661 2008-01-06  Dan Williams  <dcbw@redhat.com>
6662
6663         * src/dhcp-manager/nm-dhcp-manager.c
6664                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6665                         (gnome.org #332953)
6666
6667 2008-01-04  Dan Williams  <dcbw@redhat.com>
6668
6669         * src/named-manager/nm-named-manager.c
6670                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6671                         nameservers if the secondary config doesn't have any
6672                         (gnome.org #346833)
6673
6674 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6675
6676         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6677         with G_PARAM_CONSTRUCT so that they get the default values.
6678
6679         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6680         the monitoring device and prints out the output for now. Or more precicely, doesn't
6681         do absolutely anything right now since the montoring device argument is never set.
6682
6683         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6684         requires it's own knob to turn it on.
6685         (config_fd): Add NMSettingSerial to the arguments list.
6686         (nm_serial_device_open): Ditto.
6687         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6688         (nm_serial_device_get_io_channel): Implement.
6689
6690         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6691         a new reference every time (and forgetting to release it sometimes) is a pain and
6692         it's not like NMManager could work without dbus.
6693         (nm_manager_add_device): Register the added device on dbus here.
6694
6695         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6696         device.
6697
6698         * src/nm-device.c (constructor): Don't export the device here, instead export
6699         it when it's added to the NMManager's device list.
6700
6701 2007-12-31  Dan Williams  <dcbw@redhat.com>
6702
6703         * src/nm-device-interface.c
6704           src/nm-device-interface.h
6705                 - (nm_device_interface_check_connection_conflicts): new function
6706
6707         * src/nm-device.c
6708           src/nm-device.h
6709                 - (nm_device_check_connection_conflicts): new function
6710                 - (device_activation_precheck): don't require subclasses to implement
6711                         check_connection_complete()
6712                 - check_connection() -> check_connection_complete()
6713
6714         * src/nm-device-802-11-wireless.c
6715                 - (real_check_connection): remove; unused
6716                 - (real_check_connection_conflicts): implement, handle lockdown for
6717                         system connections
6718
6719         * src/nm-device-802-3-ethernet.c
6720                 - (real_check_connection): remove; unused
6721
6722         * src/nm-manager.c
6723                 - (check_connection_allowed): new function
6724                 - (nm_manager_activate_device): ensure the connection being requested
6725                         is allowed to be activated
6726
6727         * src/nm-serial-device.c
6728           src/nm-gsm-device.c
6729                 - real_check_connection() -> real_check_connection_complete()
6730
6731 2007-12-27  Dan Williams  <dcbw@redhat.com>
6732
6733         * src/nm-device-interface.c
6734           src/nm-device-interface.h
6735                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6736                         normalize and expand errors
6737                 - (nm_device_interface_init): register errors so they can be marshalled
6738                         through dbus-glib
6739                 - (nm_device_interface_activate): ensure that failure of activation
6740                         returns an error
6741
6742         * src/nm-device.c
6743           src/nm-device.h
6744                 - (device_activation_precheck): implementations of check_connection()
6745                         now take a GError and must fill it in if the check fails.  Return
6746                         more descriptive error if the requested connection is already
6747                         activating
6748                 - (nm_device_activate): actually try to return descriptive errors on
6749                         failures
6750
6751         * src/nm-device-802-11-wireless.c
6752           src/nm-device-802-3-ethernet.c
6753           src/nm-serial-device.c
6754           src/nm-gsm-device.c
6755                 - (real_check_connection): return more descriptive errors on failure
6756
6757         * src/NetworkManagerPolicy.c
6758                 - (nm_policy_device_change_check): print activation errors in the logs
6759
6760         * src/nm-manager.c
6761                 - (nm_manager_error_quark, nm_manager_error_get_type,
6762                    nm_manager_class_init): new errors
6763                 - (nm_manager_activate_device): handle errors
6764                 - (nm_manager_error_new): removed
6765                 - (wait_for_connection_expired, connection_added_default_handler,
6766                    impl_manager_activate_device): better error handling
6767
6768 2007-12-27  Dan Williams  <dcbw@redhat.com>
6769
6770         Fixes gnome.org #466954
6771
6772         * src/supplicant-manager/nm-supplicant-settings-verify.c
6773                 - Allow 'frequency' network property
6774
6775         * src/supplicant-manager/nm-supplicant-config.c
6776           src/supplicant-manager/nm-supplicant-config.h
6777                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6778                         for callers to specify the frequency an Ad-Hoc network should operate
6779                         on.  Some drivers require this to successfully create an Ad-Hoc
6780                         network.
6781
6782         * src/nm-device-802-11-wireless.c
6783                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6784                         guint32 value in MHz
6785                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6786                         iw_freq_to_uint32()
6787                 - (find_supported_frequency): new function; find a free supported
6788                         frequency for a user-created Ad-Hoc network
6789                 - (build_supplicant_config): if no frequency was specified for a user-
6790                         created Ad-Hoc network, find a free one to use
6791                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6792                         a specific object as user-created
6793
6794 2007-12-27  Dan Williams  <dcbw@redhat.com>
6795
6796         * libnm-util/nm-utils.c
6797           libnm-util/nm-utils.h
6798                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6799                         for adhoc networks
6800
6801 2007-12-24  Dan Williams  <dcbw@redhat.com>
6802
6803         * libnm-util/nm-setting-wireless.c
6804                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6805                         185, 187, 188, 192, and 196
6806
6807 2007-12-24  Dan Williams  <dcbw@redhat.com>
6808
6809         * src/nm-device-802-11-wireless.c
6810                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6811                         a channel # instead of a frequency
6812
6813 2007-12-24  Dan Williams  <dcbw@redhat.com>
6814
6815         * src/NetworkManagerAP.c
6816           src/NetworkManagerAP.h
6817                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6818                 - (freq_to_channel): handle split band tables
6819                 - (channel_to_freq): handle split band tables, take a band argument
6820
6821 2007-12-24  Dan Williams  <dcbw@redhat.com>
6822
6823         * libnm-util/nm-setting-connection.h
6824           libnm-util/nm-setting-connection.c
6825                 - Add 'lockdown' member
6826
6827 2007-12-22  Dan Williams  <dcbw@redhat.com>
6828
6829         * libnm-util/nm-setting-wireless.c
6830                 - (nm_setting_wireless_class_init): add missing 'rate' property
6831                         specification
6832
6833 2007-12-18  Dan Williams  <dcbw@redhat.com>
6834
6835         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6836
6837         * src/nm-netlink-monitor.c
6838           src/nm-netlink-monitor.h
6839                 - Remove handrolled netlink, use libnl instead
6840
6841         * src/nm-device-802-3-ethernet.c
6842                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6843                    nm_device_802_3_ethernet_carrier_on): use new names
6844
6845 2007-12-17  Dan Williams  <dcbw@redhat.com>
6846
6847         * configure.in
6848                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6849                         and fixes memory leaks)
6850
6851         * src/nm-netlink.c
6852                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6853                         automatically handle the netlink PID
6854
6855 2007-12-17  Dan Williams  <dcbw@redhat.com>
6856
6857         Patch from Michael Biebl <biebl@debian.org>
6858
6859         * configure.in
6860           src/ppp-manager/Makefile.am
6861                 - fix up install dir of pppd plugin
6862                 - clean up configure.in a bit
6863
6864 2007-12-12  Dan Williams  <dcbw@redhat.com>
6865
6866         * system-settings/src/nm-system-settings.conf
6867                 - Allow non-root clients (like the applet) to read settings
6868
6869 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6870
6871         * Replace all occurences of 'UMTS' with 'GSM'.
6872
6873 2007-12-07  Dan Williams  <dcbw@redhat.com>
6874
6875         * src/nm-serial-device.c
6876                 - (real_is_up): serial devices are always "up"
6877
6878 2007-12-07  Dan Williams  <dcbw@redhat.com>
6879
6880         * src/nm-netlink.c
6881           src/NetworkManagerSystem.c
6882                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6883                         twice (gnome.org #491047)
6884                 - Make more robust against allocation-related failures should they occur
6885
6886 2007-12-07  Dan Williams  <dcbw@redhat.com>
6887
6888         Noticed by Christian Persch <chpe@gnome.org>
6889
6890         Always chain up to parent object in dispose and finalize handlers.
6891                 (gnome.org #433112)
6892
6893 2007-12-07  Dan Williams  <dcbw@redhat.com>
6894
6895         * src/nm-device-802-11-wireless.c
6896                 - Wrap #include of linux/mii.h to fix redefined structures due to
6897                         incorrect kernel headers (gnome.org #350061)
6898
6899 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6900
6901         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6902         before doing anything else.
6903         (init_modem): Move modem initialization here.
6904
6905         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6906         (nm_serial_device_flash): Implement.
6907
6908         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6909         changes signal is "StateChanged" and not "Status".
6910         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6911
6912 2007-12-06  Dan Williams  <dcbw@redhat.com>
6913
6914         * src/supplicant-manager/nm-supplicant-config.c
6915                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6916                         to only send some options when they make sense; also send phase2
6917                         option to the supplicant (possible fix for rh #399631)
6918
6919 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6920
6921         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6922         arguments: This whole file shouldn't really know anything about NMDevices, it
6923         should deal only with device interfaces. Devices might have different ifaces for
6924         different stuff and this place shouldn't know anything about it.
6925
6926         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6927         (global_state_changed): Implement. In the current NM it's not really important,
6928         but will be required in the case of multiple active devices. (Or even better,
6929         if stuff like that gets moved out from NM).
6930
6931         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6932         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6933         instead.
6934
6935         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6936         devices like serial devices (ttyS0 and ppp0 for example).
6937         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6938         set.
6939         (nm_device_set_ip_iface): Implement.
6940         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6941         after setting ip4_config from here ...
6942         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6943         than this function should call nm_system_device_set_from_ip4_config() because no
6944         other code has enough information on which arguments to use. So instead, other code
6945         could just set the new ip4 config using this function and everyone is happy.
6946
6947         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6948         if we happen to get deactivated while something is pending.
6949         (automatic_registration): Handle the response that indicates pending network
6950         registration and wait until the pending registration is done.
6951         (real_deactivate_quickly): If there's a pending operation, cancel it.
6952
6953         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6954         (real_deactivate_quickly): ... and remove it when it's down.
6955         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6956         it if needed.
6957         (nm_serial_device_wait_for_reply): Ditto.
6958
6959 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6960
6961         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6962         (get_network_done): Remove newline, nm_info() does it already.
6963         (real_act_stage1_prepare): Turn the modem echo off.
6964
6965         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6966         device, set the route to the device interface. This is a hack.
6967
6968         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6969         return, no need for a new-line.
6970         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6971         Change the device iface here (ugh).
6972         (real_act_stage4_get_ip4_config): Implement.
6973         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6974         Restore the device iface.
6975
6976         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6977         device is not wired or wireless (eg, automatically upped) device.
6978
6979         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6980         it isn't.
6981         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6982
6983         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6984         before calling it's is_device_fn().
6985
6986 2007-12-05  Dan Williams  <dcbw@redhat.com>
6987
6988         * libnm-util/nm-utils.c
6989                 - (nm_utils_register_value_transformations,
6990                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6991                         GHashTables of GValues too
6992
6993 2007-12-04  Dan Williams  <dcbw@redhat.com>
6994
6995         * initscript/RedHat/NetworkManager.in
6996                 - No longer start named; it's D-Bus interface is going away
6997
6998 2007-12-04  Dan Williams  <dcbw@redhat.com>
6999
7000         Patch from Michael Biebl <biebl@debian.org>
7001
7002         * system-settings/plugins/ifcfg/Makefile.am
7003           system-settings/src/main.c
7004           system-settings/src/Makefile.am
7005                 - Put system settings plugins in NM plugins dir
7006
7007         * src/ppp-manager/Makefile.am
7008           src/ppp-manager/nm-ppp-manager.c
7009                 - Move pppd plugin to NM plugins dir
7010
7011 2007-12-04  Dan Williams  <dcbw@redhat.com>
7012
7013         * libnm-util/nm-setting-vpn-properties.h
7014                 - Clarify usage of the 'data' member of the setting
7015
7016         * libnm-util/nm-setting-vpn-properties.c
7017                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
7018                 - (set_property): just remove all the settings; don't recreate the has
7019                 - (update_one_secret): don't need to create the hash table here since
7020                         it should always be present
7021
7022 2007-12-03  Tambet Ingo  <tambet@gmail.com>
7023
7024         Implement PIN and PUK requesting.
7025
7026         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
7027         (enter_pin): Handle PIN and PUK requests.
7028         (real_act_stage1_prepare): Clear the secret type.
7029         (real_connection_secrets_updated): Implement this class method to get
7030         notified when new secrets arrive.
7031         (nm_umts_device_class_init): Add private data back to the umts device class
7032         to store the required secret type.
7033
7034 2007-12-01  Dan Williams  <dcbw@redhat.com>
7035
7036         * system-settings/plugins/ifcfg/parser.c
7037                 - (parser_parse_file): don't try to verify NULL connections
7038
7039 2007-12-01  Dan Williams  <dcbw@redhat.com>
7040
7041         * system-settings/src/main.c
7042                 - (load_connections, add_connection_to_settings): actually export
7043                         plugin-provided connections over D-Bus so NM can get them
7044
7045 2007-12-01  Dan Williams  <dcbw@redhat.com>
7046
7047         * system-settings/plugins/ifcfg/parser.c
7048           system-settings/plugins/ifcfg/parser.h
7049           system-settings/plugins/ifcfg/plugin.c
7050                 - Hook up more inotify bits (untested)
7051
7052 2007-11-29  Dan Williams  <dcbw@redhat.com>
7053
7054         * system-settings/src/nm-system-config-interface.h
7055           system-settings/src/nm-system-config-interface.c
7056                 - (nm_system_config_interface_init,
7057                    nm_system_config_interface_get_connections): add
7058
7059         * system-settings/src/main.c
7060                 - (load_plugins, load_connections, main): use a GSList for plugins
7061                         to ensure priority ordering
7062
7063         * system-settings/plugins/ifcfg/parser.c
7064                 - (ifcfg_error_quark): move to plugin.c, and rename
7065
7066         * system-settings/plugins/ifcfg/plugin.h
7067           system-settings/plugins/ifcfg/plugin.c
7068                 - (ifcfg_plugin_error_quark): move here from parser.c
7069                 - rework connection loading and initialization
7070                 - Add preliminary inotify support for network profile config file
7071
7072 2007-11-28  Tambet Ingo  <tambet@gmail.com>
7073
7074         Merge the beginnings of the new GSM card support.
7075
7076         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
7077         ppp watch source before killing pppd - If this happens from g_object_unref()
7078         then the ppp manager is already destroyed by the time the watch callback runs.
7079
7080         * src/nm-hal-manager.c: Add a device_type_name string to the device
7081         creators, so that we can print a nice human readable string when a
7082         device is added.
7083
7084         * src/nm-umts-device.c (automatic_registration_get_network): Query
7085         for the activated network, not much is done with the result thought.
7086
7087         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
7088         (ppp_ip4_config): Change the device state to activated here for now.
7089         (real_check_connection): Make sure the connection includes ppp setting.
7090
7091         * libnm-glib/nm-client.c (get_device): Handle umts devices.
7092
7093         * libnm-glib/Makefile.am: Add the new files to build.
7094
7095         * libnm-glib/nm-umts-device.c: 
7096         * libnm-glib/nm-umts-device.h: Implement.
7097
7098 2007-11-26  Tambet Ingo  <tambet@gmail.com>
7099
7100         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
7101         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
7102
7103         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
7104         the timeout source - this function is only called when the timeout source has
7105         been removed.
7106         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
7107         to be big enough to contain the terminating zero element as well.
7108         The timeout argument is meant to be in seconds now.
7109         (real_deactivate_quickly): Implement.
7110
7111         * src/NetworkManager.conf: Allow root to own 
7112         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7113
7114         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7115         (not unsigned ints).
7116
7117         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7118         small issue with parity bounds - capital letters have lower ascii codes
7119         than lower case letters.
7120
7121         * libnm-util/nm-connection.c (register_default_settings): Register serial
7122         and umts settings.
7123
7124 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7125
7126         Remove the "index" property from devices as not all device types have this.
7127
7128         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7129
7130         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7131         (wired_device_creator): Get the device interface from hal to create the device.
7132         (wireless_device_creator): Ditto.
7133
7134         * src/nm-device.c (nm_device_init): Remove the index member.
7135         (constructor): Remove the checks for index property, make interface property
7136         a require constructor property.
7137         Use the HAL udi for DBus path for devices.
7138         (nm_device_get_index): Remove.
7139         (set_property): Remove index handling.
7140         (get_property): Ditto.
7141         (nm_device_get_dbus_path): Remove.
7142
7143         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7144         property.
7145
7146         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7147         Access the device index through it's interface.
7148         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7149         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7150         index argument. Add interface argument.
7151
7152         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7153         the useless test_dev argument. Remove index argument. Add interface arugment.
7154
7155         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7156         device index through interface.
7157         (nm_system_set_mtu): Ditto.
7158
7159         * introspection/nm-device.xml: Remove the "Index" property.
7160
7161 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7162
7163         * src/nm-serial-device.c: 
7164         * src/nm-serial-device.c: 
7165         * src/nm-umts-device.c:
7166         * src/nm-umts-device.h: Implement.
7167
7168         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7169         allocated by libhal.
7170         (modem_device_creator): Implement.
7171         (register_built_in_creators): Register the modem creator.
7172
7173         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7174         Remove the unused test_dev argument.
7175
7176         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7177
7178         * src/Makefile.am: Add new files to build.
7179         Link in ppp-manager.
7180
7181         * libnm-util/nm-setting-umts.c: 
7182         * libnm-util/nm-setting-umts.h: 
7183         * libnm-util/nm-setting-serial.c: 
7184         * libnm-util/nm-setting-serial.h: Implement.
7185
7186         * libnm-util/Makefile.am: Add new files to build.
7187
7188 2007-11-28  Dan Williams  <dcbw@redhat.com>
7189
7190         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7191
7192         Support DHCP-provided static routes.
7193
7194         * src/nm-ip4-config.h
7195           src/nm-ip4-config.c
7196                 - Add get/set functions for static routes
7197
7198         * src/dhcp-manager/nm-dhcp-manager.c
7199                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7200                         DHCP response
7201
7202         * src/NetworkManagerSystem.c
7203                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7204                         interface when applying the IP4Config
7205
7206 2007-11-28  Dan Williams  <dcbw@redhat.com>
7207
7208         * src/nm-device-802-11-wireless.c
7209                 - (real_act_stage1_prepare): mark APs created for hidden networks
7210                         as non-broadcasting
7211
7212 2007-11-27  Dan Williams  <dcbw@redhat.com>
7213
7214         * system-settings/src/nm-system-config-interface.h
7215                 - Note how to store secrets on NMSetting objects
7216
7217         * system-settings/src/dbus-settings.c
7218                 - (connection_settings_get_secrets): implement
7219
7220 2007-11-27  Dan Williams  <dcbw@redhat.com>
7221
7222         * system-settings/plugins/ifcfg/Makefile.am
7223           system-settings/plugins/ifcfg/parser.c
7224           system-settings/plugins/ifcfg/parser.h
7225           system-settings/plugins/ifcfg/plugin.c
7226                 - Parse wireless connections too
7227
7228         * system-settings/src/dbus-settings.c
7229           system-settings/src/dbus-settings.h
7230           system-settings/src/main.c
7231                 - Handle connection update/removal if the plugin supports it
7232
7233 2007-11-27  Dan Williams  <dcbw@redhat.com>
7234
7235         * src/nm-dbus-manager.h
7236           src/nm-hal-manager.c
7237                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7238                         do it for them
7239
7240         * src/Makefile.am
7241           src/NetworkManagerDbusUtils.c
7242           src/NetworkManagerDbusUtils.h
7243                 - Remove these two source files; they are unused
7244
7245 2007-11-27  Dan Williams  <dcbw@redhat.com>
7246
7247         * src/vpn-manager/nm-vpn-manager.c
7248                 - (impl_vpn_manager_connect): fix system settings check (found by
7249                         James M. Leddy)
7250
7251 2007-11-26  Dan Williams  <dcbw@redhat.com>
7252
7253         * Fix warnings so everything compiles with --enable-more-warnings
7254
7255 2007-11-25  Dan Williams  <dcbw@redhat.com>
7256
7257         * system-settings/*
7258                 - Rework structure and code to use GModule-loaded plugins and a plugin
7259                         interface that plugins export to the system settings service
7260
7261 2007-11-21  Dan Williams  <dcbw@redhat.com>
7262
7263         * system-settings/*
7264                 - Add Soren's system settings service.  Needs work for distros other
7265                         than Fedora; the backends from NM should mostly migrate to here
7266                         and be converted to GObjects
7267
7268 2007-11-21  Dan Williams  <dcbw@redhat.com>
7269
7270         * libnm-util/nm-setting-vpn-properties.c
7271                 - (set_property): must deep-copy the given settings hash, otherwise
7272                         double-free errors occur when the setting is disposed of
7273
7274 2007-11-21  Dan Williams  <dcbw@redhat.com>
7275
7276         * src/vpn-manager/nm-vpn-act-request.h
7277           src/vpn-manager/nm-vpn-act-request.c
7278                 - Remove; unused
7279
7280 2007-11-20  Dan Williams  <dcbw@redhat.com>
7281
7282         * libnm-util/nm-utils.c
7283                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7284                    nm_utils_convert_ip4_addr_struct_array_to_string,
7285                    nm_utils_register_value_transformations): print out the readable
7286                         values of more types of properties of NMSettings subclasses
7287
7288 2007-11-20  Dan Williams  <dcbw@redhat.com>
7289
7290         * libnm-util/nm-setting-ip4-config.c
7291                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7292                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7293                         marshal GValueArrays inside collections, so switch to types that it
7294                         can actually marshal/demarshal
7295
7296 2007-11-16  Dan Williams  <dcbw@redhat.com>
7297
7298         * libnm-util/nm-setting-wireless-security.c
7299                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7300                         minimal verification of EAP methods too
7301                 - (verify): verify phase1 eap methods too
7302
7303 2007-11-15  Dan Williams  <dcbw@redhat.com>
7304
7305         * libnm-glib/nm-device.h
7306           libnm-glib/nm-device.c
7307                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7308                         const char *
7309
7310 2007-11-15  Dan Williams  <dcbw@redhat.com>
7311
7312         * libnm-glib/nm-device.c
7313                 - (get_product_and_vendor): don't try to free things that should be
7314                         freed
7315
7316 2007-11-15  Dan Williams  <dcbw@redhat.com>
7317
7318         * src/NetworkManagerUtils.c
7319                 - (nm_ethernet_address_is_valid): unbreak previous fix
7320
7321 2007-11-15  Dan Williams  <dcbw@redhat.com>
7322
7323         * src/supplicant-manager/nm-supplicant-config.c
7324                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7325                         options
7326
7327 2007-11-15  Dan Williams  <dcbw@redhat.com>
7328
7329         * src/NetworkManagerUtils.c
7330                 - (nm_ethernet_address_is_valid): fix style, clarify
7331                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7332
7333         * src/nm-device-802-11-wireless.c
7334                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7335                 - (nm_device_802_11_wireless_get_ssid,
7336                    nm_device_802_11_wireless_get_bssid,
7337                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7338                         before calling the ioctl; fixes valgrind-reported jump depends on
7339                         uninitialized value errors
7340
7341 2007-11-15  Dan Williams  <dcbw@redhat.com>
7342
7343         * libnm-util/nm-setting.c
7344                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7345                         unecessary to serialize 'name'
7346
7347         * src/nm-activation-request.c
7348                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7349                         the GetSecrets call
7350
7351 2007-11-15  Dan Williams  <dcbw@redhat.com>
7352
7353         * libnm-util/nm-setting-connection.h
7354           libnm-util/nm-setting-connection.c
7355                 - Rename the 'name' property to 'id', because it conflicted with the
7356                         NMSetting superclass' 'name' property.
7357
7358         * libnm-util/nm-setting.c
7359                 - (nm_setting_to_hash): serialize the 'name' property
7360                 - (one_property_cb): ignore 'name' on deserialization of a connection
7361
7362         * src/nm-device-802-11-wireless.c
7363           src/vpn-manager/nm-vpn-connection.c
7364           src/NetworkManagerPolicy.c
7365                 - Fix up for NMSettingConnection 'name'->'id' changes
7366
7367 2007-11-13  Dan Williams  <dcbw@redhat.com>
7368
7369         * libnm-glib/nm-device-802-11-wireless.h
7370           libnm-glib/nm-device-802-11-wireless.c
7371                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7372
7373         * test/nm-tool.c
7374           libnm-glib/libnm-glib-test.c
7375                 - Fixes for above change
7376
7377 2007-11-12  Dan Williams  <dcbw@redhat.com>
7378
7379         * src/supplicant-manager/nm-supplicant-settings-verify.c
7380                 - Allow fragment_size option
7381
7382         * src/supplicant-manager/nm-supplicant-settings-verify.c
7383                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7384                         EAP fragment size than the default to help some TLS connections
7385
7386 2007-11-12  Dan Williams  <dcbw@redhat.com>
7387
7388         Make certs actually work.  The private key is now a secret, and should be
7389         decrypted when requested by NM.  The private key and phase2 private key
7390         passwords are no longer interesting to NM because they should be used by
7391         the settings service to decrypt the private key itself before passing it
7392         to NM, and hence have been removed as fields.
7393
7394         * libnm-util/nm-setting-wireless-security.h
7395           libnm-util/nm-setting-wireless-security.c
7396                 - Remove private-key-passwd and phase2-private-key-passwd from
7397                         properties
7398                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7399                    need_secrets): use property #defines instead strings to keep things
7400                         consistent
7401                 - (need_secrets_tls): if a client certificate is present but no
7402                         private key, request the private key
7403                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7404                         remove private key password stuff, mark private keys as secret
7405
7406         * src/supplicant-manager/nm-supplicant-settings-verify.c
7407                 - Remove private_key_passwd and private_key2_passwd from opt_table
7408
7409 2007-11-09  Dan Williams  <dcbw@redhat.com>
7410
7411         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7412         Since the vpn-properties are managed and known by the VPN daemons themselves,
7413         libnm-util doesn't know what's secret and what's in the setting's 'data'
7414         member.
7415
7416         * libnm-util/nm-setting.h
7417           libnm-util/nm-setting.c
7418                 - Add the ability for subclasses to override update_one_secret
7419
7420         * libnm-util/nm-setting-vpn-properties.c
7421                 - Override update_one_secret and just copy the values into the
7422                         internal table
7423
7424 2007-11-09  Dan Williams  <dcbw@redhat.com>
7425
7426         * libnm-glib/nm-settings.h
7427           libnm-glib/nm-settings.c
7428                 - (nm_settings_new_error): remove
7429                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7430                         clients should use g_set_error() with NM_SETTINGS_ERROR
7431
7432 2007-11-09  Dan Williams  <dcbw@redhat.com>
7433
7434         * src/supplicant-manager/nm-supplicant-config.c
7435                 - (nm_supplicant_config_add_setting_wireless_security): private key
7436                         passwords are never sent to wpa_supplicant, because the supplicant
7437                         should never be reading random files from the disk.  Clients like
7438                         the applet are required to decrypt the private keys and send NM
7439                         the decrypted blobs.
7440
7441 2007-11-08  Dan Williams  <dcbw@redhat.com>
7442
7443         * libnm-util/nm-setting-wireless-security.h
7444           libnm-util/nm-setting-wireless-security.c
7445                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7446                         members to 802-11-wireless-security structure.  This should be used
7447                         to indicate that the values in private-key and phase2-private-key
7448                         are already decrypted by the user agent, and that no
7449                         private-key-passwd or phase2-private-key-passwd should be expected.
7450                         It is not meant to be a stored configuration value, but meant to
7451                         be set when the conneciton is sent to NM over dbus.
7452
7453 2007-11-08  Dan Williams  <dcbw@redhat.com>
7454
7455         * libnm-util/nm-connection.h
7456           libnm-util/nm-connection.c
7457                 - (nm_connection_need_secrets): add argument to return hints
7458
7459         * src/nm-device-802-11-wireless.c
7460                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7461                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7462                         nm_connection_need_secrets() change
7463
7464 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7465
7466         Rework NMSetting structures: Move each setting to it's own file.
7467         Convert to GObject. Remove home grown setting types and use GTypes.
7468         Use GObject property introspection for hash conversion, enumerating
7469         properties, etc.
7470
7471         * libnm-util/nm-setting-connection.[ch]
7472         * libnm-util/nm-setting-ip4-config.[ch]
7473         * libnm-util/nm-setting-ppp.[ch]
7474         * libnm-util/nm-setting-vpn.[ch]
7475         * libnm-util/nm-setting-vpn-properties.[ch]
7476         * libnm-util/nm-setting-wired.[ch]
7477         * libnm-util/nm-setting-wireless.[ch]
7478         * libnm-util/nm-setting-wireless-security.[ch]
7479
7480         New files, each containing a setting.
7481
7482         * libnm-util/nm-setting-template.[ch]: A template for creating new
7483         settings. To use it, just replace 'template' with the new setting
7484         name, and you're half-way done.
7485
7486         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7487         introspection instead of internal types and tables.
7488
7489         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7490
7491         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7492         GValue types defined by dbus-glib for composed types like collections,
7493         structures and maps.
7494
7495         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7496         a setting from connection takes the setting type now. Also, since
7497         the settings are in multiple files, include relevant settings.
7498
7499 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7500
7501         * configure.in:
7502         * src/backends/NetworkManagerGentoo.c:
7503         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7504         providers in Gentoo.
7505
7506 2007-10-31  Dan Williams  <dcbw@redhat.com>
7507
7508         * libnm-util/nm-connection.c
7509                 - (gvalue_to_string): handle UINT32 arrays
7510
7511 2007-10-31  Dan Williams  <dcbw@redhat.com>
7512
7513         * libnm-glib/nm-device.h
7514           libnm-glib/nm-device.c
7515                 - (nm_device_get_description): remove
7516                 - (nm_device_get_product, nm_device_get_vendor): add
7517                 - (nm_device_update_description): new function (private); walk HAL
7518                         devices to get product and vendor IDs for a specific device
7519
7520 2007-10-31  Dan Williams  <dcbw@redhat.com>
7521
7522         * src/nm-device-802-11-wireless.c
7523                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7524
7525 2007-10-29  Dan Williams  <dcbw@redhat.com>
7526
7527         * src/nm-hal-manager.c
7528                 - (device_added, device_new_capability): ignore device additions while
7529                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7530                         kernel module is unloaded and reloaded and recognized by NM again.
7531
7532 2007-10-26  Dan Williams  <dcbw@redhat.com>
7533
7534         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7535
7536         * src/NetworkManagerAP.c
7537           src/NetworkManagerAP.h
7538           libnm-glib/nm-access-point.c
7539           libnm-glib/nm-access-point.h
7540                 - Make 'rate' property a guint32 to better match with WEXT and
7541                         wpa_supplicant and to allow representation of higher bitrates
7542
7543         * src/nm-device-802-11-wireless.c
7544           introspection/nm-device-802-11-wireless.xml
7545           libnm-glib/nm-device-802-11-wireless.c
7546           libnm-glib/nm-device-802-11-wireless.h
7547                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7548
7549         * src/nm-device-802-3-ethernet.c
7550           src/nm-device-802-3-ethernet.h
7551           introspection/nm-device-802-3-ethernet.xml
7552           libnm-glib/nm-device-802-3-ethernet.c
7553           libnm-glib/nm-device-802-3-ethernet.h
7554                 - Make 'speed' property a guint32 to match other speed/rate types
7555                 - Make nm_device_802_3_ethernet_get_speed() static
7556
7557         * test/nm-tool.c
7558                 - Update for the changes above
7559
7560 2007-10-26  Dan Williams  <dcbw@redhat.com>
7561
7562         * src/named-manager/nm-named-manager.c
7563                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7564                     not calling fclose() twice on some error conditions
7565
7566 2007-10-26  Dan Williams  <dcbw@redhat.com>
7567
7568         * src/nm-activation-request.c
7569                 - (dispose): clean up indentation; get the right DBusGProxy object to
7570                         cancel the GetSecrets pending call on.  Need to use the Secrets
7571                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7572                         pending call doesn't get canceled, and pressing Cancel in the
7573                         applet's password dialog could cause get_secrets_cb() to be called
7574                         after the activation request has already been destroyed
7575
7576 2007-10-24  Dan Williams  <dcbw@redhat.com>
7577
7578         * src/supplicant-manager/nm-supplicant-config.c
7579                 - (nm_supplicant_config_add_blob): pass blob data and length for
7580                         verification
7581                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7582
7583 2007-10-24  Dan Williams  <dcbw@redhat.com>
7584
7585         * src/supplicant-manager/nm-supplicant-settings-verify.c
7586                 - (opt_table): max length for certificates should be 65536
7587
7588 2007-10-24  Dan Williams  <dcbw@redhat.com>
7589
7590         * src/supplicant-manager/nm-supplicant-interface.c
7591                 - (blob_free): correctly free blob data after use
7592                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7593
7594 2007-10-24  Dan Williams  <dcbw@redhat.com>
7595
7596         * libnm-util/nm-setting.c
7597                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7598                         EAP method need secrets
7599
7600 2007-10-24  Dan Williams  <dcbw@redhat.com>
7601
7602         * src/backends/NetworkManagerRedHat.c
7603                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7604
7605 2007-10-23  Dan Williams  <dcbw@redhat.com>
7606
7607         * libnm-util/nm-setting.c
7608           libnm-util/nm-setting.c
7609                 - (nm_setting_compare): implement
7610                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7611                    compare_one_hash_gvalue): compare the contents of a setting
7612
7613         * libnm-util/nm-connection.c
7614                 - (nm_connection_compare): implement
7615
7616 2007-10-23  Dan Williams  <dcbw@redhat.com>
7617
7618         * src/nm-activation-request.c
7619                 - (get_secrets_cb): handle getting a setting back that is more than
7620                         just secrets (ie, user changed auth or EAP method or something)
7621
7622 2007-10-23  Dan Williams  <dcbw@redhat.com>
7623
7624         * libnm-util/nm-setting.c
7625           libnm-util/nm-setting.h
7626                 - (nm_setting_verify): new function; verify one setting
7627                 - (nm_settings_verify_all): rename from nm_settings_verify()
7628                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7629                         all_settings
7630
7631         * libnm-util/nm-connection.c
7632                 - (nm_connection_replace_settings, nm_connection_verify,
7633                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7634
7635 2007-10-23  Dan Williams  <dcbw@redhat.com>
7636
7637         * src/nm-device-802-11-wireless.c
7638                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7639                         desired behavior
7640
7641 2007-10-23  Dan Williams  <dcbw@redhat.com>
7642
7643         * src/supplicant-manager/nm-supplicant-settings-verify.c
7644                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7645                         nm-settings.c
7646
7647 2007-10-23  Dan Williams  <dcbw@redhat.com>
7648
7649         * src/nm-device-802-11-wireless.c
7650                 - (real_act_stage2_config): after the first association failure,
7651                         if the connection still needs secrets ask the user for them
7652                         explicitly.  After the fourth association failure due to bad
7653                         secrets, fail the connection entirely.  Handles the GetSecrets
7654                         loop that NM gets into when the provided secrets don't match up
7655                         with the connection details.
7656
7657 2007-10-23  Dan Williams  <dcbw@redhat.com>
7658
7659         * src/supplicant-manager/nm-supplicant-config.c
7660                 - (nm_supplicant_config_add_setting_wireless_security): only add
7661                         WPA-specific options when WPA is in use
7662
7663 2007-10-23  Dan Williams  <dcbw@redhat.com>
7664
7665         * src/supplicant-manager/nm-supplicant-config.c
7666                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7667                         secret doesn't need to be unhexified
7668
7669 2007-10-23  Dan Williams  <dcbw@redhat.com>
7670
7671         * libnm-util/nm-setting.c
7672                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7673                         before trying to do something with it
7674
7675 2007-10-23  Dan Williams  <dcbw@redhat.com>
7676
7677         * src/nm-device-802-11-wireless.c
7678                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7679
7680 2007-10-23  Dan Williams  <dcbw@redhat.com>
7681
7682         * src/nm-device-802-11-wireless.c
7683                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7684                         non-SSID-broadcasting APs
7685
7686 2007-10-23  Dan Williams  <dcbw@redhat.com>
7687
7688         * src/NetworkManagerAP.c
7689                 - (match_cipher, security_compatible): remove
7690                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7691                         libnm-util instead
7692
7693 2007-10-23  Dan Williams  <dcbw@redhat.com>
7694
7695         * libnm-util/nm-utils.c
7696           libnm-util/nm-utils.h
7697                 - (nm_utils_ap_security_compatible): common function for checking
7698                         whether a specific AP is compatible with an NMConnection
7699
7700 2007-10-23  Dan Williams  <dcbw@redhat.com>
7701
7702         * libnm-util/nm-setting.c
7703                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7704                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7705                    need_secrets_password, setting_wireless_security_verify): fix
7706                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7707                         secrets logic for each supported EAP method
7708
7709 2007-10-23  Dan Williams  <dcbw@redhat.com>
7710
7711         * src/supplicant-manager/nm-supplicant-config.c
7712                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7713                         config option name, should be "private_key2_passwd"
7714
7715 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7716
7717         Implement support for static IP addresses, additional/overridden DNS and
7718         DNS domain search lists.
7719
7720         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7721         (ip4_addresses_to_gvalue): Implement.
7722         (convert_array_to_byte_array): Implement.
7723         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7724         NM_S_TYPE_IP4_ADDRESSES.
7725         (nm_setting_hash): Ditto.
7726         (default_setting_clear_secrets): Add a default case for the switch: IP address
7727         shouldn't be secret, ever.
7728         (setting_ip4_config_verify): Update, requires addresses in case of manual
7729         configurations.
7730         (setting_ip4_config_destroy): Free stuff.
7731
7732         * src/nm-device.c (merge_ip4_config): Implement.
7733         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7734
7735 2007-10-22  Dan Williams  <dcbw@redhat.com>
7736
7737         * libnm-util/nm-setting.c
7738                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7739                         pairwise cipher options for Dynamic WEP
7740
7741 2007-10-21  Dan Williams  <dcbw@redhat.com>
7742
7743         * src/NetworkManagerAP.c
7744           src/NetworkManagerAP.h
7745                 - Rename 'articifical' -> 'fake' since that's what they are until
7746                         noticed in scans
7747                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7748                         from the attributes in an NMConnection object
7749                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7750                         WPA Enterprise
7751                 - (nm_ap_match_in_list): find a matching AP in a scan list
7752
7753         * src/nm-device-802-11-wireless.c
7754                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7755                         AP when searching the scan list; match on frequency and mode too
7756                 - (nm_device_802_11_wireless_get_frequency): implement
7757                 - (merge_scanned_ap): replace duplicate matching logic with
7758                         nm_ap_match_in_list()
7759                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7760                         the user is trying to connect to a hidden network that is not yet
7761                         known from the scan list
7762                 - (activation_success_handler): now that the card knows the AP's BSSID,
7763                         there may already be a scanned AP in the scan list that is what
7764                         we really wanted to connect to, but didn't know at the time.  Use
7765                         that instead of the 'fake' AP created at activation start and get
7766                         rid of the 'fake' AP 
7767                 - (cull_scan_list): don't remove fake APs
7768
7769 2007-10-21  Dan Williams  <dcbw@redhat.com>
7770
7771         * src/nm-activation-request.h
7772           src/nm-activation-request.c
7773                 - (nm_act_request_set_specific_object): new function; allow setting the
7774                         specific object if one isn't set yet
7775
7776 2007-10-20  Dan Williams  <dcbw@redhat.com>
7777
7778         * src/supplicant-manager/nm-supplicant-config.h
7779           src/supplicant-manager/nm-supplicant-config.c
7780                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7781                         table to store blobs
7782                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7783                         blob hash table
7784                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7785                 - (nm_supplicant_config_add_setting_wireless_security): handle
7786                         options that use certificates (ie, blobs)
7787
7788         * src/nm-device-802-11-wireless.c
7789                 - (build_supplicant_config): pass a UID (just use the connection path)
7790                         to the supplicant config as now required
7791
7792         * src/supplicant-manager/nm-supplicant-interface.c
7793                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7794                         there are any blobs to send to wpa_supplicant, send those first
7795                         before sending the network configuration
7796
7797 2007-10-19  Dan Williams  <dcbw@redhat.com>
7798
7799         Split the GetSecrets() call off to a separate D-Bus interface so that it
7800         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7801         should be able to call GetSecrets().
7802
7803         * include/NetworkManager.h
7804                 - Define the connection secrets D-Bus interface
7805
7806         * src/vpn-manager/nm-vpn-connection.c
7807                 - (clear_need_auth): get the right proxy object for the connection
7808                         secrets interface
7809                 - (get_connection_secrets): use the connection secrets proxy; send
7810                         empty hints in get secrets request
7811
7812         * src/nm-activation-request.c
7813                 - (nm_act_request_request_connection_secrets): use the connection
7814                         secrets proxy; send empty hints in get secrets request
7815
7816         * src/nm-manager.c
7817           src/nm-manager.h
7818                 - (connection_get_settings_cb): set the connection secrets proxy on
7819                         the connection object too
7820                 - (internal_new_connection_cb): create the connection secrets proxy
7821
7822         * introspection/nm-settings-connection.xml
7823                 - Define Connection.Secrets interface and move GetSecrets there
7824                 - Add a 'hints' argument to GetSecrets
7825
7826         * libnm-glib/nm-settings.c
7827           libnm-glib/nm-settings.h
7828                 - (impl_connection_settings_get_secrets): add 'hints' argument
7829
7830 2007-10-19  Dan Williams  <dcbw@redhat.com>
7831
7832         * src/nm-device.c
7833                 - (constructor): add message about what path a device is exported as
7834                         to help in debugging rh #339011
7835
7836 2007-10-17  Dan Williams  <dcbw@redhat.com>
7837
7838         * libnm-util/nm-utils.h
7839           libnm-util/nm-utils.c
7840                 - (nm_utils_security_valid): common function to help find the intersection
7841                         of capabilities of devices and (optionally) access points
7842
7843 2007-10-17  Dan Williams  <dcbw@redhat.com>
7844
7845         * src/nm-device-802-11-wireless.c
7846                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7847                         don't get erroneously cleared
7848
7849 2007-10-17  Dan Williams  <dcbw@redhat.com>
7850
7851         * src/nm-manager.h
7852           src/nm-manager.c
7853           src/nm-hal-manager.c
7854                 - (device_removed, finalize, nm_manager_remove_device,
7855                    nm_manager_sleep): add a 'deactivate' argument to 
7856                    nm_manager_remove_device() to fully deactivate devices when necessary
7857                    (ie, always except when waking up)
7858
7859 2007-10-16  Dan Williams  <dcbw@redhat.com>
7860
7861         * libnm-util/nm-setting.c
7862                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7863                         also isn't valid phase2 autheap method
7864
7865 2007-10-16  Dan Williams  <dcbw@redhat.com>
7866
7867         * libnm-glib/nm-client.c
7868                 - (update_wireless_status): consolidate updates of wireless status
7869                 - (constructor): use update_wireless_status()
7870                 - (manager_running): set wireless status off when NM goes away; requery
7871                         the wireless status when NM comes back
7872
7873 2007-10-16  Dan Williams  <dcbw@redhat.com>
7874
7875         * libnm-glib/nm-client.c
7876                 - (nm_client_activate_device): actually use the fixed-up specific
7877                         object path
7878
7879 2007-10-16  Dan Williams  <dcbw@redhat.com>
7880
7881         * src/nm-hal-manager.c
7882                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7883                         killswitch error messages once
7884
7885 2007-10-16  Dan Williams  <dcbw@redhat.com>
7886
7887         * src/nm-manager.c
7888                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7889                         if it's disabled in hardware; don't touch network devices while
7890                         NM is asleep
7891
7892 2007-10-16  Dan Williams  <dcbw@redhat.com>
7893
7894         * libnm-util/nm-client.c
7895                 - (nm_client_activate_device): convert NULL specific_object to "/",
7896                         which is used in place of NULL
7897
7898         * src/nm-manager.c
7899                 - (impl_manager_activate_device): convert "/" specific_object back into
7900                         NULL
7901
7902 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7903
7904         Implement a generic NMSetting creator from setting name.
7905         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7906         add a virtual function 'populate_fn'.
7907
7908         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7909         (register_default_creators): Register setting creators instead of functions
7910         that create and then populate.
7911         (parse_one_setting): Use the common setting creator and then setting specific
7912         poplulation function.
7913
7914         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7915         they all looked exactly the same.
7916         Add a 'populate_fn' virtual function to NMSetting.
7917         Use default virtual functions in case they are not overriden.
7918         (nm_setting_populate_from_hash): Implement.
7919
7920         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7921         name, use a defined string.
7922         (real_act_stage4_get_ip4_config): Ditto.
7923
7924 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7925
7926         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7927         HAL is int, not uint.
7928
7929 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7930
7931         Implement killswitch polling through HAL.
7932
7933         * src/nm-manager.c: Add wireless hardware status property. Add 
7934         'properties-changed' signal for changes in wireless and wireless hardware
7935         state changes.
7936
7937         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7938         and update NMManager's wireless hardware state when it has changed.
7939         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7940         already does that.
7941
7942         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7943         values of wireless state and wireless hardware state. Listen for the
7944         'properties-changed' signals, update the cached values and emit notify.
7945
7946         * include/NetworkManager.h: Fix a typo in a comment.
7947
7948 2007-10-14  Dan Williams  <dcbw@redhat.com>
7949
7950         * libnm-util/nm-setting.c
7951                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7952
7953 2007-10-13  Dan Williams  <dcbw@redhat.com>
7954
7955         * libnm-util/nm-setting.h
7956           libnm-util/nm-setting.c
7957           src/supplicant-manager/nm-supplicant-config.c
7958                 - Make the 'proto' field of the 802-11-wireless-security field a
7959                         string list
7960
7961 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7962
7963         Rework the "properties-changed" signal listening implementation.
7964         Add a generic implementation to NMObject class that listens for
7965         the signal and calls property setters of the target NMObject.
7966
7967         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7968
7969         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7970         code to the end of file so that all the static functions are available
7971         without extra declarations.
7972         Remove the "properties-changed" signal handling and use the framework from
7973         NMObject.
7974         Implement property setters for properties that change with 
7975         "properties-changed" signal.
7976
7977         * libnm-glib/nm-access-point.c: Ditto.
7978
7979 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7980
7981         Rework the "properties-changed" signal implementation.
7982         In classes that need to use it, just emit "GObject::notify" and the new
7983         framework takes care of the rest to make the signal available on dbus.
7984         The framework queues the notifications and tries to send as many together
7985         in one signal as possible.
7986
7987         * src/nm-properties-changed-signal.c:
7988         * src/nm-properties-changed-signal.h: Implement.
7989
7990         * src/Makefile.am: Add new files to build.
7991
7992         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7993         signal.
7994
7995         * src/nm-device-802-11-wireless.c: Ditto.
7996
7997 2007-10-10  Dan Williams  <dcbw@redhat.com>
7998
7999         * src/nm-manager.c
8000                 - (wait_for_connection_expired): ensure info is valid
8001                 - (connection_added_default_handler): Should only remove pending
8002                         connection info when the manager has the connection that it's
8003                         waiting for.  Fixes segfault in wait_for_connection_info().  
8004
8005 2007-10-10  Dan Williams  <dcbw@redhat.com>
8006
8007         * libnm-util/nm-setting.c
8008           libnm-util/nm-setting.h
8009                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
8010                         can use if they choose.  Should be filled in by the settings service
8011                         on-the-fly with the currently logged in user's username
8012
8013 2007-10-10  Dan Williams  <dcbw@redhat.com>
8014
8015         * src/nm-device-802-11-wireless.c
8016                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
8017                         as such, because even if the manager fills in the SSID, NM still
8018                         has to indicate to wpa_supplicant that the AP isn't broadcasting
8019                         its SSID
8020
8021 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8022
8023         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
8024         code that used NM's own version of dbus signal handling and custom dictionary
8025         marshalling/unmarshalling. With this change, all that obsolete code can disappear
8026         and we get to maintain over 2000 lines less code.
8027
8028         * libnm-util/dbus-dict-helpers.c:
8029         * libnm-util/dbus-dict-helpers.h: Remove.
8030
8031         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
8032
8033         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
8034
8035         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
8036         handlers.
8037
8038         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
8039
8040         * configure.in: Remove test/libnm-util/Makefile creation.
8041
8042         * test/Makefile.am: Remove libnm-util from SUBDIRS.
8043
8044         * test/libnm-util/: Remove the whole directory.
8045
8046 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8047
8048         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
8049         device_state_changed_idle_id variable or it would contain some random value and the
8050         schedule_change_check calls would not do anything.
8051
8052 2007-10-09  Dan Williams  <dcbw@redhat.com>
8053
8054         * src/nm-device-802-11-wireless.c
8055                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
8056                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
8057                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
8058                         merging of non-SSID-broadcasting APs
8059
8060 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8061
8062         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
8063         "guint8 *" since it's usually used with GByteArray->data.
8064         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
8065
8066 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8067
8068         * src/NetworkManagerUtils.c
8069         (nm_utils_is_empty_ssid):
8070         (nm_utils_escape_ssid):
8071         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
8072         lot of places, so they belong to libnm-utils instead.
8073
8074         Now with 100% less compiler warnings:
8075
8076         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
8077         (nm_dbus_unescape_object_path): Ditto.
8078         (nm_utils_ssid_to_utf8): Ditto.
8079         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
8080         (nm_utils_escape_ssid): Ditto.
8081         (nm_utils_same_ssid): Ditto.
8082
8083         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
8084         (add_one_connection_element): Remove an unused variable.
8085         (impl_manager_get_active_connections): Ditto.
8086
8087         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
8088         variable.
8089
8090         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
8091         from the previous commit.
8092
8093         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
8094         (real_act_stage1_prepare): Ditto.
8095         (activation_success_handler): Ditto.
8096         (get_property): Ditto.
8097
8098         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
8099         variable.
8100
8101         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
8102         it's always set.
8103
8104         * src/supplicant-manager/nm-supplicant-config.c 
8105         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
8106         to expected "char *".
8107         (nm_supplicant_config_add_setting_wireless): Ditto.
8108         (nm_supplicant_config_remove_option): Remove, not used.
8109
8110         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
8111         not double.
8112         (test_wireless_enabled): Ifdef out unused function.
8113         (device_deactivate): Ditto.
8114         (device_state_changed): Ditto.
8115         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8116         (nm_utils_escape_ssid): Ditto.
8117
8118         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8119         (nm_utils_is_empty_ssid): Ditto.
8120
8121         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8122         unused variable.
8123
8124         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8125         (setting_vpn_properties_update_secrets): Ditto.
8126         (int_to_gvalue): Ifdef out for now, not used.
8127         (byte_to_gvalue): Ditto.
8128
8129         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8130         Unused, remove.
8131
8132 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8133
8134         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8135         about dbus manager, not named manager.
8136         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8137
8138         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8139         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8140         However, the same signal is emitted when we destroy it and there's 
8141         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8142
8143         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8144         releasing the DBusGConnection, since proxy needs a conneciton.
8145         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8146
8147 2007-10-08  Dan Williams  <dcbw@redhat.com>
8148
8149         * src/NetworkManager.c
8150                 - (main): error on unknown command-line options
8151
8152 2007-10-08  Dan Williams  <dcbw@redhat.com>
8153
8154         Reimplement the invalid connection list.  Don't try to re-activate a
8155         connection that just failed or was canceled.
8156
8157         * src/nm-device.c
8158                 - (connection_secrets_failed_cb): fail device activation, don't just
8159                         deactivate the device.  Listeners have to know about the failure.
8160
8161         * src/NetworkManagerPolicy.c
8162                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8163                         the connection list given to a device's get_best_connection()
8164                         method
8165                 - (device_state_changed): tag failed connections as invalid; clear the
8166                         tag from successful connections
8167
8168 2007-10-08  Dan Williams  <dcbw@redhat.com>
8169
8170         Fix problems with interrupted activation.  Previously, choosing an AP
8171         from the menu, then choosing another one before the first connection was
8172         successful wouldn't deactivate the device before starting the new connection
8173         on that same device.
8174
8175         * src/NetworkManagerPolicy.c
8176                 - (deactivate_old_device, device_state_changed, state_changed,
8177                    nm_policy_new): wrong place to deactivate old devices
8178
8179         * src/nm-manager.c
8180                 - (pending_connection_info_destroy, finalize,
8181                    wait_for_connection_expired): decouple destruction of the pending
8182                         connection info from the manager device
8183                 - (connection_added_default_handler): deactivate any active or
8184                         activating device before starting a new activation
8185                 - (impl_manager_activate_device): deactivate any active or activating
8186                         device before starting a new activation; be sure not to leak
8187                         pending connection info if a new activation request arrives but
8188                         there's already a pending one in-process
8189
8190 2007-10-08  Dan Williams  <dcbw@redhat.com>
8191
8192         * src/NetworkManagerAP.h
8193           src/NetworkManagerAP.c
8194                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8195                         should handle default SSIDs and whether or not to autoconnect
8196                         to them
8197
8198 2007-10-08  Dan Williams  <dcbw@redhat.com>
8199
8200         * src/NetworkManagerPolicy.c
8201                 - (nm_policy_device_change_check): print out connection name where
8202                         possible
8203
8204 2007-10-08  Dan Williams  <dcbw@redhat.com>
8205
8206         * src/nm-device-802-11-wireless.c
8207           src/nm-device-802-11-wireless.h
8208                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8209                         'hidden-ap-found' signal (for internal use only) that allows the
8210                         NMManager to fill in the AP's SSID if a connection has that AP's
8211                         BSSID in its seen-bssids list
8212
8213         * src/nm-manager.c
8214                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8215                         wireless device's hidden-ap-found signal and fill in the APs SSID
8216                         if possible
8217
8218 2007-10-07  Dan Williams  <dcbw@redhat.com>
8219
8220         * src/nm-manager.c
8221           src/nm-manager.h
8222                 - Add a 'connections-added' signal to batch together updates of large
8223                         numbers of connections, like when reading from a settings service
8224                         the first time.  Otherwise, the policy would just activate the first
8225                         suitable connection it saw rather than waiting for the full list
8226                         to arrive.
8227                 - (nm_manager_class_init): register new signal
8228                 - (get_type_for_proxy, connection_get_settings_cb,
8229                    get_connection_for_proxy): centralize places where a proxy's setting
8230                         service is determined
8231                 - (free_get_settings_info): if the call being freed is the last call
8232                         in a pending call group, fire off the connections-added signal
8233                 - (internal_new_connection_cb): add call to a pending call group if
8234                         requested
8235                 - (list_connections_cb): always create a call group here, because this
8236                         call results in a batch of new connections
8237                 - (initial_get_connections): start getting system connections first
8238                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8239                         removed signal when destroying connections
8240
8241         * src/NetworkManagerPolicy.c
8242                 - (nm_policy_new, connections_added): handle connections-added signal
8243                         from the manager
8244
8245 2007-10-06  Dan Williams  <dcbw@redhat.com>
8246
8247         * src/nm-device-802-11-wireless.c
8248                 - (constructor): fix leaked socket
8249
8250 2007-10-06  Dan Williams  <dcbw@redhat.com>
8251
8252         * src/NetworkManagerPolicy.c
8253                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8254                         connection in the list returned by nm_manager_get_connections() is
8255                         reffed, but they weren't getting unreffed before returning
8256
8257 2007-10-06  Dan Williams  <dcbw@redhat.com>
8258
8259         * src/nm-manager.c
8260                 - (connections_to_slist): sort connections first on autoconnect, then
8261                         on timestamp
8262
8263 2007-10-06  Dan Williams  <dcbw@redhat.com>
8264
8265         * libnm-util/nm-connection.c
8266                 - (gvalue_to_string): handle UINT64
8267
8268 2007-10-06  Dan Williams  <dcbw@redhat.com>
8269
8270         * src/NetworkManagerPolicy.c
8271                 - (connection_updated, nm_policy_new): recheck state when a connection
8272                         gets updated
8273
8274 2007-10-06  Dan Williams  <dcbw@redhat.com>
8275
8276         * src/nm-manager.c
8277           src/nm-manager.h
8278                 - (nm_manager_get_connection_dbus_path): make static
8279                 - (nm_manager_update_connections): remove; unused
8280                 - Add a connection-updated signal
8281                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8282                         handle connection object updates
8283
8284 2007-10-06  Dan Williams  <dcbw@redhat.com>
8285
8286         * src/NetworkManagerPolicy.c
8287                 - (connection_removed): deactivate removed connections
8288
8289 2007-10-06  Dan Williams  <dcbw@redhat.com>
8290
8291         * libnm-util/nm-connection.c
8292           libnm-util/nm-connection.h
8293                 - (nm_connection_replace_settings): new function
8294
8295 2007-10-06  Dan Williams  <dcbw@redhat.com>
8296
8297         * libnm-glib/nm-device-802-11-wireless.c
8298                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8299                         on error when getting the active access point over D-Bus from NM
8300
8301 2007-10-05  Dan Williams  <dcbw@redhat.com>
8302
8303         * libnm-util/nm-setting.c
8304                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8305                         to the NMSettingWireless table; it's now a string array not an array
8306                         of byte arrays
8307
8308 2007-10-05  Dan Williams  <dcbw@redhat.com>
8309
8310         * libnm-glib/nm-device-802-11-wireless.c
8311                 - Cache properties and update cached properties on D-Bus signals from NM
8312
8313 2007-10-05  Dan Williams  <dcbw@redhat.com>
8314
8315         * src/nm-device-802-11-wireless.c
8316                 - (set_current_ap): consolidate current_ap handling code into one place
8317                         to ensure that PropertiesChanged signals are emitted in all cases
8318                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8319                    nm_device_802_11_wireless_dispose): use set_current_ap()
8320
8321 2007-10-05  Dan Williams  <dcbw@redhat.com>
8322
8323         * libnm-glib/nm-access-point.c
8324           libnm-glib/nm-access-point.h
8325                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8326                         because the value is cached internally now.  Callers should not
8327                         free the internal value.
8328                 - Make signal name defines private
8329
8330         * test/nm-tool.c
8331           libnm-glib/libnm-glib-test.c
8332                 - Don't free value returned from nm_access_point_get_hw_address()
8333
8334 2007-10-04  Dan Williams  <dcbw@redhat.com>
8335
8336         * introspection/nm-device-802-11-wireless.xml
8337           src/nm-device-802-11-wireless.h
8338           src/nm-device-802-11-wireless.c
8339                 - Add a PropertiesChanged signal for wireless device
8340                 - Store currently associated access point
8341                 - (periodic_update): generalize; update rate here too and emit the
8342                         correct PropertiesChanged signal when stuff changes
8343                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8344                    real_activation_cancel_handler): clear current_ap when device is
8345                         deactivated
8346                 - (link_to_specific_ap, get_ap_blacklisted,
8347                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8348                         code
8349                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8350                         outside this file
8351                 - (real_set_hw_address): emit property changed signal if the card's
8352                         MAC address changes
8353                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8354                         the card is supposed to be connecting to
8355                 - (activation_success_handler): send out property updates on successful
8356                         activation
8357                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8358                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8359                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8360                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8361                         is now boxed; add PropertiesChanged signal
8362
8363 2007-10-04  Dan Williams  <dcbw@redhat.com>
8364
8365         * libnm-util/nm-connection.c
8366           libnm-util/nm-connection.h
8367                 - (nm_connection_verify): new function
8368
8369 2007-10-04  Dan Williams  <dcbw@redhat.com>
8370
8371         * libnm-util/nm-setting.c
8372                 - (nm_settings_verify): use #defines when possible rather than strings
8373                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8374                 - (setting_vpn_verify): tighter validity check on 'service_type'
8375
8376 2007-10-04  Dan Williams  <dcbw@redhat.com>
8377
8378         * libnm-glib/nm-settings.c
8379                 - (nm_connection_settings_class_init): provide correct type for argument
8380                         to the Updated signal so that dbus-glib knows how to marshal it
8381
8382 2007-10-03  Dan Williams  <dcbw@redhat.com>
8383
8384         * src/nm-device-802-3-ethernet.c
8385                 - (real_get_best_connection): don't create automatic connections
8386                         internally; clients should provide a setting that applies to
8387                         the device with 'autoconnect: True'.  Problem was that these
8388                         internally auto-created connections don't have a proxy or service
8389                         name becuase they weren't created by a settings daemon, and therefore
8390                         clients have no idea what to do with them.
8391
8392 2007-10-03  Dan Williams  <dcbw@redhat.com>
8393
8394         * src/nm-device-802-11-wireless.c
8395           src/nm-device-802-11-wireless.h
8396           introspection/nm-device-802-11-wireless.xml
8397                 - GetActiveNetworks -> GetAccessPoints
8398                 - ActiveNetwork -> ActiveAccessPoint
8399                 - NetworkAdded -> AccessPointAdded
8400                 - NetowrkRemoved -> AccessPointRemoved
8401
8402         * libnm-glib/nm-device-802-11-wireless.c
8403           libnm-glib/nm-device-802-11-wireless.h
8404                 - network-added signal -> access-point-added
8405                 - network-removed signal -> access-point-removed
8406                 - nm_device_802_11_wireless_get_active_network() ->
8407                         nm_device_802_11_wireless_get_active_access_point()
8408                 - nm_device_802_11_wireless_get_network_by_path() ->
8409                         nm_device_802_11_wireless_get_access_point_by_path()
8410                 - nm_device_802_11_wireless_get_networks() ->
8411                         nm_device_802_11_wireless_get_access_points()
8412
8413         * libnm-glib/libnm-glib-test.c
8414           test/nm-tool.c
8415           src/NetworkManagerPolicy.c
8416                 - Fixups for Network -> AccessPoint
8417
8418 2007-10-03  Dan Williams  <dcbw@redhat.com>
8419
8420         Add a GetActiveConnections() method on the Manager object.
8421
8422         * src/nm-manager.c
8423           src/nm-manager.h
8424           introspection/nm-manager.xml
8425                 - (connection_get_settings_cb): keep connection type around too
8426                 - (impl_manager_get_active_connections, add_one_connection_element):
8427                         implement; returns all active connections and what devices they
8428                         apply to
8429
8430         * libnm-glib/nm-client.c
8431           libnm-glib/nm-client.h
8432           introspection/nm-manager-client.xml
8433                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8434                         by the caller; free here to avoid memory leak
8435                 - (nm_client_get_active_connections): implement; return the list of
8436                         active connections
8437                 - (nm_client_free_active_connection_element): implement; free an element
8438                         of the GSList returned by nm_client_get_active_connections()
8439
8440 2007-10-03  Dan Williams  <dcbw@redhat.com>
8441
8442         * src/nm-device-802-11-wireless.c
8443                 - (nm_device_802_11_wireless_update_bssid): remove
8444                 - (get_active_ap): new function; find the AP in the scan list which
8445                         matches the current BSSID and SSID of the wireless device
8446                 - (nm_device_802_11_periodic_update): get current AP using
8447                         get_active_ap() and print AP roam messages
8448
8449 2007-10-01  Dan Williams  <dcbw@redhat.com>
8450
8451         * libnm-util/nm-setting.h
8452                 - Add a 'timestamp' option to NMSettingConnection
8453                 - Add a UINT64 type
8454
8455         * libnm-util/nm-setting.c
8456                 - (uint64_to_gvalue): new function
8457                 - (nm_setting_populate_from_hash, nm_setting_hash,
8458                    default_setting_clear_secrets): handle UINT64 type
8459                 - con_table: add 'timestamp' member
8460
8461 2007-10-01  Dan Williams  <dcbw@redhat.com>
8462
8463         * src/nm-manager.c
8464                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8465                         value when the connection can be activated immediately
8466
8467 2007-10-01  Dan Williams  <dcbw@redhat.com>
8468
8469         * libnm-glib/nm-device.c
8470                 - (nm_device_class_init): actually tell glib about the carrier-changed
8471                         signal
8472
8473 2007-10-01  Dan Williams  <dcbw@redhat.com>
8474
8475         * configure.in
8476           src/marshallers/Makefile.am
8477           src/marshallers/nm-marshal.list
8478           src/marshallers/nm-marshal-main.c
8479                 - Consolidate glib marshallers into one place
8480
8481         * src/dhcp-manager/Makefile.am
8482           src/dhcp-manager/nm-dhcp-manager.c
8483           src/supplicant-manager/Makefile.am
8484           src/supplicant-manager/nm-supplicant-manager.c
8485           src/supplicant-manager/nm-supplicant-interface.c
8486           src/ppp-manager/Makefile.am
8487           src/ppp-manager/nm-ppp-manager.c
8488           src/vpn-manager/Makefile.am
8489           src/vpn-manager/nm-vpn-connection.c
8490           src/Makefile.am
8491                 - Use consolidated marshallers
8492
8493         * src/dhcp-manager/nm-dhcp-marshal.list
8494           src/dhcp-manager/nm-dhcp-marshal-main.c
8495           src/supplicant-manager/nm-supplicant-marshal-main.c
8496           src/supplicant-manager/nm-supplicant-marshal.list
8497           src/nm-marshal-main.c
8498           src/nm-marshal.list
8499           src/ppp-manager/nm-ppp-marshal-main.c
8500           src/ppp-manager/nm-ppp-marshal.list
8501           src/vpn-manager/nm-vpn-marshal-main.c
8502           src/vpn-manager/nm-vpn-marshal.list
8503                 - Remove
8504
8505 2007-10-01  Dan Williams  <dcbw@redhat.com>
8506
8507         * include/NetworkManagerVPN.h
8508                 - define VPN connection state change reason codes
8509
8510         * src/vpn-manager/Makefile.am
8511           src/vpn-manager/nm-vpn-marshal.list
8512           src/vpn-manager/nm-vpn-marshal-main.c
8513                 - Add marshallers for StateChanged signal
8514
8515         * introspection/nm-vpn-connection.xml
8516                 - New Banner property
8517                 - StateChanged signal now includes a 'reason' argument
8518
8519         * src/vpn-manager/nm-vpn-connection.c
8520           src/vpn-manager/nm-vpn-connection.h
8521                 - Add a "Banner" property that contains the returned VPN server login
8522                         banner (if any); valid only in the ACTIVATED state
8523                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8524                         a 'reason' argument and emits that reason along with the
8525                         state-changed signal
8526                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8527                 - (nm_vpn_connection_ip4_config_get): save banner for later
8528                 - (nm_vpn_connection_get_banner, get_property,
8529                    nm_vpn_connection_class_init): implement Banner property
8530
8531         * src/vpn-manager/nm-vpn-service.c
8532                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8533                         connection list because elements may get added/removed from it
8534                         while iterating over the list
8535                 - (connection_state_changed): signal now includes the 'reason' argument
8536
8537         * libnm-glib/nm-vpn-connection.c
8538           libnm-glib/nm-vpn-connection.h
8539                 - (nm_vpn_connection_get_banner): new function
8540                 - (state_changed_proxy): handle reason argument
8541
8542 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8543
8544         * src/nm-manager.c:
8545         * src/nm-manager.h:
8546         Implement device activation through NMManager.
8547         Implement "pending device activation" here - If the connection isn't found,
8548         we try to wait for up to 5 seconds for the connection to be provided.
8549         Add NMConnectionType argument to "connection-added" and "connection-removed"
8550         signals.
8551         (nm_manager_get): Remove. Finally.
8552
8553         * src/nm-activation-request.c: 
8554         * src/nm-activation-request.h: 
8555         Remove all the deferred activation code.
8556
8557         * src/nm-device.c: Remove all the deferred activation code. Once the device
8558         activation is started, it's started. Update the activation virtual function
8559         signature.
8560
8561         * src/nm-device-interface.c:
8562         * src/nm-device-interface.h:
8563         Device activation now takes only NMActRequest argument.
8564         Don't expose device activation directly on dbus, it's supposed to go through
8565         NMManager now.
8566
8567         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8568         a bit more compact.
8569         Use the new device activation methods through NMManager.
8570
8571         * introspection/nm-manager-client.xml: 
8572         * introspection/nm-manager.xml: 
8573         * libnm-glib/nm-client.c:
8574         * libnm-glib/nm-client.h:
8575         Add device activation method.
8576         
8577         * libnm-glib/nm-device.c: 
8578         * libnm-glib/nm-device.h: 
8579         * introspection/nm-device.xml: 
8580         Remove device activation method. It's done through NMManager now.
8581
8582         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8583         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8584
8585 2007-09-28  Dan Williams  <dcbw@redhat.com>
8586
8587         * libnm-glib/nm-vpn-connection.c
8588                 - (nm_vpn_connection_get_state): try to update state if the current
8589                         state is UNKNOWN
8590
8591 2007-09-27  Dan Williams  <dcbw@redhat.com>
8592
8593         Patch from Bill Nottingham
8594
8595         * src/supplicant-manager/nm-supplicant-config.c
8596                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8597                         data to the supplicant
8598
8599 2007-09-27  Dan Williams  <dcbw@redhat.com>
8600
8601         * src/NetworkManagerSystem.c
8602                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8603                         and all address manipulation here should be happening on the
8604                         _VPN_ device, not the active device
8605
8606 2007-09-26  Dan Williams  <dcbw@redhat.com>
8607
8608         * src/nm-manager.c
8609           src/nm-manager.h
8610           src/nm-activation-request.c
8611           src/nm-activation-request.h
8612                 - Move the GetSecrets stuff out of the NMManager instance because it
8613                         doesn't really need to be there and complicates things
8614
8615         * src/nm-device.c
8616                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8617                         connection-secrets-failed signal and deactivate the device if
8618                         the GetSecrets call fails
8619
8620         * src/nm-device-802-11-wireless.c
8621                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8622                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8623                         secrets and give correct hints about whether new secrets should be
8624                         asked for by the client or not
8625
8626 2007-09-26  Dan Williams  <dcbw@redhat.com>
8627
8628         * src/vpn-manager/nm-vpn-connection.c
8629                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8630                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8631                         to the secrets-updated signal of the NMConnection since updating
8632                         the secrets is done within the scope of the NMVPNConnection object
8633                         already
8634                 - (get_connection_secrets): fix an uninialized variable usage error
8635
8636 2007-09-26  Dan Williams  <dcbw@redhat.com>
8637
8638         * libnm-util/nm-setting.c
8639                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8640                         actually get updated when the user enters them
8641
8642 2007-09-26  Dan Williams  <dcbw@redhat.com>
8643
8644         * libnm-glib/nm-vpn-plugin.c
8645                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8646
8647 2007-09-26  Dan Williams  <dcbw@redhat.com>
8648
8649         * include/NetworkManagerVPN.h
8650                 - Add a NEED_AUTH state
8651
8652         * src/vpn-manager/nm-vpn-connection.c
8653                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8654                         the connection needs secrets, and if so, then ask the settings
8655                         service to fill in the secrets.  Then start the connection.
8656
8657 2007-09-26  Dan Williams  <dcbw@redhat.com>
8658
8659         * src/vpn-manager/nm-vpn-manager.c
8660                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8661
8662 2007-09-26  Dan Williams  <dcbw@redhat.com>
8663
8664         * introspection/nm-vpn-plugin.xml
8665           libnm-glib/nm-vpn-plugin.c
8666           libnm-glib/nm-vpn-plugin.h
8667                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8668                         the name of the NMSetting in an NMConnection that may require
8669                         secrets specific to that VPN plugin
8670
8671 2007-09-26  Dan Williams  <dcbw@redhat.com>
8672
8673         * src/nm-manager.c
8674           src/nm-manager.h
8675                 - (nm_manager_get_connection_secrets): make static, unused outside
8676                         the file
8677                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8678
8679 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8680
8681         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8682         method.
8683         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8684         unreference the connection.
8685
8686         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8687         passing properties hash and routes string list, pass NMConnection (in hashed form).
8688
8689         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8690         as GSList, no need to copy stuff around anymore.
8691         (nm_vpn_connection_activate): Update the plugin activation method.
8692
8693         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8694         routes argument to GSList.
8695
8696 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8697
8698         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8699         state and try to get the secrets.
8700
8701         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8702         connections from NMManager and let the device to choose the best from the list.
8703         Since the connection list is sorted by system ones first and user ones later,
8704         the devices still prefer system connections like they did before.
8705         (deactivate_old_device): Implement. When a device starts activation, we have a
8706         policy (for now at least) to deactivate any other device that might be either
8707         active or still activating.
8708
8709         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8710         It's set on construction, there will be no other way to access it.
8711
8712         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8713         device events and drive the device, not the other way around.
8714
8715         * src/nm-device-802-3-ethernet.c: Ditto.
8716
8717         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8718         sent along, pass it on to virtual functions.
8719
8720         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8721         for now, but should really be public instead of nm_device_get_iface() since iface
8722         is a property of the DeviceInterface, not Device.
8723         (impl_device_activate): Don't touch NMManager!
8724
8725 2007-09-26  Jürg Billeter  <j@bitron.ch>
8726
8727         * initscript/paldo/NetworkManager.in:
8728         * initscript/paldo/NetworkManagerDispatcher.in:
8729         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8730         (nm_system_flush_loopback_routes): update paldo backend
8731
8732 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8733
8734         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8735         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8736         which means none of the devices get brought down properly, which in turn leaves
8737         DHCP client running.
8738
8739         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8740         (supplicant_connection_timeout_cb): Ditto.
8741
8742 2007-09-25  Dan Williams  <dcbw@redhat.com>
8743
8744         * src/nm-device.c
8745                 - (device_activation_go): small hack to work around race when
8746                         activating deferred connections; should solve this in a better way
8747
8748 2007-09-25  Dan Williams  <dcbw@redhat.com>
8749
8750         * introspection/nm-device.xml
8751           libnm-glib/nm-device.c
8752           libnm-glib/nm-device.h
8753                 - Add 'Carrier' property to exported NMDevice objects
8754
8755         * src/nm-device-interface.h
8756           src/nm-device-interface.c
8757           src/nm-device.c
8758                 - Add a 'carrier' property to internal NMDevice objects
8759
8760 2007-09-25  Dan Williams  <dcbw@redhat.com>
8761
8762         * src/nm-device-802-11-wireless.c
8763                 - (ap_auth_enforced): also return the encryption status of the AP so
8764                         that callers can differentiate easily between unencrypted APs
8765                         and encrypted ones, in addition to whether the AP has an
8766                         authenticator
8767                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8768                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8769                         previously would request secrets from unencrypted APs at times
8770
8771 2007-09-25  Dan Williams  <dcbw@redhat.com>
8772
8773         * src/nm-manager.c
8774                 - (nm_manager_update_state): new function; updates state and emits
8775                         appropriate signals ensuring a state-change signal for the same state
8776                         never gets emitted twice in a row.
8777                 - (manager_device_state_changed): handle more device state to get a
8778                         better picture of the overall NM state
8779
8780 2007-09-25  Dan Williams  <dcbw@redhat.com>
8781
8782         * libnm-glib/nm-settings.c
8783           libnm-glib/nm-settings.h
8784                 - (new_error -> nm_settings_new_error): make public so that subclasses
8785                         can use the same error domain.  Also pass a valid error code to
8786                         g_error_new_literal() so that libdbus doesn't assert when converting
8787                         the GError into a DBusError
8788                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8789                    impl_connection_settings_get_settings,
8790                    impl_connection_settings_get_secrets): use new error creator
8791                         function
8792
8793 2007-09-25  Dan Williams  <dcbw@redhat.com>
8794
8795         * src/NetworkManager.c
8796                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8797
8798 2007-09-25  Dan Williams  <dcbw@redhat.com>
8799
8800         * src/supplicant-manager/nm-supplicant-manager.c
8801                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8802                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8803                    nm_supplicant_manager_startup): when the supplicant isn't running,
8804                         try to start it periodically via system bus activation.  Fixes
8805                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8806                         for the supplicant to come back
8807
8808 2007-09-25  Dan Williams  <dcbw@redhat.com>
8809
8810         Ensure that old activation requests are forgotten about; previously
8811         hitting Cancel in the password dialog would deactivate whatever device
8812         that password was requested for, even if that wasn't the currently
8813         activating connection.
8814
8815         * src/nm-manager.c
8816           src/nm-manager.h
8817                 - (nm_manager_get_connection_secrets): track the pending call
8818                         object so it can be canceled later if needed
8819                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8820                         GetSecrets call for a particular connection
8821
8822         * src/nm-activation-request.c
8823                 - (dispose): cancel any outstanding GetSecrets calls on the
8824                         connection
8825
8826 2007-09-25  Dan Williams  <dcbw@redhat.com>
8827
8828         * src/NetworkManagerPolicy.c
8829                 - (nm_policy_device_change_check): handle devices that have a
8830                         deferred activation.  These devices are not really active _yet_,
8831                         but need to be treated as such here.  Don't interrupt them
8832                         automatically.
8833
8834         * src/nm-device-interface.c
8835                 - (impl_device_activate): handle devices that have a deferred activation
8836                         like activating or active devices.  When multiple active devices
8837                         get committed, the device shouldn't be deactivated until the
8838                         connection details are available to avoid DoS and such.  Currently,
8839                         any active, activating, or deferred activation device is deactivated
8840                         here before starting the new activation request.
8841
8842 2007-09-25  Dan Williams  <dcbw@redhat.com>
8843
8844         Properly re-query secrets from the settings daemon when stuff fails.
8845
8846         * src/nm-device-802-11-wireless.c
8847                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8848                         between Shared Key and Open System auth modes
8849                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8850                    real_act_stage4_ip_config_timeout): clear existing secrets and
8851                         request new ones when something fails due to a suspected wrong key
8852                 - (real_act_stage2_config): fix for new request_new argument to
8853                         nm_manager_get_connection_secrets()
8854
8855         * src/nm-manager.c
8856           src/nm-manager.h
8857                 - (nm_manager_get_connection_secrets): return error status; pass
8858                         new request_new argument on to the settings daemon
8859
8860         * introspection/nm-settings-connection.xml
8861                 - New 'request_new' argument to the GetSecrets call that hints to the
8862                         settings daemon to ask the user for completely new secrets
8863
8864         * libnm-glib/nm-settings.c
8865           libnm-glib/nm-settings.h
8866                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8867                         argument
8868
8869 2007-09-25  Dan Williams  <dcbw@redhat.com>
8870
8871         * libnm-util/nm-connection.c
8872           libnm-util/nm-connection.h
8873                 - (nm_connection_clear_secrets): new function; clear secrets out of
8874                         each NMSetting in an NMConnection
8875
8876         * libnm-util/nm-setting.h
8877           libnm-util/nm-setting.c
8878                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8879                         secrets out of an NMSetting
8880                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8881                    nm_setting_wired_new, nm_setting_wireless_new,
8882                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8883                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8884                         to default handler default_setting_clear_secrets()
8885
8886 2007-09-25  Dan Williams  <dcbw@redhat.com>
8887
8888         * src/nm-activation-request.c
8889           src/nm-activation-request.h
8890                 - (nm_act_request_is_deferred): new function
8891
8892 2007-09-24  Dan Williams  <dcbw@redhat.com>
8893
8894         * src/nm-device-802-11-wireless.c
8895                 - (activation_success_handler): update signal strength immediately
8896                         after activation
8897
8898 2007-09-24  Dan Williams  <dcbw@redhat.com>
8899
8900         * libnm-util/nm-setting.c
8901                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8902
8903 2007-09-24  Dan Williams  <dcbw@redhat.com>
8904
8905         * src/NetworkManagerPolicy.c
8906                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8907                         device by deactivating it because it doesn't have a "best connection".
8908                         Since autoconnect=False connections aren't automatically chosen,
8909                         NM would interrupt activation of such a connection because it
8910                         would never be "best" due to autoconnect=False.
8911
8912 2007-09-24  Dan Williams  <dcbw@redhat.com>
8913
8914         * src/nm-manager.c
8915                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8916                         actually has some time to enter a key before the GetSecrets call
8917                         times out
8918
8919 2007-09-24  Dan Williams  <dcbw@redhat.com>
8920
8921         * introspection/nm-manager.xml
8922           src/nm-manager.c
8923                 - (impl_manager_legacy_state): fix 'state' method call return value
8924
8925 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8926
8927         * test/Makefile.am: Install nm-tool
8928
8929 2007-09-24  Dan Williams  <dcbw@redhat.com>
8930
8931         Patch from Ross Burton <ross@burtonini.com>
8932
8933         * test/nm-tool.c
8934           callouts/nm-dhcp-client-action.c
8935           src/nm-netlink.c
8936           src/vpn-manager/nm-vpn-connection.c
8937           libnm-glib/libnm-glib-test.c
8938                 - warning fixes
8939
8940 2007-09-24  Dan Williams  <dcbw@redhat.com>
8941
8942         * libnm-util/nm-utils.h
8943           libnm-util/nm-utils.c
8944                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8945                         remove, unused
8946
8947 2007-09-23  Dan Williams  <dcbw@redhat.com>
8948
8949         * vpn-daemons/vpnc/properties/nm-vpnc.c
8950                 - Update for new VPN properties API bits; instead of passing around
8951                         a lot of random things, everything goes into the NMConnection
8952                         object.
8953
8954 2007-09-23  Dan Williams  <dcbw@redhat.com>
8955
8956         * libnm-util/nm-setting.c
8957                 - Correctly dispose of settings objects if creating them from a hash
8958                         table fails
8959
8960 2007-09-23  Dan Williams  <dcbw@redhat.com>
8961
8962         * libnm-util/nm-setting.c
8963                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8964                         the hash table in a standard manner.  Clients of libnm-util should
8965                         only call g_hash_table_remove_all(), never destroy the hash table
8966                         and recreate it.
8967
8968 2007-09-22  Dan Williams  <dcbw@redhat.com>
8969
8970         * src/nm-device-802-11-wireless.c
8971                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8972                         real reason to do it so often, and reduces wakeups for clients.
8973
8974 2007-09-21  Dan Williams  <dcbw@redhat.com>
8975
8976         * src/nm-device-802-11-wireless.c
8977                 - (build_supplicant_config): wpa_supplicant requires the option
8978                         key_mgmt=NONE for unencrypted networks
8979                 - (real_act_stage2_config): clarify log message on activation
8980
8981 2007-09-21  Dan Williams  <dcbw@redhat.com>
8982
8983         * test/nm-supplicant-test.c
8984           test/Makefile.am
8985                 - Remove supplicant test binary; no longer applicable
8986
8987 2007-09-21  Dan Williams  <dcbw@redhat.com>
8988
8989         * src/supplicant-manager/nm-supplicant-manager.c
8990                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8991                         activate it on the system bus
8992
8993 2007-09-20  Dan Williams  <dcbw@redhat.com>
8994
8995         * initscript/RedHat/NetworkManager.in
8996                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8997
8998 2007-09-20  Dan Williams  <dcbw@redhat.com>
8999
9000         * src/nm-device.c
9001                 - (nm_device_is_activating): work around a race between auto-activation
9002                         and the user activating the same device that is being auto-activated
9003
9004 2007-09-20  Dan Williams  <dcbw@redhat.com>
9005
9006         * src/nm-device-interface.c
9007                 - (impl_device_activate): until multiple active device support lands,
9008                         ensure only one device can be active at a time
9009
9010 2007-09-20  Dan Williams  <dcbw@redhat.com>
9011
9012         * src/supplicant-manager/nm-supplicant-config.c
9013           src/supplicant-manager/nm-supplicant-config.h
9014                 - (nm_supplicant_config_add_option): hide secrets from system logs
9015
9016 2007-09-20  Dan Williams  <dcbw@redhat.com>
9017
9018         * src/NetworkManagerPolicy.c
9019                 - (nm_policy_device_change_check): re-enable the wireless device change
9020                         checking code; insted of checking for SSIDs, check for the same
9021                         connection instead
9022
9023 2007-09-20  Dan Williams  <dcbw@redhat.com>
9024
9025         * src/nm-device-802-11-wireless.c
9026                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
9027                         composite link state when determining when to start the disconnection
9028                         timer; that link state is already based on the supplicant interface's
9029                         status which is exactly what's already being examined, plus the link
9030                         state is a conglomeration of various things that we don't want here
9031
9032 2007-09-20  Dan Williams  <dcbw@redhat.com>
9033
9034         * libnm-glib/nm-access-point.c
9035                 - (handle_property_changed): strength is a UCHAR
9036
9037 2007-09-20  Dan Williams  <dcbw@redhat.com>
9038
9039         * src/supplicant-manager/nm-supplicant-config.c
9040                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
9041                         string list keywords too since that's what wpa_supplicant wants
9042
9043 2007-09-20  Dan Williams  <dcbw@redhat.com>
9044
9045         * libnm-util/nm-setting.c
9046                 - (convert_strv_to_slist): dupe the values in the list because since
9047                         the list is a boxed value, it'll get destroyed when it's container
9048                         (like a hash table or whatever) gets destroyed
9049
9050 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9051
9052         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
9053         GSList.
9054
9055         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
9056
9057         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
9058         just use (g_object_set_data_full).
9059
9060         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
9061         that NMSettingVPN->routes is a GSList, convert it to char **.
9062         (nm_vpn_connection_ip4_config_get): Free routes when done.
9063         (nm_vpn_connection_activate): Ditto.
9064
9065         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
9066         (real_act_stage2_config): Use defined setting names.
9067
9068 2007-09-20  Dan Williams  <dcbw@redhat.com>
9069
9070         * src/nm-device-802-11-wireless.c
9071           src/nm-manager.c
9072           src/nm-manager.h
9073                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
9074                         so that the device can be deactivated if secrets are wrong
9075
9076 2007-09-20  Dan Williams  <dcbw@redhat.com>
9077
9078         * introspection/nm-settings-connection.xml
9079           libnm-glib/nm-settings.c
9080           libnm-glib/nm-settings.h
9081                 - Make GetSecrets asynchronous on the server side
9082
9083 2007-09-20  Dan Williams  <dcbw@redhat.com>
9084
9085         * src/nm-manager.h
9086           src/nm-device.c
9087                 - (nm_device_activate): actually check if a given connection
9088                         exists before assuming it doesn't
9089
9090 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9091
9092         * libnm-util/nm-connection.c (register_default_creators): Use defined
9093         setting names. Register NMSettingVPN and NMSettingVPNProperties.
9094
9095         * libnm-util/nm-setting.c: Define property name strings, use them.
9096         Implement NMSettingVPN and NMSettingVPNProperties settings.
9097         Implement NM_S_TYPE_GVALUE_HASH.
9098         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
9099         (setting_connection_verify): Rename 'devtype' property to 'type'.
9100
9101         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
9102         properties.
9103
9104         * src/vpn-manager/nm-vpn-service.c: Ditto.
9105
9106         * src/vpn-manager/nm-vpn-connection.c: Ditto.
9107
9108         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
9109         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
9110
9111         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9112         names. NMSettingConnection->devtype got renamed to 'type'.
9113
9114         * src/nm-device-802-3-ethernet.c (find_best_connection):
9115         (real_get_best_connection): Ditto.
9116
9117         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9118
9119         * libnm-glib/nm-vpn-manager.[ch]: Update.
9120
9121 2007-09-19  Dan Williams  <dcbw@redhat.com>
9122
9123         * src/NetworkManagerAP.c
9124           src/NetworkManagerAP.h
9125           introspection/nm-access-point.xml
9126                 - Change strength-changed signal into a properties-changed signal
9127                         for all properties, not just strength.  Export that signal over dbus
9128                         so listeners don't have to poll NM for changes.
9129                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9130                         get exported over D-Bus, so break up the logic and let other bits
9131                         decided when to export the AP
9132                 - (nm_ap_new_from_ap): remove, unused
9133
9134         * src/nm-device-802-11-wireless.c
9135                 - (merge_scanned_ap): only export APs that are actually on the device
9136                         list, not every AP created internally
9137
9138         * libnm-glib/nm-access-point.c
9139           libnm-glib/nm-access-point.h
9140                 - Cache properties internally and only hit DBus when needed.  Get
9141                         property updates from NM signals
9142
9143 2007-09-16  Dan Williams  <dcbw@redhat.com>
9144
9145         * libnm-util/nm-connection.c
9146           libnm-util/nm-connection.h
9147                 - (nm_connection_for_each_setting_value): new function; iterate over
9148                         each setting's value and call a user-provided function with details
9149                         about that value
9150
9151         * libnm-util/nm-setting.c
9152           libnm-util/nm-setting.h
9153                 - (nm_setting_enumerate_values): new function; enumerate the values
9154                         of a specific NMSetting subclass for a user-provided function with
9155                         details about that value
9156                 - Change wep_tx_keyidx to a uint32
9157                 - Create settings value tables for each setting defining their type,
9158                         key name, offset into the NMSetting subclass' structure, and whether
9159                         they are required and/or a secret
9160                 - (nm_setting_populate_from_hash): generic function to populate an
9161                         NMSetting from a GHash table, make all settings use it
9162                 - (nm_setting_hash): generic function to derive a GHashTable from
9163                         an NMSetting object, make all settings use it
9164
9165 2007-09-14  Dan Williams  <dcbw@redhat.com>
9166
9167         Remove unused stuff in libnm-util
9168
9169         * configure.in
9170           libnm-util/Makefile.am
9171           libnm-util/cipher-private.h
9172           libnm-util/cipher-wep-ascii.c
9173           libnm-util/cipher-wep-ascii.h
9174           libnm-util/cipher-wep-hex.c
9175           libnm-util/cipher-wep-hex.h
9176           libnm-util/cipher-wep-passphrase.c
9177           libnm-util/cipher-wep-passphrase.h
9178           libnm-util/cipher-wpa-psk-hex.c
9179           libnm-util/cipher-wpa-psk-hex.h
9180           libnm-util/cipher-wpa-psk-passphrase.c
9181           libnm-util/cipher-wpa-psk-passphrase.h
9182           libnm-util/cipher.c
9183           libnm-util/cipher.h
9184           libnm-util/dbus-helpers.c
9185           libnm-util/dbus-helpers.h
9186           libnm-util/gnome-keyring-md5.c
9187           libnm-util/gnome-keyring-md5.h
9188           libnm-util/sha1.c
9189           libnm-util/sha1.h
9190           src/nm-device-802-11-wireless.c
9191           test/libnm-util/Makefile.am
9192           test/libnm-util/test-ciphers.c
9193           test/libnm-util/test-dbus-helpers.c
9194           test/libnm-util/test-inputs.h
9195                 - Removed
9196
9197 2007-09-14  Dan Williams  <dcbw@redhat.com>
9198
9199         * libnm-util/dbus-method-dispatcher.c
9200           libnm-util/dbus-method-dispatcher.h
9201                 - Remove, unused
9202
9203 2007-09-14  Dan Williams  <dcbw@redhat.com>
9204
9205         Implement deferred activation support in the device class.
9206
9207         * src/nm-device-interface.c
9208           src/nm-device-interface.h
9209                 - (nm_device_interface_activate): take more arguments to support
9210                         deferred activation; callers must pass one of (connection) OR
9211                         (service_name, connection_path)
9212                 - (impl_device_activate): connection validation is punted to the device
9213                         to be able to handle deferred activation.  Yes, this means errors
9214                         don't get returned from the Activate() dbus call, and yes, that
9215                         should be fixed somehow later.
9216
9217         * src/nm-device.c
9218           src/nm-device.h
9219                 - (clear_act_request): clear additional deferred activation stuff too
9220                 - (deferred_activation_timeout_cb): new function; clean up when
9221                         deferred activation times out.
9222                 - (deferred_activation_start_cb): new function; when the connection
9223                         finally becomes available, start device activation
9224                 - (nm_device_activate): attach to the right signals of the activation
9225                         request if we need to defer activation until the connection is valid
9226
9227         * src/NetworkManagerPolicy.c
9228                 - (nm_policy_device_change_check): update for additional arguments
9229                         required for nm_device_interface_activate().  Pass NULL for these
9230                         though because this function already knows exactly which
9231                         NMConnection to use
9232
9233 2007-09-14  Dan Williams  <dcbw@redhat.com>
9234
9235         Implement deferred activation handling in the NMActRequest class.  When a
9236         client wants to activate a device but must create the NMConnection details
9237         on the fly, there likely hasn't been enough time yet for NM to receive the
9238         new connection signal and grab all the connection details.  So the
9239         activation is deferred (and bounded by a timer) for a while, and if the
9240         connection appears within the window, it is activated.
9241
9242         * src/nm-activation-request.c
9243           src/nm-activation-request.h
9244                 - (nm_act_request_class_init): two new signals to support deferred
9245                         activation, to allow the listener to handle both timeout and success
9246                 - (nm_act_request_new_deferred): new function, starts the deferred
9247                         activation timeout handler and listens to the NMManager for
9248                         new-connection signals to notice when the connection comes in
9249
9250 2007-09-14  Dan Williams  <dcbw@redhat.com>
9251
9252         * src/nm-manager.h
9253           src/nm-manager.c
9254                 - (nm_manager_get_connection_service_name,
9255                    nm_manager_get_connection_dbus_path): get details about a connection
9256                         known internally by the NMManager
9257                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9258                         because NMConnection is now a GObject subclass
9259                 - Use constant for the gobject data tag used on NMConnection objects for
9260                         storing the associated DBusGProxy
9261
9262 2007-09-14  Dan Williams  <dcbw@redhat.com>
9263
9264         * utils/Makefile.am
9265           utils/nm-utils.c
9266           utils/nm-utils.h
9267           src/supplicant-manager/Makefile.am
9268           src/dhcp-manager/Makefile.am
9269           src/backends/Makefile.am
9270           src/named-manager/Makefile.am
9271           src/ppp-manager/Makefile.am
9272           src/vpn-manager/Makefile.am
9273           test/libnm-util/Makefile.am
9274           test/test-common/Makefile.am
9275                 - Remove utils/; it was unused
9276
9277 2007-09-13  Dan Williams  <dcbw@redhat.com>
9278
9279         * libnm-glib/nm-vpn-manager.h
9280           libnm-glib/nm-vpn-manager.c
9281                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9282
9283 2007-09-13  Dan Williams  <dcbw@redhat.com>
9284
9285         * src/nm-device-802-3-ethernet.c
9286                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9287                         netlink monitor carrier signals on dispose, not bring down.  The
9288                         carrier signals should be handled over the entire lifetime of the
9289                         device anyway, not created/destroyed on up or down.
9290
9291 2007-09-13  Dan Williams  <dcbw@redhat.com>
9292
9293         * libnm-glib/nm-device.c
9294           libnm-glib/nm-device.h
9295                 - (nm_device_activate): take a connection object path rather than an
9296                         NMConnection because NMConnection isn't exported over D-Bus and
9297                         therefore it dbus-glib can't automatically get an object path from it
9298
9299 2007-09-13  Dan Williams  <dcbw@redhat.com>
9300
9301         * libnm-util/nm-setting.c
9302                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9303
9304 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9305
9306         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9307
9308 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9309
9310         * src/vpn-manager/nm-vpn-connection.[ch]: 
9311         * src/vpn-manager/nm-vpn-manager.[ch]:
9312         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9313         dbus-glib, GObjects, signals etc.
9314
9315         * libnm-glib/nm-vpn-manager.[ch]: 
9316         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9317         so much, rewrite these too.
9318
9319         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9320         the new introspection files.
9321
9322         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9323
9324         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9325         the header with the same name from libnm-utils.
9326
9327         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9328
9329         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9330
9331         * introspection/nm-vpn-plugin.xml: Implement.
9332
9333         * introspection/nm-vpn-connection.xml: Implement.
9334
9335         * introspection/nm-vpn-manager.xml: Implement.
9336
9337         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9338         the named manager argument, it can just as easily get it as the caller.
9339         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9340
9341         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9342
9343         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9344
9345         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9346         libnm-utils.
9347
9348         * libnm-util/nm-connection.c: Ditto.
9349
9350         * src/NetworkManagerMain.h: Remove, it's finally empty.
9351
9352         * configure.in: Remove utils/ from build.
9353
9354         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9355         of hard-coded strings.
9356
9357         * utils/: Move it over to libnm-util.
9358
9359         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9360
9361         * dispatcher-daemon/Makefile.am: Ditto.
9362
9363         * src/Makefile.am: Ditto.
9364
9365 2007-09-12  Dan Williams  <dcbw@redhat.com>
9366
9367         Wireless connections can be made with config data from the applet now.
9368         
9369         Yay.
9370
9371         * src/supplicant-manager/nm-supplicant-config.h
9372           src/supplicant-manager/nm-supplicant-config.c
9373                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9374                 - (nm_supplicant_config_add_setting_wireless,
9375                    nm_supplicant_config_add_setting_wireless_security): new functions;
9376                         add key/value pairs from the settings objects to the supplicant
9377                         config
9378
9379         * src/nm-device-802-11-wireless.c
9380                 - (cull_scan_list): fix check to not prune currently associated AP
9381                 - (build_supplicant_config, real_act_stage2_config): call the functions
9382                         of the NMSupplicantConfig that parse settings objects rather than
9383                         doing it manually here
9384
9385 2007-09-12  Dan Williams  <dcbw@redhat.com>
9386
9387         * src/supplicant-manager/nm-supplicant-interface.c
9388           src/supplicant-manager/nm-supplicant-marshal.list
9389                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9390                         "connection-error" signal arguments should be STRING not CHAR
9391
9392 2007-09-12  Dan Williams  <dcbw@redhat.com>
9393
9394         * src/NetworkManagerUtils.c
9395           src/NetworkManagerUtils.h
9396                 - (nm_utils_hexstr2bin): new function
9397
9398 2007-09-11  Dan Williams  <dcbw@redhat.com>
9399
9400         * src/nm-manager.c
9401                 - (connection_get_settings_cb): emit connection-added signal
9402                 - (connection_removed_cb): uncomment bits for system settings service,
9403                         send connection-removed when appropriate
9404                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9405                         the stack by trying to g_object_set_data() on something that's
9406                         not a GObject; handle case where settings service returns
9407                         empty settings hash table
9408
9409 2007-09-11  Dan Williams  <dcbw@redhat.com>
9410
9411         * src/NetworkManagerPolicy.c
9412                 - (connection_added, connection_removed): trigger device change checks
9413                         on connection changes
9414
9415 2007-09-11  Dan Williams  <dcbw@redhat.com>
9416
9417         * src/nm-activation-request.c
9418                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9419
9420 2007-09-11  Dan Williams  <dcbw@redhat.com>
9421
9422         * src/nm-device-802-11-wireless.c
9423                 - (real_connection_secrets_updated): fix erroneous check
9424
9425 2007-09-11  Dan Williams  <dcbw@redhat.com>
9426
9427         * introspection/nm-device.xml
9428           libnm-glib/nm-device.c
9429           libnm-glib/nm-device.c
9430                 - Fix Activate call argument borkage; Activate takes 3 arguments
9431
9432 2007-09-11  Dan Williams  <dcbw@redhat.com>
9433
9434         * libnm-glib/nm-access-point.c
9435           libnm-glib/nm-access-point.c
9436                 - (nm_access_point_get_frequency): now returns guint32 to match
9437                         property change on 2007-09-10
9438
9439 2007-09-11  Dan Williams  <dcbw@redhat.com>
9440
9441         * src/nm-device-802-11-wireless.c
9442                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9443                         somewhere defines 'index' and I missed this one when I fixed the
9444                         shadow declaration errors earlier
9445
9446 2007-09-11  Dan Williams  <dcbw@redhat.com>
9447
9448         * libnm-util/nm-connection.c
9449                 - (nm_connection_update_secrets, need_secrets_check): move
9450                         802-11-wireless-security need_secrets checks to the setting object
9451                         itself, where it belongs
9452
9453         * libnm-util/nm-setting.c
9454           libnm-util/nm-setting.h
9455                 - (nm_setting_need_secrets): new function
9456                 - (setting_wireless_security_verify,
9457                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9458                 - (setting_wireless_security_need_secrets): mostly copy code over
9459                         from nm-connection.c
9460
9461 2007-09-11  Dan Williams  <dcbw@redhat.com>
9462
9463         * libnm-util/nm-setting.c
9464           libnm-util/nm-setting.h
9465                 - (nm_setting_update_secrets): new function; add a virtual function that
9466                         subclasses can implement to update their secrets
9467                 - (setting_wireless_security_update_secrets): implement that function
9468                         for the 802-11-wireless-security subclass
9469
9470         * libnm-util/nm-connection.c
9471           libnm-util/nm-connection.h
9472                 - (nm_connection_update_secrets): update secrets for a Setting and
9473                         emit a signal on success
9474
9475         * src/nm-manager.c
9476           src/nm-manager.h
9477           src/nm-marshal.list
9478                 - (connection_get_settings_cb): enable system settings bits
9479                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9480                         to request secrets from the settings dbus service and to
9481                         push those secrets to the NMConnection itself
9482
9483         * src/nm-activation-request.c
9484           src/nm-activation-request.h
9485                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9486                         currently being activated, and proxy that signal to other listeners.
9487                         Goes through the activation request because the activation request
9488                         is the thing that manages the lifetime of the NMConnection that's
9489                         being activated.
9490
9491         * src/nm-device-802-11-wireless.c
9492                 - (real_connection_secrets_updated): implement the connection secrets
9493                         updated notification and restart activation when secrets are
9494                         received
9495                 - (real_act_stage2_config): request secrets from the settings dbus
9496                         service if secrets are needed
9497
9498         * src/nm-device.c
9499           src/nm-device.h
9500                 - (clear_act_request, nm_device_activation_cancel,
9501                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9502                         where the activation request is cleared
9503                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9504                         updated secrets signal of activation request and add a function
9505                         that subclasses can override to handle it easily
9506
9507 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9508
9509         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9510         removal of NetworkManagerAPList.
9511
9512 2007-09-10  Dan Williams  <dcbw@redhat.com>
9513
9514         * src/NetworkManagerAP.c
9515           src/NetworkManagerAP.h
9516           introspection/nm-access-point.xml
9517                 - Change 'freq' property to a guint32 instead of a double since we
9518                         weren't using the floating point bits anyway
9519
9520 2007-09-10  Dan Williams  <dcbw@redhat.com>
9521
9522         * NetworkManagerAP.c
9523           NetworkManagerAP.h
9524           NetworkManagerPolicy.c
9525           NetworkManagerSystem.c
9526           NetworkManagerUtils.c
9527           NetworkManagerUtils.h
9528           nm-device-802-11-wireless.c
9529           nm-device-802-3-ethernet.c
9530           nm-hal-manager.c
9531           nm-manager.c
9532           vpn-manager/nm-dbus-vpn.c
9533                 - Warning fixes; casts and removal of unused variables
9534
9535 2007-09-10  Dan Williams  <dcbw@redhat.com>
9536
9537         * include/NetworkManager.h
9538                 - Kill NMNetworkType; AP types don't matter any more
9539
9540         * src/NetworkManagerAPList.c
9541           src/NetworkManagerAPList.h
9542           src/Makefile.am
9543                 - Kill; NMAccessPointList has outlived it's usefulness
9544
9545         * src/NetworkManagerAP.c
9546           src/NetworkManagerAP.h
9547                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9548                         functions; check if an NMConnection object is compatible with the
9549                         settings of this AP
9550                 - (freq_to_channel, channel_to_freq): utility functions for
9551                         channel <-> frequency conversion
9552
9553         * src/nm-device.c
9554           src/nm-device.h
9555                 - (nm_device_get_best_connection): pass the specific object around
9556                          (which might be the object path of a specific AP to connect to).
9557                          The get_best_connection() call should populate this on return
9558                          if needed (wireless does).
9559
9560         * src/nm-device-802-3-ethernet.c
9561                 - (real_get_best_connection): handle specific_object argument
9562
9563         * src/NetworkManager.c
9564           src/NetworkManagerMain.h
9565                 - Remove unused includes
9566
9567         * src/nm-device-802-11-wireless.c
9568           src/nm-device-802-11-wireless.h
9569                 - Convert the ap_list into a GSList from an NMAccessPointList
9570                 - No need for caching the 'activation_ap' since this is now determined
9571                         from the specific_object of the activation request, which is
9572                         populated from the get_best_connection() call or from a user request
9573                 - (nm_device_802_11_wireless_update_bssid): fix warning
9574                 - (get_wireless_capabilities): fix error message format arguments
9575                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9576                 - (find_best_connection, real_get_best_connection): implement
9577                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9578                         move here from NetworkManagerAPList
9579                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9580                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9581                         already verified earlier
9582                 - (real_act_stage2_config): use nm_connection_need_secrets()
9583
9584         * src/NetworkManagerPolicy.c
9585                 - (nm_policy_auto_get_best_device): handle specific objects
9586                 - (create_connection): remove; automatic connection creation functionality
9587                         is handled by the Connection objects
9588                 - (nm_policy_device_change_check): handle specific_object
9589
9590         * libnm-util/nm-connection.c
9591                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9592
9593 2007-09-10  Dan Williams  <dcbw@redhat.com>
9594
9595         * src/nm-manager.c
9596                 - (query_connections): fix uninitialized variable problem that caused
9597                         segfault
9598                 - (nm_manager_add_device): take devices down on startup so that we can
9599                         be assured that nm_device_is_up() won't short-circuit the init
9600                         process.  Hack until the is_up check gets split into two pieces
9601                         that aren't behaviorally confusing.
9602
9603 2007-09-09  Dan Williams  <dcbw@redhat.com>
9604
9605         * introspection/nm-device.xml
9606                 - The 'Activate' method now takes 3 arguments, a service name for the
9607                 settings service (user or system), the object path of the connection
9608                 to activate, and the specific object to activate, if any
9609
9610         * src/nm-device-interface.c
9611                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9612                 Add error bits
9613                 - (impl_device_activate): adapt to new Activate arguments; validate
9614                 the service name and get the Connection object from the NMManager
9615                 before starting to activate the device with the specified connection
9616
9617         * src/nm-device-802-3-ethernet.c
9618                 - (real_get_best_connection): find the best connection, or create a
9619                 default one if no existing connections can be used
9620
9621         * src/NetworkManagerPolicy.c
9622                 - (nm_policy_auto_get_best_device): Get the device's best connection
9623                 and only pick the device if it has one
9624                 - (nm_policy_device_change_check): disable wireless bits for now until
9625                 wireless get_best_connection() can be implemented (replacing "best_ap");
9626                 don't create a default connection here as the device subclass will do
9627                 that if needed
9628
9629         * src/nm-manager.h
9630           src/nm-manager.c
9631                 - (nm_manager_get): make NMManager a singleton and expose the getter
9632                 internally
9633                 - Rework internal NMManager connection handling to use the same
9634                 routines for both the system and user settings services.  Most calls
9635                 take a new NMConnectionType argument specifying either system or user
9636                 connections
9637                 - (nm_manager_get_connection_by_object_path): new function; get a
9638                 connection keyed on its object path
9639
9640         * src/NetworkManager.c
9641                 - (main): use nm_manager_get()
9642
9643 2007-09-09  Dan Williams  <dcbw@redhat.com>
9644
9645         * src/nm-device.h
9646           src/nm-device.c
9647                 - (nm_device_get_best_connection): new function; get best connection
9648                         for the device at that time
9649
9650 2007-09-09  Dan Williams  <dcbw@redhat.com>
9651
9652         * src/nm-device-interface.h
9653                 - Add NMDeviceInterfaceError with an UnknownConnection error
9654
9655 2007-09-09  Dan Williams  <dcbw@redhat.com>
9656
9657         Stupid mistake on my part; object path and interface for settings service
9658         and connection objects can be the same, only the service name must be
9659         different for the system and user settings services.
9660
9661         * include/NetworkManager.h
9662           src/nm-manager.c
9663           introspection/nm-settings-connection.xml
9664           introspection/nm-settings.xml
9665           libnm-glib/nm-settings.c
9666                 - (nm_connection_settings_init, query_user_connections,
9667                    new_connection_cb): Unify NetworkManagerSettings and Connection
9668                    interface name and object path
9669
9670 2007-09-06  Dan Williams  <dcbw@redhat.com>
9671
9672         * libnm-glib/nm-object.c
9673                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9674                    nm_object_get_int_property, nm_object_get_uint_property,
9675                    nm_object_get_boolean_property, nm_object_get_byte_property,
9676                    nm_object_get_double_property, nm_object_get_byte_array_property):
9677                         clear GValues after copying their contents, fixes memory leaks
9678                         after every property access because dbus-glib copies the values
9679                         from the DBusMessage into the GValue already.
9680
9681 2007-09-06  Dan Williams  <dcbw@redhat.com>
9682
9683         * introspection/nm-access-point.xml
9684                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9685                         them to be.  There's some magic property name parsing going on in
9686                         dbus-glib that breaks up property names based on studly-caps and
9687                         puts - between words.
9688
9689         * libnm-glib/nm-access-point.c
9690                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9691                         Fix property names
9692
9693 2007-09-06  Dan Williams  <dcbw@redhat.com>
9694
9695         * src/nm-manager.c
9696                 - (nm_manager_user_connections_destroy): clear the user connections hash
9697                         table, don't destroy it
9698                 - (finalize): only destroy the hash table on NMManager finalization
9699
9700 2007-09-02  Dan Williams  <dcbw@redhat.com>
9701
9702         * include/NetworkManager.h
9703           libnm-glib/nm-settings.c
9704                 - defines for the user settings daemon D-Bus bits
9705
9706         * src/NetworkManager.c
9707                 - Remove stuff that referred to the old NetworkManagerInfo service
9708
9709         * src/vpn-manager/nm-dbus-vpn.h
9710                 - Move old NMI defines to the only place they are used still
9711
9712         * libnm-util/nm-connection.c
9713           libnm-util/nm-connection.h
9714           src/nm-activation-request.c
9715                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9716
9717         * src/nm-manager.c
9718           src/nm-manager.h
9719                 - Get connections and their settings from the user settings daemon
9720                         at the appropriate times
9721
9722 2007-09-02  Dan Williams  <dcbw@redhat.com>
9723
9724         * libnm-util/nm-setting.c
9725                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9726                 - (setting_wireless_hash): set the right value on the item
9727
9728 2007-09-02  Dan Williams  <dcbw@redhat.com>
9729
9730         * test/Makefile.am
9731           test/nminfotest.c
9732                 - Remove, no longer useful
9733
9734 2007-08-30  Dan Williams  <dcbw@redhat.com>
9735
9736         * src/Makefile.am
9737           src/NetworkManagerDbus.c
9738           src/NetworkManagerDbus.h
9739           src/vpn-manager/nm-dbus-vpn.c
9740                 - Remove, no longer necessary.  Move last bits to the only place its
9741                 used, in nm-dbus-vpn.c
9742
9743         * src/NetworkManagerAPList.c
9744           src/nm-device.c
9745           src/NetworkManager.c
9746           src/nm-device-802-11-wireless.c
9747           src/vpn-manager/nm-vpn-manager.c
9748           src/vpn-manager/nm-vpn-service.c
9749           src/NetworkManagerPolicy.c
9750           src/nm-manager.c
9751                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9752                 that was message_is_error()
9753
9754 2007-08-30  Dan Williams  <dcbw@redhat.com>
9755
9756         * libnm-util/sha1.c
9757                 - Include config.h to get defines for endiannes (gnome.org #420216)
9758
9759 2007-08-30  Dan Williams  <dcbw@redhat.com>
9760
9761         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9762
9763         * src/ppp-manager/Makefile.am
9764                 - use -fPIC (gnome.org #471825)
9765
9766 2007-08-29  Dan Williams  <dcbw@redhat.com>
9767
9768         * include/NetworkManager.h
9769                 - Keep NMConnection object path in sync
9770
9771         * libnm-glib/nm-settings.c
9772           libnm-glib/nm-settings.h
9773                 - Break D-Bus object registration out of the init function, because
9774                 every object that's exported over D-Bus needs to use the _same_
9775                 DBusConnection.  Otherwise, each object would get a different object
9776                 path tree and wouldn't be callable.
9777
9778 2007-08-29  Dan Williams  <dcbw@redhat.com>
9779
9780         * libnm-util/nm-setting.h
9781           libnm-util/nm-setting.c
9782           libnm-util/nm-connection.c
9783           src/NetworkManagerPolicy.c
9784                 - 'info' settings object should be 'connection' says the spec
9785                 at NetworkManagerConfigurationSpecification
9786
9787 2007-08-29  Dan Williams  <dcbw@redhat.com>
9788
9789         * libnm-glib/nm-settings.c
9790           libnm-glib/nm-settings.h
9791                 - make the dbus path a property of the object, and autogenerate it.
9792                 It can't be composed of the 'id' field becuase that's not available
9793                 yet during the GObject creation in nm_connection_settings_init()
9794
9795 2007-08-29  Dan Williams  <dcbw@redhat.com>
9796
9797         * introspection/nm-settings-connection.xml
9798           introspection/nm-settings.xml
9799                 - Service name -> NetworkManagerUserSettings because two services
9800                 can't share part of the same path.  I'm not really sure how we'll use
9801                 the same code with the system-settings daemon...
9802
9803 2007-08-28  Dan Williams  <dcbw@redhat.com>
9804
9805         * src/nm-device-interface.c
9806           src/nm-device-interface.h
9807                 - Kill one more bit of NMData
9808
9809 2007-08-28  Dan Williams  <dcbw@redhat.com>
9810
9811         * src/NetworkManagerSystem.h
9812           src/nm-device.c
9813           src/nm-device.h
9814           src/nm-hal-manager.c
9815           src/NetworkManager.c
9816           src/nm-device-802-11-wireless.c
9817           src/nm-hal-manager.h
9818           src/nm-device-802-3-ethernet.c
9819           src/vpn-manager/nm-vpn-service.h
9820           src/vpn-manager/nm-vpn-manager.c
9821           src/vpn-manager/nm-vpn-manager.h
9822           src/vpn-manager/nm-vpn-service.c
9823           src/nm-device-802-11-wireless.h
9824           src/NetworkManagerMain.h
9825           src/nm-device-802-3-ethernet.h
9826           src/backends/NetworkManagerGentoo.c
9827           src/backends/NetworkManagerPaldo.c
9828           src/backends/NetworkManagerFrugalware.c
9829           src/backends/NetworkManagerRedHat.c
9830           src/backends/NetworkManagerSlackware.c
9831           src/backends/NetworkManagerGeneric.c
9832           src/backends/NetworkManagerArch.c
9833           src/backends/NetworkManagerSuSE.c
9834           src/backends/NetworkManagerGeneric.h
9835           src/backends/NetworkManagerDebian.c
9836                 - Kill NMData
9837
9838 2007-08-28  Dan Williams  <dcbw@redhat.com>
9839
9840         * src/NetworkManagerMain.h
9841           src/nm-device-802-11-wireless.c
9842           src/NetworkManager.c
9843                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9844                 for now we should set the 'invalid' property on individual APs, and when
9845                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9846                 that ESS
9847
9848 2007-08-28  Dan Williams  <dcbw@redhat.com>
9849
9850         * src/NetworkManagerAP.c
9851           src/NetworkManagerAP.h
9852                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9853                         'autoconnect' property instead
9854
9855         * src/NetworkManager.c
9856           src/NetworkManagerMain.h
9857           src/NetworkManagerPolicy.c
9858           src/NetworkManagerPolicy.h
9859                 - Remove the 'allowed_ap_list', which should be replaced by 
9860                         NMConnection/NMSettings instead, since _those_ are the allowed
9861                         things that NM can connect to
9862
9863         * src/nm-device-802-11-wireless.c
9864                 - Remove both allowed_ap_list usage and 'fallback' checking
9865
9866 2007-08-28  Dan Williams  <dcbw@redhat.com>
9867
9868         * src/nm-device.c
9869           src/named-manager/nm-named-manager.c
9870           src/named-manager/nm-named-manager.h
9871           src/NetworkManager.c
9872           src/vpn-manager/nm-vpn-manager.c
9873           src/NetworkManagerMain.h
9874           src/NetworkManagerSystem.c
9875                 - Remove the named-manager object from NMData structure in preparation
9876                 for NMData's timely death.  Make the NMNamedManager the singleton that
9877                 it really is
9878
9879 2007-08-28  Dan Williams  <dcbw@redhat.com>
9880
9881         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9882         each AP's capabilities, and by NMConnection/NMSettings objects for user
9883         defined connections.
9884
9885         * include/NetworkManager.h
9886                 - Redefine 802.11 security properties.  There are now device capabilities
9887                         and AP flags and AP security flags.  It was way to unclear before.
9888
9889         * src/Makefile.am
9890           src/nm-ap-security-leap.h
9891           src/nm-ap-security-leap.c
9892           src/nm-ap-security-wpa-eap.c
9893           src/nm-ap-security-wpa-eap.h
9894           src/nm-ap-security-private.h
9895           src/nm-ap-security-wpa-psk.c
9896           src/nm-ap-security-wpa-psk.h
9897           src/nm-ap-security-wep.c
9898           src/nm-ap-security-wep.h
9899           src/nm-ap-security.c
9900           src/nm-ap-security.h
9901                 - Removed, to be replaced with NMConnection/NMSettings objects
9902
9903         * src/nm-dbus-nmi.c
9904           src/nm-dbus-nmi.h
9905                 - Removed, to be replaced by code that talks to the new info daemon
9906                         interface and gets NMConnection/NMSettings objects
9907
9908         * src/backends/NetworkManagerSuSE.c
9909                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9910                         info-daemon that does the same thing but talks the new info-daemon
9911                         D-Bus interface
9912
9913         * src/NetworkManagerAP.h
9914           src/NetworkManagerAP.c
9915           src/NetworkManagerAPList.c
9916           libnm-glib/libnm-glib-test.c
9917                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9918                         WPA/RSN
9919
9920         * libnm-glib/nm-access-point.c
9921           libnm-glib/nm-access-point.h
9922           introspection/nm-access-point.xml
9923           test/nm-tool.c
9924                 - Adjust to new flags for AP security
9925
9926         * utils/nm-utils.c
9927           utils/nm-utils.h
9928           src/vpn-manager/nm-dbus-vpn.c
9929                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9930                         stuff which is the only place it's used
9931
9932         * src/nm-device-interface.c
9933           src/nm-device-interface.h
9934           introspection/nm-device.xml
9935           src/nm-activation-request.c
9936           src/nm-activation-request.h
9937           src/nm-device.c
9938                 - Add a new 'specific_object' argument that hints to NM what actual
9939                         AP or other device-specific thing the connection should apply to.
9940                         NMConnection objects can apply to more than one actual device/AP.
9941
9942         * libnm-util/nm-connection.c
9943         * libnm-util/nm-connection.h
9944                 - Add 'have_secrets" call stubs
9945
9946         * libnm-util/cipher.h
9947                 - Move NM_AUTH_TYPE_* defines here for now
9948
9949         * src/nm-device-802-11-wireless.c
9950                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9951                         NMSettings objects
9952
9953         * src/NetworkManagerDbus.c
9954         * src/NetworkManagerPolicy.c
9955                 - Remove usage of update_allowed_networks, should be pushing data in
9956                         a different manner
9957
9958 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9959
9960         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9961         dbus-glib frees it when the call is done.
9962
9963 2007-08-26  Dan Williams  <dcbw@redhat.com>
9964
9965         * introspection/nm-device.xml
9966                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9967
9968 2007-08-26  Dan Williams  <dcbw@redhat.com>
9969
9970         * src/nm-device-802-3-ethernet.c
9971                 - (constructor): move connection of interface-connected/disconnected
9972                         signals here from real_bring_up().  Should be listening to netlink
9973                         for carrier events no matter what the initial state of the device
9974                         is.
9975
9976 2007-08-26  Dan Williams  <dcbw@redhat.com>
9977
9978         * src/nm-netlink-monitor.c
9979                 - (nm_netlink_monitor_class_init): fix marshalling types for
9980                         interface-connected/interface-disconnected
9981                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9982                         check
9983
9984 2007-08-26  Dan Williams  <dcbw@redhat.com>
9985
9986         Convert to using interface indexes as the primary method of identifying
9987         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9988         be renamed at any time.  Device object paths now refer to the device
9989         index rather than the name, and you can map those two manually if you like
9990         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9991         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9992         to use interface indexes rather than names.
9993
9994 2007-08-26  Dan Williams  <dcbw@redhat.com>
9995
9996         * src/nm-netlink-monitor.h
9997                 - Remove one last bit of wireless-event signal
9998
9999 2007-08-26  Dan Williams  <dcbw@redhat.com>
10000
10001         * src/nm-netlink-monitor.c
10002                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
10003                         don't need the 'wireless-event' signal anymore since that's all
10004                         handled by wpa_supplicant
10005
10006 2007-08-25  Dan Williams  <dcbw@redhat.com>
10007
10008         It's 2007. Remove support for drivers that don't support wireless scanning.
10009
10010         * test/nm-tool.c
10011           include/NetworkManager.h
10012           src/NetworkManagerUtils.c
10013           src/NetworkManagerPolicy.c
10014           src/nm-device-802-11-wireless.c
10015                 - Remove special handling for non-scanning devices and mark them
10016                         as unsupported/unhandled
10017
10018 2007-08-20  Dan Williams  <dcbw@redhat.com>
10019
10020         * src/nm-device-802-11-wireless.c
10021           src/nm-device-802-3-ethernet.c
10022                 - (real_is_up): move device-specific tests before generic IFF_UP test,
10023                         because when the card is pulled or the module removed, the device
10024                         is already !IFF_UP and then device-specific cleanup (removing
10025                         the supplicant interface, periodic checks, etc) never gets done
10026
10027 2007-08-20  Dan Williams  <dcbw@redhat.com>
10028
10029         * src/nm-manager.c
10030                 - (nm_manager_remove_device): bring device down before disconnecting
10031                         signal handlers, so that the 'state' signal will get broadcast when
10032                         the device enters the DOWN state
10033                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
10034                         of states that cause the NMManager to recheck its state
10035
10036 2007-08-20  Dan Williams  <dcbw@redhat.com>
10037
10038         * src/supplicant-manager/nm-supplicant-interface.c
10039                 - (interface_disconnect_done): don't try to dispose of the net proxy
10040                         when it may already have been disposed of
10041
10042 2007-08-20  Dan Williams  <dcbw@redhat.com>
10043
10044         * src/nm-device-802-11-wireless.c
10045                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
10046                         the SSID isn't available; this can happen when the card is pulled
10047                         or the module unloaded, during the post-removal deactivation
10048                         paths, when the ioctl returns ENODEV
10049
10050 2007-08-20  Dan Williams  <dcbw@redhat.com>
10051
10052         * src/nm-device-802-11-wireless.c
10053                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
10054                         frequency, and mode match.  Applets are now responsible for grouping
10055                         access points
10056
10057 2007-08-20  Dan Williams  <dcbw@redhat.com>
10058
10059         * src/NetworkManagerAP.c
10060         * src/NetworkManagerAP.h
10061                 - (nm_ap_print_self): new function
10062
10063         * src/NetworkManagerAPList.c
10064                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
10065                         to do it all here
10066         
10067 2007-08-17  Dan Williams  <dcbw@redhat.com>
10068
10069         * src/nm-device-802-3-ethernet.c
10070                 - (real_bring_down): don't try to dispose of stuff that might not
10071                         exist
10072
10073 2007-08-17  Dan Williams  <dcbw@redhat.com>
10074
10075         * src/NetworkManagerAP.c
10076                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
10077                         applet.  This ensures that the case between the seen-bssids and
10078                         the bssids reported by the driver match.
10079
10080 2007-08-17  Dan Williams  <dcbw@redhat.com>
10081
10082         * src/nm-device-802-11-wireless.c
10083                 - (device_cleanup): disconnect the interface in wpa_supplicant before
10084                         we dispose of the interface proxy in NM
10085
10086 2007-08-16  Dan Williams  <dcbw@redhat.com>
10087
10088         * libnm-glib/nm-client.c
10089                 - (nm_client_init): create VPN connections hash table with key free
10090                         function
10091                 - (proxy_vpn_connection_added): VPN connections hash table key should
10092                         be a duplicated value, not the same memory address as the VPN
10093                         connection name.  This is because the VPN connection name could
10094                         potentially be freed and set to something else during the lifetime
10095                         of the NMVPNConnection object.
10096
10097 2007-08-16  Tambet Ingo  <tambet@gmail.com>
10098
10099         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
10100         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
10101         with the file descriptors. Send a child setup function to change the pppd
10102         progress group.
10103
10104 2007-08-15  Dan Williams  <dcbw@redhat.com>
10105
10106         * src/supplicant-manager/nm-supplicant-interface.c
10107                 - (try_remove_iface): new function, ask wpa_supplicant to remove
10108                         an interface
10109                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
10110                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
10111                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10112                         the interface internally
10113
10114 2007-08-15  Dan Williams  <dcbw@redhat.com>
10115
10116         * src/nm-device-802-11-wireless.c
10117                 - (real_bring_down): move most of this function into device_cleanup()
10118                         so that it can be called from elsewhere
10119                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10120                         and stuff on dispose.  These would normally get cleaned up when
10121                         the device is marked down and deactivated, but when the device is
10122                         hot-unplugged, it's already down and real_down() never gets run
10123
10124 2007-08-15  Dan Williams  <dcbw@redhat.com>
10125
10126         * src/nm-dbus-nmi.c
10127                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10128                         caused a reference leak on device for which NM requested a key
10129
10130 2007-08-15  Dan Williams  <dcbw@redhat.com>
10131
10132         * libnm-glib/nm-client.c
10133                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10134
10135 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10136
10137         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10138         nothing is using it at the moment, but it'll be all useful and stuff later on.
10139
10140         * libnm-util/nm-setting.h: Define NMSettingPPP.
10141
10142         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10143
10144         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10145
10146         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10147
10148         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10149
10150         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10151
10152 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10153
10154         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10155
10156         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10157         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10158         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10159         name and different arguments and it won't compile anymore. To fix this, we now have
10160         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10161         that is new API + compatibility API and used by the daemon. The other, 
10162         nm-manager-client.xml is only the new API without compatibility bits and is used
10163         by libnm-glib to make it compile.
10164
10165         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10166
10167         * src/nm-manager.c (impl_manager_legacy_sleep)
10168         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10169         interface functions for 0.6 branch.
10170
10171 2007-08-14  Dan Williams  <dcbw@redhat.com>
10172
10173         * src/NetworkManagerAP.c
10174                 - (nm_ap_new_from_properties): fix mistaken check of return value
10175                         from memcmp (should expect 0)
10176
10177 2007-08-14  Dan Williams  <dcbw@redhat.com>
10178
10179         (force-commit to fix wrong comment and partial commit of r2685; this
10180          commit actually applies to r2685)
10181
10182         * src/NetworkManagerUtils.c
10183                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10184                         ignores trailing nulls in the SSID to work around mismatches in
10185                         expectations between WEXT and what the info-daemon passes back.  The
10186                         info-daemon would pass back the correct length, but due to the
10187                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10188                         the device would always have an SSID + 1 depending on what versions
10189                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10190                         visible by just quitting the applet and relaunching, which caused
10191                         NM to reassociated to the same network over again when reloading
10192                         the save networks.
10193
10194         * src/NetworkManagerPolicy.c
10195           src/NetworkManagerUtils.h
10196           src/nm-device-802-11-wireless.c
10197                 - Update for new parameter to nm_utils_same_ssid()
10198
10199 2007-08-14  Dan Williams  <dcbw@redhat.com>
10200
10201         * src/NetworkManagerAP.c
10202                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10203                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10204                         setting the BSSID to all 0s.  That confused the heck out of NM,
10205                         plus it's useless and probably out-of-spec.
10206
10207 2007-08-14  Dan Williams  <dcbw@redhat.com>
10208
10209         * callouts/Makefile.am
10210           src/dhcp-manager/nm-dhcp-manager.c
10211           src/dhcp-manager/nm-dhcp-manager.h
10212           src/dhcp-manager/Makefile.am
10213                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10214
10215 2007-08-14  Dan Williams  <dcbw@redhat.com>
10216
10217         * src/dhcp-manager/nm-dhcp-manager.c
10218                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10219                         it's really needed, get rid of unused xtra_args parameter
10220
10221 2007-08-14  Dan Williams  <dcbw@redhat.com>
10222
10223         * include/NetworkManagerVPN.h
10224           src/vpn-manager/nm-dbus-vpn.c
10225           src/vpn-manager/nm-dbus-vpn.h
10226           src/vpn-manager/nm-vpn-act-request.c
10227           src/vpn-manager/nm-vpn-act-request.h
10228           src/vpn-manager/nm-vpn-service.c
10229           src/vpn-manager/nm-vpn-service.h
10230           libnm-glib/nm-vpn-connection.c
10231           libnm-glib/nm-vpn-connection.h
10232           libnm-glib/nm-client.h
10233                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10234                         NMVPNServiceState to clarify what they apply to
10235                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10236                         NMVPNActStage -> NMVPNConnectionState for the same reason
10237
10238         * libnm-glib/nm-client.c
10239                 - Constant + type renames from above
10240                 - Properly handle NameOwnerChanged/manager_running signals
10241                         for NM service; only emit when state really changes
10242                 - Use hash tables correctly so that the key (which was previously owned
10243                         by the D-Bus message) now has the same lifetime as the value, since
10244                         the key is now taken from the the NMVPNConnection itself.  This
10245                         really fixes the double-VPN names in the applet
10246
10247 2007-08-13  Dan Williams  <dcbw@redhat.com>
10248
10249         Patch from Michael Biebl <biebl@debian.org>
10250
10251         * po/POTFILES.in
10252           po/POTFILES.skip
10253                 - Update for vpn-properties move
10254
10255 2007-08-13  Dan Williams  <dcbw@redhat.com>
10256
10257         * libnm-glib/nm-client.c
10258                 - Convert internal VPN connection tracking from a list to a hash table
10259                         to easily avoid duplicates
10260                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10261                         must be freed by the caller, like nm_client_get_devices()
10262                 - (nm_client_remove_vpn_connection): don't let the removal signal
10263                         leak through for NMVPNConnection objects that aren't actually
10264                         tracked.
10265                 - (manager_running): throw away VPN connection list when NM goes away,
10266                         like with the device list
10267
10268 2007-08-13  Dan Williams  <dcbw@redhat.com>
10269
10270         * src/dhcp-manager/nm-dhcp-manager.c
10271                 - Stop any dhclient instance that might be already running for a
10272                         particular interface before starting an NM spawned dhclient.  Fixes
10273                         dhclient processes left over if NM crashes, stuff like that.
10274
10275 2007-08-13  Dan Williams  <dcbw@redhat.com>
10276
10277         * src/NetworkManagerAP.c
10278                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10279                         when the AP wasn't broadcasting it's SSID
10280
10281 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10282
10283         * include/NetworkManager.h: added DBus path for connection settings.
10284
10285         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10286         nm_connection_settings_signal_updated,
10287         nm_connection_settings_signal_removed): new functions to wrap the
10288         objects' signals.
10289         (nm_connection_settings_init): register GObject with DBus.
10290         (nm_connection_settings_get_dbus_object_path): new function.
10291
10292         * libnm-glib/Makefile.am: added libnmutil to link flags.
10293
10294 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10295
10296         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10297
10298         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10299         libnm_glib directory got merged with libnm-glib/.
10300
10301         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10302
10303         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10304         Rename the library from libnm-glib to libnm_glib to maintain the library API
10305         compatibility with 0.6 branch.
10306
10307         * Makefile.am: Remove gnome/ SUBDIR.
10308
10309         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10310
10311         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10312
10313         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10314
10315         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10316         anymore.
10317         Remove checks for wpa_supplicant binary, it's used over dbus.
10318         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10319
10320         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10321         Link the binaries with libnm_glib.la.
10322
10323 2007-08-12  Dan Williams  <dcbw@redhat.com>
10324
10325         * src/NetworkManagerPolicy.c
10326                 - (nm_policy_device_change_check): fix policy to deactivate old device
10327                         before activating new one, at least until the multiple active
10328                         device support lands
10329
10330 2007-08-12  Dan Williams  <dcbw@redhat.com>
10331
10332         * src/NetworkManagerPolicy.c
10333                 - (nm_policy_new): hook up to connection-added / connection-removed
10334                         signals instead of connections-changed
10335
10336 2007-08-12  Dan Williams  <dcbw@redhat.com>
10337
10338         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10339         Robert Frank <rfrank@redhat.com>
10340
10341         * src/dhcp-manager/nm-dhcp-manager.c
10342           src/dhcp-manager/nm-dhcp-manager.c
10343           src/nm-device.c
10344                 - Spawn and communicate with dhclient directly, through means of a
10345                 custom dhclient callout script.  Process callout D-Bus signals
10346                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10347                 sent via gobject signals rather than being driven by the dhcp manager
10348                 directly.
10349
10350 2007-08-12  Dan Williams  <dcbw@redhat.com>
10351
10352         * callouts/nm-dhcp-client-action.c
10353                 - (build_message): ignore non-DHCP-related environment variables
10354
10355 2007-08-12  Dan Williams  <dcbw@redhat.com>
10356
10357         * Makefile.am
10358           configure.in
10359           callouts/Makefile.am
10360           callouts/nm-dhcp-client-action.c
10361           callouts/nm-dhcp-client.conf
10362                 - Add dhclient-executed callout that takes the place of dhclient-script
10363                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10364                 NM then listens for
10365
10366 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10367
10368         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10369
10370         * libnm-glib/nm-client.h:
10371         * libnm-glib/nm-object.h:
10372         * libnm-glib/nm-vpn-connection.h:
10373         * libnm-glib/nm-settings.h:
10374         * libnm-glib/nm-device.h:
10375         * libnm-glib/nm-ip4-config.h:
10376         * libnm-glib/nm-access-point.h:
10377         * libnm-glib/nm-device-802-3-ethernet.h:
10378         * libnm-util/nm-setting.h: 
10379         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10380
10381         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10382
10383         * libnm-glib/nm-access-point.c: Strength has type char.
10384
10385         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10386         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10387
10388         * introspection/nm-access-point.xml: Strength property is char, not int.
10389
10390         * src/NetworkManagerAP.c (set_property): Set strength from char.
10391         (get_property): Handle hidden APs (with empty SSID).
10392         Get strength value from char.
10393         (nm_ap_class_init): Strength property has char type.
10394
10395 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10396
10397         * introspection/Makefile.am:
10398         * introspection/nm-settings.xml:
10399         * introspection/nm-settings-connection.xml: added Settings interfaces.
10400
10401         * libnm-glib/nm-settings.[ch]:
10402         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10403         containing the DBus implementation.
10404
10405 2007-07-26  Dan Williams  <dcbw@redhat.com>
10406
10407         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10408
10409         * src/NetworkManagerSystem.c
10410                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10411                         same subnet (#437396)
10412
10413 2007-07-26  Dan Williams  <dcbw@redhat.com>
10414
10415         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10416
10417         * gnome/vpn-properties/nm-vpn-properties.c
10418                 - Fix translatable strings (#445865)
10419
10420 2007-07-26  Dan Williams  <dcbw@redhat.com>
10421
10422         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10423
10424         * configure.in
10425                 - Remove useless junk (#412530)
10426
10427 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10428
10429         Patch from Robert Buchholz <rbu@gentoo.org>:
10430
10431         * configure.in:
10432         * Makefile.am:
10433         * introspection/Makefile.am:
10434         Make make distcheck work again.
10435
10436 2007-06-27  Dan Williams  <dcbw@redhat.com>
10437
10438         * Make SSIDs GByteArrays everywhere
10439         * Rename "essid" -> "ssid" everywhere that's appropriate
10440         * Refcount activation_ap member of the 802.11 wireless device class
10441
10442 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10443
10444         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10445
10446 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10447
10448         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10449         that we got a new AP when we just update existing AP properties.
10450
10451 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10452
10453         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10454
10455         * nm-utils.[ch]: Remove.
10456
10457         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10458         objects for easy property access and dbus connection handling.
10459
10460         * libnm-glib/nm-client.c: Derive from NMObject.
10461
10462         * libnm-glib/nm-device.c: Ditto.
10463
10464         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10465
10466         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10467
10468         * libnm-glib/nm-ip4-config.c: Ditto.
10469
10470         * libnm-glib/nm-access-point.c: Ditto.
10471
10472         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10473         comparision. Currently used by the device activation code to determine if the new
10474         activation is the same as the old one.
10475
10476         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10477         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10478         able to ask password for the AP.
10479
10480         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10481         up if the device is already connected, tear down it's connection (if it isn't the
10482         same as new one) and start the activation.
10483
10484         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10485
10486         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10487         the issue where all APs are always listed as encrypted.
10488
10489         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10490         their own registered paths.
10491
10492         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10493         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10494
10495 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10496
10497         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10498         (0 & 0 == 0, doh)
10499
10500         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10501         because the handling code will cause the next state change and signal listeners
10502         get the signals in wrong order.
10503
10504         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10505         correctly in case of pending activation.
10506
10507         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10508         Convert the essid byte array to string correctly, including the terminating NULL.
10509
10510         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10511         mode with correct types.
10512
10513         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10514         constructed info to dbus call instead of the activation request.
10515
10516 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10517
10518         Patch from Christian Persch <chpe@gnome.org>
10519
10520         * libnm-glib/Makefile.am:
10521         * dispatcher-daemon/Makefile.am:
10522         Use the correct variables, the correct paths, and correct ordering. (446315)
10523
10524 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10525
10526         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10527         argument. The activation request is easy to retrieve.
10528
10529         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10530         just to be a convenient location for devices to store random stuff.
10531
10532 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10533
10534         Patch from Alex Smith <alex@alex-smith.me.uk>
10535
10536         * src/backends/NetworkManagerFrugalware.c:
10537         Update the FrugalWare backend to fix a few segfaults. (#392642)
10538
10539 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10540
10541         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10542
10543         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10544         setting.
10545         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10546
10547 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10548
10549         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10550         automagically.
10551         Implement NMSettingIP4Config.
10552         Finish NMSettingWired by adding all known members.
10553         (setting_wired_verify): Implement.
10554         Finish NMSettingWireless by adding all known members.
10555         (setting_wireless_verify): Implement.
10556
10557         * libnm-util/nm-connection.c: Register "ipv4" setting.
10558         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10559         dump function, we can introspect the GHashTable which is used for sending connections
10560         over dbus.
10561
10562         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10563         Take GByteArray for essid, it's really not a string.
10564
10565         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10566         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10567         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10568         means overriding the values we got from DHCP.
10569         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10570         (nm_device_deactivate_quickly): Ditto.
10571
10572         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10573         for debugging.
10574
10575 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10576
10577         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10578         NMConnection.
10579
10580         * libnm-glib/nm-device-802-11-wireless.c:
10581         (nm_device_802_3_ethernet_activate): Remove.
10582
10583         * libnm-glib/nm-device-802-3-ethernet.c
10584         (nm_device_802_3_ethernet_activate): Remove.
10585
10586         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10587
10588         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10589         NMConnection.
10590
10591         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10592         activation has started.
10593         Implement the new activation using NMConnection.
10594
10595         * src/nm-activation-request.c: Store a generic connection object instead
10596         of a wireless-specific AP.
10597
10598         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10599         on device type, create a device specific connection object suitable for
10600         device activation.
10601
10602         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10603         specific check to validate the connection and on success start the
10604         activation.
10605
10606         * src/nm-device-interface.h: Add a activate virtual function to the
10607         interface definition.
10608
10609         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10610         (impl_device_activate): Implement.
10611
10612         * introspection/nm-device.xml: Add a generic device activation interface
10613         that accepts an abstract NMConnection structure that has device-specific
10614         information in it.
10615
10616         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10617         activation interface.
10618
10619         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10620         activation interface.
10621
10622         * libnm-util/nm-connection.c: 
10623         * libnm-util/nm-connection.h: 
10624         * libnm-util/nm-setting.c:
10625         * libnm-util/nm-setting.h: Add.
10626
10627         * libnm-util/Makefile.am: Build the added files.
10628
10629         * src/nm-dbus-manager.c
10630         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10631         DbusConnection argument from 'name-owner-changed' signal. The manager
10632         is already passed as a first argument to the signal and the connection
10633         is easy enough to get from it.
10634
10635         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10636         Update the signature of the function.
10637
10638         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10639         Ditto.
10640
10641         * src/NetworkManager.c: Ditto.
10642
10643         * src/named-manager/nm-named-manager.c
10644         (nm_named_manager_name_owner_changed): Ditto.
10645
10646         * src/supplicant-manager/nm-supplicant-manager.c
10647         (nm_supplicant_manager_name_owner_changed): Ditto.
10648
10649         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10650
10651         * src/dhcp-manager/nm-dhcp-manager.c
10652         (nm_dhcp_manager_name_owner_changed): Ditto.
10653
10654         * src/nm-hal-manager.c: Add a list of device detectors and creators
10655         to make it easier to add new devices. Each device type has it's own
10656         entry in the table so adding new device types is only a matter of
10657         implementing a couple of functions, one for device detection and the
10658         other for device creation.
10659
10660 2007-04-25  Dan Williams  <dcbw@redhat.com>
10661
10662         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10663                 (gnome.org #432401)
10664
10665 2007-03-30  Dan Williams  <dcbw@redhat.com>
10666
10667         * src/NetworkManagerSystem.c
10668                 - (nm_system_device_set_ip4_route): clean up and fix argument
10669                         to nm_dev_sock_open()
10670
10671 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10672
10673         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10674         data to correct types instead of always using string.
10675
10676         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10677         _not_ have NM_802_11_CAP_PROTO_NONE.
10678         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10679         is not set.
10680
10681 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10682
10683         * libnm-glib/Makefile.am: Fix the build issue.
10684
10685 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10686
10687         * libnm-glib/nm-vpn-connection.h: 
10688         * libnm-glib/nm-vpn-connection.c: Implement.
10689
10690         * libnm-glib/nm-client.c: Add VPN support.
10691
10692         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10693         handler for VPN.
10694
10695         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10696         on DBUS again.
10697
10698 2007-03-26  Dan Williams  <dcbw@redhat.com>
10699
10700         * src/NetworkManagerAPList.c
10701         * src/nm-device-802-11-wireless.c
10702         * src/NetworkManagerAP.c:
10703                 - Store last seen as glong instead of GTimeVal.
10704                 - Fix the upper bound of capabilities, it's a bitfield.
10705
10706 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10707
10708         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10709
10710         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10711         "manager-running" signal that notifies the appearance/disappearance of NM.
10712         (nm_client_sleep): Implement.
10713
10714         * libnm-glib/nm-device.c:
10715         * libnm-glib/nm-device-802-11-wireless.c: 
10716         * libnm-glib/nm-device-802-3-ethernet.c: 
10717
10718         Don't inherit from DBusGProxy, add a proxy to private
10719         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10720         for anything but their own dbus interface. DBusGProxy objects support only one
10721         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10722         interface. The nice side effect of this change is that we do not create a new
10723         DBusGProxy object for each property access.
10724
10725 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10726
10727         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10728         with zeroes before passing them to functions - the functions never do that and
10729         reading the values back may produce wrong values.
10730         (real_bring_up): Store the signal handler id ...
10731         (real_bring_down): ... So that it can be removed here.
10732         Disconnect the supplicant interface here as well.
10733         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10734         from the access point instead of old $device/Networks/$essid.
10735
10736         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10737         device state is connected (instead of just having link/carrier).
10738
10739         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10740         already easily accessible through the device.
10741
10742         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10743         store it within the object.
10744         (nm_ap_get_dbus_path): Export it to public as well.
10745
10746         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10747         of the singleton.
10748
10749 2007-03-12  Dan Williams  <dcbw@redhat.com>
10750
10751         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10752         for non-carrier-detect capable devices, and useless for carrier-detect
10753         devices since we get notifications from netlink about carrier status anyway.
10754
10755         * src/nm-device-802-3-ethernet.c
10756                 - remove 'link_source_id' member from private data
10757                 - (probe_link): remove and collapse into real_update_link()
10758                 - (nm_device_802_3_periodic_update): remove
10759                 - (real_is_up): check for sup_iface rather than link_source_id
10760                 - (real_bring_up): return gboolean for success/fail; require that
10761                         sup_iface be valid for device bringup to succeed
10762                 - (real_bring_down): zero out link signal ids
10763
10764         * src/nm-device.c
10765                 - (nm_device_activate_stage2_device_config): fail activation if device
10766                         bringup fails
10767                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10768                         fails
10769                 - (nm_device_bring_up): return success/fail
10770
10771         * src/nm-device.h
10772                 - bring_up now returns success/fail
10773
10774         * src/nm-device-802-11-wireless.c
10775                 - (real_bring_up): return success from bringup
10776
10777 2007-03-07  Dan Williams  <dcbw@redhat.com>
10778
10779         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10780         * src/nm-ap-security-wpa-psk.c
10781                 - (real_write_supplicant_config): work with PSKs that may contain
10782                         zeros in the binary format rather than treating it as a string
10783
10784 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10785
10786         * libnm-glib/nm-device-802-11-wireless.c
10787         (nm_device_802_11_wireless_get_capabilities): Implement.
10788
10789         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10790
10791         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10792
10793         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10794         reply only if it's not NULL. Not sure why this started happening right now.
10795
10796         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10797         code paths for when devices get removed on shutdown or when a device is just
10798         removed.
10799         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10800         gets freed so any signal from a device (disconnected for instance) would invoke
10801         NMState update which would crash.
10802         (nm_manager_remove_device): Bring the device down when it gets removed.
10803
10804         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10805         the unused dev_type.
10806
10807         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10808         reference to the added device, NMManager will own it (if it wants).
10809
10810         * test/nm-tool.c: Rewrite using libnm-glib.
10811
10812         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10813         We get signalled when it changes.
10814
10815         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10816         when it changes.
10817
10818         * libnm-glib/nm-device.c: Cache the device state property.
10819
10820         * libnm-glib/nm-access-point.c: Cache the strength property.
10821
10822         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10823         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10824         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10825         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10826         the device is down, activating, or activated (in case of A/B/G cards).
10827         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10828         it's all done through supplicant now.
10829
10830         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10831         counting issues with pending calls which caused leaks and crashes when
10832         interface was removed (now that the interface actually gets removed).
10833
10834         * src/nm-call-store.c: Make a copy of data before running a foreach
10835         with user callback on it - The most common usage pattern is to cancel
10836         (and thus remove) all pending calls with foreach which would modify
10837         the hash table we're iterating over.
10838
10839         * src/nm-manager.c: When a device is added, make sure it is "up". When
10840         it's removed or disabled due to disabling wireless or networking, bring
10841         it down.
10842
10843         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10844
10845         * src/nm-device-802-11-wireless.c: 
10846         * src/nm-device-802-3-ethernet.c: 
10847         * src/nm-device.c:
10848                 - Remove "init" virtual function, all gobjects have a place for that
10849                   already (constructor).
10850                 - Replace "start" virtual function with "bring_up", devices can be
10851                   brought up and down more than just on startup now.
10852                 - Add "is_up" virtual function.
10853                 - Implement one way to bring a device down instead of previous 4 different
10854                   ways, each of witch did something different.
10855
10856         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10857         all it needs is the device interface.
10858
10859         Get rid of NMData.dev_list (3 members to go).
10860         Get rif of NMData in a lot of places.
10861
10862         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10863
10864 2007-02-23  Dan Williams  <dcbw@redhat.com>
10865
10866         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10867
10868         * src/NetworkManagerAP.c
10869                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10870                         OR-ing rather than AND-ing
10871
10872 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10873
10874         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10875         "network-removed" signals.
10876
10877         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10878
10879         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10880         when receiving the signal from dbus.
10881
10882         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10883         property.
10884
10885         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10886         deactivation of the previously activated device working again.
10887
10888         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10889         and setter.
10890
10891         * src/nm-device.c (nm_device_is_activated): Remove.
10892         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10893
10894         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10895         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10896         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10897         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10898         Remove NMNetworkStatus and NMActStage enums.
10899
10900 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10901
10902         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10903         Handle device state changes and disconnect VPN if it's device deactivates.
10904
10905         * src/nm-dbus-nm.c: 
10906         * src/nm-dbus-nm.h: 
10907         * src/nm-dbus-device.c: 
10908         * src/nm-dbus-device.c: 
10909         * src/nm-dbus-net.c: 
10910         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10911
10912         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10913
10914         * src/nm-device.c (nm_device_get_by_udi):
10915         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10916         implemented in the correct location (NMManager).
10917         Rip out all the test_device stuff.
10918
10919         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10920         failure handlers, it's all done by NMDevice already.
10921
10922         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10923         Remove the iochannel hack to route the unix signals to the main thread since
10924         we're not threaded anymore.
10925
10926         * src/NetworkManagerAP.c: Implement HWAddress property.
10927
10928         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10929         automatically with dbus-glib.
10930
10931         * src/nm-netlink-monitor.c: 
10932         * src/nm-netlink-monitor.h:
10933                 - Move it low in the class hierarchy, don't reference any NM types.
10934                 - Remove private data from the header.
10935                 - Use type safe checks in public API methods.
10936                 - Make it a singleton so we don't have to pass the single reference around.
10937
10938 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10939
10940         * introspection/nm-ip4-config.xml: Implement.
10941
10942         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10943
10944         * libnm-glib/nm-ip4-config.c:
10945         * libnm-glib/nm-ip4-config.c: Implement.
10946
10947         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10948         securities. APs reference security.
10949
10950         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10951         be exported over DBUS.
10952
10953         * src/nm-device-802-3-ethernet.c: Ditto.
10954
10955         * src/NetworkManagerAP.c:
10956         * src/NetworkManagerAP.h:
10957                 - Convert to GObject, export over DBUS.
10958
10959         * src/nm-ip4-config.h:
10960         * src/nm-ip4-config.h:
10961                 - Convert to GObject, export over DBUS.
10962
10963 2007-02-12  Dan Williams  <dcbw@redhat.com>
10964
10965         Patch from Helmut Schaa <hschaa@suse.de>
10966
10967         * vpn-daemons/pptp/configure.in
10968           vpn-daemons/pptp/Makefile.am
10969           vpn-daemons/openvpn/configure.in
10970           vpn-daemons/openvpn/Makefile.am
10971           vpn-daemons/vpnc/configure.in
10972           vpn-daemons/vpnc/Makefile.am
10973                 - Add --without-gnome switch which disables building gnome bits
10974
10975 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10976
10977         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10978
10979         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10980
10981         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10982         'HwAddress'.
10983
10984         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10985
10986         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10987
10988         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10989
10990         * src/:
10991                 - Remove old low-level dbus interface implementations and replace them
10992                   with dbus-glib one.
10993
10994         * configure.in:
10995                 - Require dbus-glib >= 0.72.
10996                 - Plug in new sources to build.
10997
10998         * libnm-glib/:
10999                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
11000                   to make it more convenient to use from GObject based programs.
11001
11002         * introspection/:
11003                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
11004
11005 2007-02-09  Tambet Ingo  <tambet@ximian.com>
11006
11007         * src/nm-device-802-11-wireless.c:
11008                 - Add "network-added" and "network-removed" signals.
11009                 - Use gobject boilerplate macros to define the GObject.
11010                 - Implement wireless device activation.
11011                 - Remove activation_failure_handler and activation_success_handler
11012                   and instead listen on state-changed signals and run the same code
11013                   from there.
11014
11015         * src/nm-device.c:
11016                 - Implment NMDeviceInterface::deactivate.
11017                 - Remove activation_failure_handler and activation_success_handler
11018                   virtual methods. Each device which is interested in these events
11019                   can just listen on it's state changed signals.
11020
11021         * src/NetworkManagerPolicy.c:
11022                 - Move a bit more NMData usage to NMManager.
11023                 - Remove activation scheduling bits.
11024                 - Add listeners for wireless device's "network-added" and
11025                   "network-removed" signals.
11026                 - Listen device changed signals and deactivate currently activated
11027                   device when another device start activating (for now).
11028                 - Remove (nm_policy_schedule_device_change_check): There's never a need
11029                   for calling this, the policy code knows exactly when this should happen,
11030                   by listening on events from NMManager and NMDevices.
11031
11032         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
11033         Implement.
11034
11035         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
11036         method on the specific device instead of going to through policy code
11037         and determining the device type by passed in AP's existance.
11038
11039         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
11040         abstract NMDevice deactivation.
11041
11042 2007-02-08  Tambet Ingo  <tambet@ximian.com>
11043
11044         * src/NetworkManager.c:
11045                 - Set up all the shiny new managers.
11046
11047         * src/NetworkManagerPolicy.c:
11048                 - Add the beginnings of new NMPolicy code. Instead of requireing all
11049                   classes to call into policy code, make the policy code kind of like
11050                   a supervisor that monitors what's going on and drives the whole NM.
11051
11052         * src/nm-hal-manager.c: 
11053         * src/nm-hal-manager.h:
11054                 - Collect all libhal code scattered around NM to this one class.
11055                 - Listen libhal and NMManager events and add/remove devices to
11056                   NMManager.
11057
11058         * src/nm-manager.c:
11059         * src/nm-manager.h:
11060                 - Implment a replacement for NMData. NMData is now officially
11061                 deprecated.
11062
11063 2007-02-05  Tambet Ingo  <tambet@ximian.com>
11064
11065         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
11066         * src/supplicant-manager/nm-supplicant-interface.h
11067         * src/supplicant-manager/nm-supplicant-interface.c
11068         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
11069         argument to boolean from enum.
11070
11071         Make NMDevice abstract class, remove almost all references to it's
11072         subclasses (the last place gets removed with new policy manager). Add
11073         NMDeviceInterface (which NMDevice implements) so that when we have
11074         NMDevice exported over DBUS, there's a common NMDevice interface which
11075         all instances have, plus there's a device specific interface for each
11076         specific type.
11077         Remove functions (nm_device_is_802_3_ethernet) and
11078         (nm_device_is_802_11_wireless). There are already standard GObject macros
11079         for type safe checks.
11080         Use the updated supplican manager API.
11081
11082         * src/nm-device-interface.h: 
11083         * src/nm-device-interface.c: 
11084         * src/nm-call-store.h: 
11085         * src/nm-call-store.c: Implement.
11086
11087         * src/supplicant-manager/nm-supplicant-interface.c:
11088         * src/supplicant-manager/nm-supplicant-interface.h:
11089         * src/supplicant-manager/nm-supplicant-manager.c:
11090         * src/supplicant-manager/nm-supplicant-manager.h:
11091                 - Remove all private data type references from public header files.
11092                 - Remove all references to other NM classes, this class is just a
11093                   proxy between wpa_supplicant and NM so it doesn't have to know
11094                   any internals.
11095                 - Convert to dbus-glib bindings.
11096                 - Type safe checks for public methods' arguments.
11097                 - Store pending DBUS call ids to NMCallStore.
11098
11099         * src/supplicant-manager/nm-supplicant-config.c:
11100                 - Store config values in a GHashTable instead of GSList.
11101
11102         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
11103
11104         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
11105         singleton now.
11106
11107         * src/nm-device.c: Use the new DHCP manager API.
11108
11109         * src/nm-activation-request.c:
11110         * src/nm-activation-request.h:
11111                 - Remove all dhcp related properties and methods.
11112
11113         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11114
11115         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11116
11117         * src/dhcp-manager/nm-dhcp-manager.c:
11118         * src/dhcp-manager/nm-dhcp-manager.h:
11119                 - Convert it to GObject since we need to signal state changes.
11120                 - Remove all references to other NM classes, this class is one
11121                   of the lowest classes in our hierarchy.
11122                 - One less class to use NMActRequest.
11123                 - Make it singleton, one less user of NMData.
11124                 - Remove a couple of sleep() calls.
11125                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11126                   One less class to use the NM's custom tailored signal handlig.
11127
11128         * Makefile.am: Generate marshallers, add them to build.
11129
11130 2007-02-02  Dan Williams  <dcbw@redhat.com>
11131
11132         * configure.in
11133           gnome/Makefile.am
11134           nm-applet.desktop
11135           Makefile.am
11136                 - Remove last bits referencing gnome applet
11137
11138 2007-02-02  Dan Williams  <dcbw@redhat.com>
11139
11140         * src/vpn-manager/nm-vpn-service.c
11141                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11142                         and NBNS server addresses
11143
11144 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11145
11146         * src/nm-dbus-manager.c:
11147         * src/nm-dbus-manager.h:
11148                 - Convert all internal DBUS code to use dbus-glib bindings.
11149                 - Remove GObject properties, we don't need them here.
11150                 - Don't explicitly set things to NULL after freeing, glib is
11151                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11152                 - Make public API argument checks type safe.
11153                 - Remove unnecessary (and wrong) cast to GObject for the first
11154                   argument to g_signal_* calls - The first argument is a gpointer.
11155                 - Export DBusGConnection to other cool classes that (are going to)
11156                   use dbus-glib.
11157
11158 2007-01-26  Dan Williams  <dcbw@redhat.com>
11159
11160         * libnm-util/dbus-dict-helpers.c
11161           libnm-util/dbus-dict-helpers.h
11162                 - Coordinate style with wpa_supplicant version to minimize diff
11163                 - Add uint32 array support
11164                 - (nmu_dbus_dict_append_uint32_array): new function
11165                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11166                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11167                         version; allow adding string array elements individually
11168
11169         * test/libnm-util/test-dbus-dict-helpers.c
11170                 - Test uint32 arrays
11171
11172 2007-01-27  Jürg Billeter  <j@bitron.ch>
11173
11174         * src/backends/NetworkManagerPaldo.c
11175                 - (nm_system_update_dns): clear nscd hosts cache
11176
11177 2007-01-04  Dan Williams  <dcbw@redhat.com>
11178
11179         Threading removal related cleanups:
11180
11181         - Use the glib default main context.  Remove the device main context
11182                 member from NMDevice, and the main_context member from NMData.  Change
11183                 all the idle and timeout scheduler functions to use plain
11184                 g_idle_add() and g_timeout_add().
11185
11186         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11187                 takes an argument; fix that up too.
11188
11189         - Remove all locking, which is useless since we no longer use threads.  For
11190                 example, nm_get_device_by_iface_locked() has been removed.  The global
11191                 device list lock, the AP List lock, and all static locks in
11192                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11193                 in NetworkManagerUtils.c have also been removed.
11194
11195         - Other cleanups in spacing and code style
11196
11197 2007-01-01  Dan Williams  <dcbw@redhat.com>
11198
11199         Found by Bill Moss:
11200
11201         * src/supplicant-manager/nm-supplicant-interface.c
11202                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11203                         the supplicant interface wasn't already disconnected.  Always
11204                         call removeNetwork and disconnect unless the supplicant interface
11205                         is in the DISCONNECTED or INACTIVE state.
11206
11207 2006-12-28  Dan Williams  <dcbw@redhat.com>
11208
11209         Use a single thread for everything.  With the move to wpa_supplicant
11210         and communication over D-Bus, there's no reason for multiple threads.
11211         Almost all of the blocking code has been removed, with one exception in
11212         the DHCP manager and a few in the VPN manager.  This commit removes the
11213         per-device worker thread and fixes activation cancellation in the absence
11214         of threads.  Further removal of thread-related code would be removing
11215         any locking code (like the device list lock) and simplification of logic
11216         around areas of code or data structures that are currently locked.
11217
11218         * autoip.c
11219           dhcp-manager/nm-dhcp-manager.c 
11220           nm-device-802-11-wireless.c
11221           nm-device-802-3-ethernet.c
11222           nm-device.c
11223           nm-device.h
11224                 - Remove usage of multiple threads
11225
11226 2006-12-19  Dan Williams  <dcbw@redhat.com>
11227
11228         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11229         plus a few other patches from wpa_supplicant bugzilla.
11230
11231         * src/Makefile.am
11232           src/NetworkManagerPolicy.c
11233           src/NetworkManagerUtils.c
11234           src/NetworkManagerUtils.h
11235           src/nm-ap-security-leap.c
11236           src/nm-ap-security-wep.c
11237           src/nm-ap-security-wpa-eap.c
11238           src/nm-ap-security-wpa-psk.c
11239           src/nm-ap-security.c
11240           src/nm-ap-security.h
11241           src/nm-device-802-11-wireless.c
11242           src/nm-device-802-11-wireless.h
11243           src/supplicant-manager/nm-supplicant-config.c
11244           src/supplicant-manager/nm-supplicant-config.h
11245           src/supplicant-manager/nm-supplicant-interface.c
11246           src/supplicant-manager/nm-supplicant-interface.h
11247           src/supplicant-manager/nm-supplicant-marshal.list
11248           src/supplicant-manager/nm-supplicant-settings-verify.c
11249           src/supplicant-manager/nm-supplicant-settings-verify.h
11250                 - Move all connection management and association handling to
11251                         wpa_supplicant over dbus, rather than spawning a private copy
11252
11253 2006-12-19  Dan Williams  <dcbw@redhat.com>
11254
11255         * src/NetworkManagerPolicy.c
11256                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11257                         better locking of the device change check handler ID.  Incorrect
11258                         locking was causing lost device change requests
11259
11260 2006-12-18  Dan Williams  <dcbw@redhat.com>
11261
11262         * libnm-util/dbus-dict-helpers.c
11263                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11264                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11265                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11266
11267 2006-12-18  Dan Williams  <dcbw@redhat.com>
11268
11269         * gnome/libnm_glib/libnm_glib.c
11270                 - Change dbus_connection_close() -> dbus_connection_unref()
11271
11272 2006-12-11  Dan Williams  <dcbw@redhat.com>
11273
11274         * src/supplicant-manager/nm-supplicant-interface.c
11275                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11276                         wpa_supplicant interface state
11277                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11278                         state before transitioning to READY state
11279
11280 2006-12-04  Dan Williams  <dcbw@redhat.com>
11281
11282         * src/nm-device-802-11-wireless.c
11283                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11284                         odd length of ESSID returned from ieee80211 stack-based drivers
11285
11286 2006-12-04  Dan Williams  <dcbw@redhat.com>
11287
11288         * src/nm-device-802-11-wireless.c
11289                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11290                         IE handling blocks that cause mis-parsing of the IE
11291
11292 2006-12-04  Dan Williams  <dcbw@redhat.com>
11293
11294         * src/nm-device-802-11-wireless.c
11295                 - (init_supplicant_interface): new function; pull supplicant interface
11296                         setup code out into standalone function since it must be called from
11297                         two different places
11298                 - (real_init): sup_mgr is now in private object data; get and track
11299                         the supplicant manager object over the NMDevice subclass' lifetime
11300                         and register a signal handler for its state signals; only try to
11301                         initialize the supplicant interface if the supplicant manager is in
11302                         the IDLE state (and therefore is ready for requests)
11303                 - (request_wireless_scan): reschedule the scan request if (a) there is
11304                         no supplicant interface yet (meaning wpa_supplicant isn't running
11305                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11306                         for requests yet
11307                 - (supplicant_iface_connection_state_cb): new function; stub for
11308                         handling supplicant interface connection state signals
11309                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11310                         comes and goes
11311                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11312                         supplicant manager object that's being tracked starting with this
11313                         commit
11314
11315 2006-12-04  Dan Williams  <dcbw@redhat.com>
11316
11317         * src/supplicant-manager/nm-supplicant-interface.c
11318                 - (nm_supplicant_interface_set_property): track signal handler ID
11319                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11320
11321 2006-12-04  Dan Williams  <dcbw@redhat.com>
11322
11323         * src/supplicant-manager/nm-supplicant-interface.[ch]
11324                 - (nm_supplicant_interface_get_state): new function
11325
11326 2006-12-04  Dan Williams  <dcbw@redhat.com>
11327
11328         * src/supplicant-manager/nm-supplicant-interface.c
11329                 - (bssid_properties_cb): don't treat DBus errors as valid
11330                         scanned AP messages
11331
11332 2006-12-04  Dan Williams  <dcbw@redhat.com>
11333
11334         * src/supplicant-manager/nm-supplicant-interface.[ch]
11335                 - (nm_supplicant_interface_get_connection_state): new function
11336                 - define new supplicant connection states
11337                 - send a signal when the supplicant connection state changes
11338
11339 2006-12-03  Dan Williams  <dcbw@redhat.com>
11340
11341         * src/supplicant-manager/Makefile.am
11342           src/supplicant-manager/nm-supplicant-connection.h
11343           src/supplicant-manager/nm-supplicant-connection.c
11344           src/supplicant-manager/nm-supplicant-config.h
11345           src/supplicant-manager/nm-supplicant-config.c
11346           src/supplicant-manager/nm-supplicant-types.h
11347           src/supplicant-manager/nm-supplicant-interface.h
11348           src/supplicant-manager/nm-supplicant-interface.c
11349                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11350
11351 2006-12-03  Dan Williams  <dcbw@redhat.com>
11352
11353         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11354
11355         * po/POTFILES.in
11356           po/POTFILES.skip
11357                 - Move VPN-related translatables to .skip
11358
11359         * vpn-daemons/pptp/po/POTFILES.in
11360                 - Update with new translatables
11361
11362 2006-12-02  Dan Williams  <dcbw@redhat.com>
11363
11364         Patch from Christian Persch <chpe@gnome.org>
11365
11366         * gnome/applet/Makefile.am
11367           gnome/applet/applet-dbus-devices.c
11368           gnome/applet/applet-notifications.c
11369           gnome/applet/applet.c
11370           gnome/applet/applet.h
11371           gnome/applet/main.c
11372                 - Be a GtkStatusIcon on GTK+ >= 2.10
11373
11374 2006-12-02  Dan Williams  <dcbw@redhat.com>
11375
11376         * gnome/applet/applet.c
11377                 - (nma_update_info): fix two unecessary allocations
11378
11379 2006-12-02  Dan Williams  <dcbw@redhat.com>
11380
11381         Patch from Michael Biebl <biebl@teco.edu>
11382         * configure.in
11383           man/NetworkManager.1.in
11384           man/NetworkManagerDispatcher.1.in
11385           man/NetworkManager.8.in
11386           man/NetworkManagerDispatcher.8.in
11387                 - Add .SH NAME stanzas
11388                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11389
11390 2006-12-02  Dan Williams  <dcbw@redhat.com>
11391
11392         Patch from Christian Persch <chpe@gnome.org>
11393
11394         * configure.in
11395                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11396
11397 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11398
11399         Patch by Timo Hoenig <thoenig@suse.de>:
11400         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11401         DBUS-1.0.
11402
11403         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11404         we can't use the one from the main source directory.
11405
11406 2006-11-27  Dan Williams  <dcbw@redhat.com>
11407
11408         Patch from Christian Persch <chpe@gnome.org>
11409
11410         * gnome/applet/applet-dbus-devices.c
11411                 - (hal_info_product_cb): fix memleak; free duped string.
11412                         Gnome.org #379908
11413
11414 2006-11-27  Dan Williams  <dcbw@redhat.com>
11415
11416         Patch from Christian Persch <chpe@gnome.org>
11417
11418         * gnome/applet/menu-items.c
11419                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11420                         as gtk_progress_set_percentage is deprecated.  Should
11421                         work as far back as GTK+ 2.4.  Gnome.org #379780
11422
11423 2006-11-26  Dan Williams  <dcbw@redhat.com>
11424
11425         Scan using wpa_supplicant over DBus.
11426
11427         * src/nm-device-802-11-wireless.c
11428                 - remove wireless extensions netlink event handler bits
11429                         (wireless_event_helper, nm_device_802_11_wireless_event)
11430                 - remove wireless extensions scan event handler bits
11431                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11432                         hex2byte, hex2num, request_and_convert_scan_results,
11433                         free_process_scan_cb_data, scan_results_timeout,
11434                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11435                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11436                         and request scans from the supplicant interface rather than directly
11437                 - Move functionality of convert_scan_results() to cull_scan_list() and
11438                         supplicant_iface_scanned_ap_cb()
11439                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11440                         at the scan interval when the current scan has finished
11441                 - (supplicant_iface_state_cb): start scanning when the supplicant
11442                         interface enters the READY state, and stop scanning when it
11443                         enters the DOWN state
11444                 - (cull_scan_list): weed out old access points from the scan list
11445                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11446                         point into an NMAccessPoint and merge it into the device's scan list
11447
11448         * src/supplicant-manager/nm-supplicant-interface.c
11449           src/supplicant-manager/nm-supplicant-interface.h
11450                 - Add a new signal "scan-result" which is issued when the supplicant
11451                         notifies NM that a scan has completed
11452                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11453                         point found in the scan.  Called once for each access point that
11454                         the supplicant interface object receives from the supplicant as a
11455                         result of the "scanResults" method call
11456                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11457                         for the initial scan results
11458                 - (scan_request_cb): new function; send listeners the result
11459                         (success, error) of a wireless scan request
11460                 - (nm_supplicant_interface_request_scan): new function; ask the
11461                         supplicant to perform an immediate wireless scan
11462
11463 2006-11-25  Dan Williams  <dcbw@redhat.com>
11464
11465         * src/supplicant-manager/Makefile.am
11466                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11467                         add HAL cflags/includes and named-manager includes directory
11468
11469         * src/supplicant-manager/nm-supplicant-interface.h
11470                 - New state STARTING to handle transition from INIT to READY where
11471                         the addInterface pending call is still outstanding
11472
11473         * src/supplicant-manager/nm-supplicant-interface.c
11474                 - track pending calls differently since we may have more than one
11475                         going on at any given time
11476                 - request scan results from wpa_supplicant; but don't do it more often
11477                         than every 4 seconds.  Drivers that do background scanning
11478                         (like the 'ipw' drivers) send a continuous stream of scan completion
11479                         notifications, so we don't want to hammer the supplicant or dbus
11480                         with requests for all scan results every time we get a completion
11481                         notification.
11482
11483 2006-11-25  Dan Williams  <dcbw@redhat.com>
11484
11485         * src/supplicant-manager/nm-supplicant-types.h
11486                 - new file; move all supplicant manager object typedefs here for
11487                         #include sanity
11488
11489         * src/supplicant-manager/nm-supplicant-interface.c
11490           src/supplicant-manager/nm-supplicant-interface.h
11491                 - new file; an object that interfaces an NMDevice object to the
11492                         supplicant and handles signals from the supplicant.  This object
11493                         does all necessary DBus communication with wpa_supplicant.
11494
11495         * src/supplicant-manager/nm-supplicant-manager.c
11496           src/supplicant-manager/nm-supplicant-manager.h
11497                 - Actually do something.  Track the state of the wpa_supplicant service
11498                         and deal with its comings & goings.  Handle life events of
11499                         supplicant interfaces too.
11500                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11501
11502         * src/supplicant-manager/nm-supplicant-connection.h
11503                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11504
11505         * src/supplicant-manager/Makefile.am
11506                 - Add new files to build, and add libnm-util to includes
11507
11508         * src/nm-marshal.list
11509                 - New marshaler type: VOID:UINT,UINT
11510
11511         * src/nm-device-802-3-ethernet.c
11512                 - (real_init): grab a supplicant interface
11513                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11514                 - (supplicant_iface_state_cb): new function, stub for handling
11515                         supplicant interface state changes
11516
11517         * src/nm-device-802-11-wireless.c
11518                 - (real_init): grab a supplicant interface
11519                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11520                 - (supplicant_iface_state_cb): new function, stub for handling
11521                         supplicant interface state changes
11522
11523         * src/NetworkManager.c
11524                 - (main): create and keep the supplicant manager around for the lifetime
11525                         of NetworkManager
11526
11527         * src/Makefile.am
11528                 - Link to the supplicant manager sub-library and use the supplicant
11529                         manager includes
11530
11531 2006-11-25  Dan Williams  <dcbw@redhat.com>
11532
11533         Rework DBus manager signal handling to be more flexible.  Previously,
11534         only one signal handler could be registered for a particular interface.
11535         The DBus manager now reference counts DBus bus matches and allows multiple
11536         clients to register signal handlers for the same interface and sender.
11537
11538         * src/NetworkManager.c
11539                 - (main): track NMI signal handler ID and remove it when we quit
11540
11541         * src/NetworkManagerMain.h
11542                 - Keep track of NMI signal handler ID
11543
11544         * src/nm-dbus-manager.c
11545           src/nm-dbus-manager.h
11546                 - rework signal handling; each signal handler references one signal
11547                         match, but a signal match may be referenced by one or more
11548                         signal handlers.  Matches are refcounted and are destroyed when the
11549                         last signal handler that references the match is removed.  This is
11550                         necessary because two signal handlers may end up requiring the same
11551                         dbus bus match, so the match must live until the last signal handler
11552                         is destroyed (for example, with the wpa_supplicant network interface
11553                         dbus interface).
11554
11555         * src/dhcp-manager/nm-dhcp-manager.c
11556                 - (nm_dhcp_manager_new): track DHCP signal handler id
11557                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11558
11559         * src/vpn-manager/nm-vpn-service.c
11560                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11561                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11562
11563 2006-11-25  Dan Williams  <dcbw@redhat.com>
11564
11565         Suggested by Helmut Schaa <hschaa@suse.de>
11566
11567         * src/vpn-daemons/nm-vpn-service.c
11568                 - (supplicant_child_setup): new function
11569                 - (supplicant_exec): make child process use a new process group id
11570
11571         * src/nm-device-802-11-wireless.c
11572                 - (nm_vpn_service_child_setup): new function
11573                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11574                         process group id
11575
11576 2006-11-19  Dan Williams  <dcbw@redhat.com>
11577
11578         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11579         * gnome/vpn-properties/nm-vpn-properties.c
11580                 - clean up after renamed VPN connection
11581
11582 2006-11-19  Dan Williams  <dcbw@redhat.com>
11583
11584         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11585         * gnome/applet/applet-dbus-vpn.c
11586                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11587
11588         * gnome/vpn-properties/nm-vpn-properties.c
11589                 - (init_app): sort VPN connections
11590
11591 2006-11-09  Dan Williams  <dcbw@redhat.com>
11592
11593         * src/NetworkManagerAPList.c
11594                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11595                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11596                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11597                 broke hidden SSID matching.  Found by Bill Moss.
11598
11599 2006-10-25  Dan Williams  <dcbw@redhat.com>
11600
11601         * src/nm-dbus-nm.c
11602                 - (nm_dbus_nm_set_active_device): return an empty success message on
11603                         success, rather than falling through to the error case.
11604
11605 2006-10-25  Dan Williams  <dcbw@redhat.com>
11606
11607         * src/NetworkManagerUtils.c
11608                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11609                         "SCAN" command
11610
11611 2006-10-24  Dan Williams  <dcbw@redhat.com>
11612
11613         Reduce the number of times the Gnome applet wakes up, especially when
11614         it's doing absolutely nothing and is hidden.  Initial patch by
11615         Chris Aillon.
11616
11617         * gnome/applet/applet-dbus.c
11618                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11619                         kill the redraw timeout.  When NM starts up, start the redraw
11620                         timeout.  Also, if we get kicked off the bus for some reason,
11621                         start the reconnection timeout if one's not already running.
11622                 - (nma_dbus_init): better handling of error conditions, don't leak
11623                         a half-initialized dbus connection
11624                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11625                         the applet's data, just call nm_dbus_init_helper()
11626                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11627                         timeout that calls nma_dbus_connection_watcher()
11628                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11629                         reconnection timeout, and don't start the reconnection timeout
11630                         unconditionally anymore
11631
11632         * gnome/applet/applet-dbus.h
11633                 - Expose nma_start_dbus_connection_watch()
11634
11635         * gnome/applet/applet.c
11636                 - (nma_update_state): no longer static, called from applet-dbus.c for
11637                         immediate UI updates on certain events
11638                 - (nma_set_running): new function; take over setting applet->running,
11639                         when not running (ie, NM is not active), don't activate the redraw
11640                         timeout because we're not showing the applet anyway.  When we are
11641                         running (ie, NM is active), and only when we're running, start the
11642                         redraw timeout.
11643                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11644                         kill any reconnection timeout
11645                 - (nma_get_instance): move one-off dbus initialization code here since
11646                         nm_dbus_init_helper() gets called more than once, possibly by the
11647                         reconnection timeout function too.  And, when we start up, if we
11648                         can't get a connection to the bus, start the reconnection timeout.
11649                         But don't start the redraw timeout yet, only do that when we get
11650                         NM's state and find out if it's running or not.
11651
11652         * gnome/applet/applet.h
11653                 - Add the reconnection GSource ID
11654                 - Add prototypes for nma_set_running() and the no-longer-static
11655                         nma_update_state()
11656
11657 2006-10-24  Dan Williams  <dcbw@redhat.com>
11658
11659         * src/vpn-daemons/nm-dbus-vpnc.c
11660                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11661                         pending call tracker
11662                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11663                         pending call tracker; register one-vpn-connection update pending
11664                         call in pending call tracker
11665                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11666                         update pending call in pending call tracker
11667                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11668                         update pending call in pending call tracker; don't block waiting
11669                         for call to return
11670
11671 2006-10-19  Robert Love  <rml@novell.com>
11672
11673         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11674           refresh the cache.
11675
11676 2006-10-14  Dan Williams  <dcbw@redhat.com>
11677
11678         * src/dhcp-manager/nm-dhcp-manager.c
11679                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11680                 the dbus connection and the device object path rather than
11681                 constructing it inside both functions.  Saves a bit of memory
11682                 and clarifies a failure path.
11683                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11684                 and allocate device path here rather than each of the two
11685                 functions above.
11686
11687 2006-10-13  Dan Williams  <dcbw@redhat.com>
11688
11689         * src/NetworkManager.c
11690                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11691                 this somehow droppout in the refactor
11692
11693 2006-10-13  Dan Williams  <dcbw@redhat.com>
11694
11695         * Huge DBus refactor:
11696                 - Create a "DBus Manager" object which manages the connection and
11697                 sends signals on NameOwnerChanged and connection/disconnection events,
11698                 handles reconnection to the bus if NM gets kicked off, and abstracts
11699                 signal handling
11700                 - Remove DBusConnection members from places where they are no
11701                 longer needed due to the refactor, like the dbus-connection
11702                 property of the named manager, and from NMData
11703                 - Reformats a bunch of the code to gnome style
11704                 (8-space tabs, braces on same line as statement, 80-col width).
11705                 Consider it open season to reformat any bits to gnome style.
11706                 style that aren't already.
11707
11708 2006-10-13  Dan Williams  <dcbw@redhat.com>
11709
11710         * src/supplicant-manager/Makefile.am
11711                 - Add new files
11712
11713         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11714                 - Make it a minimal GObject
11715
11716         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11717                 - Verify settings destined for wpa_supplicant
11718
11719         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11720                 - Minimal GObject to track wpa_supplicant controlled device
11721                 connections
11722
11723 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11724
11725         * gnome/applet/applet.c: (nma_update_info),
11726         (nma_act_stage_to_pixbuf), (nma_update_state):
11727         Mark missing strings for translation. Fixes bug #343306.
11728
11729 2006-10-01  Dan Williams  <dcbw@redhat.com>
11730
11731         * src/vpn-manager/nm-vpn-manager.c
11732                 - (nm_vpn_manager_load_services): split and clean up
11733                 for readability and correctness.  Restrict VPN service
11734                 files to ending in ".name", as was meant from the
11735                 beginning (but not coded in).  Better error reporting.
11736
11737 2006-10-01  Dan Williams  <dcbw@redhat.com>
11738
11739         * utils/nm-utils.h
11740                 - Clean up formatting of debug/info/warning log messages
11741
11742 2006-09-27  Robert Love  <rml@novell.com>
11743
11744         Patch by Tambet Ingo <tambet@ximian.com>:
11745         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11746           actually work.
11747
11748 2006-09-07  Dan Williams <dcbw@redhat.com>
11749
11750         * test/Makefile.am
11751           test/libnm-util/Makefile.am
11752           test/nm-supplicant-test.c
11753                 - Add test program emulating the way NM drives wpa_supplicant
11754                 to help debug supplicant issues
11755
11756 2006-08-24  Dan Williams <dcbw@redhat.com>
11757
11758         * configure.in
11759           src/Makefile.am
11760           src/supplicant-manager/Makefile.am
11761           src/supplicant-manager/nm-supplicant-manager.c
11762           src/supplicant-manager/nm-supplicant-manager.h
11763                 - Add skeleton bits of the wpa_supplicant manager
11764
11765 2006-08-24  Dan Williams <dcbw@redhat.com>
11766
11767         Patch from Ed Catmur:
11768         * src/NetworkManagerUtils.c
11769                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11770                 if netmask is 0 (Gnome #352634)
11771
11772 2006-08-17  Robert Love  <rml@novell.com>
11773
11774         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11775           package is now DBUS-enabled and listens for the NM signals.
11776
11777 2006-08-14  Dan Williams  <dcbw@redhat.com>
11778
11779         * Patch from Christian Persch <chpe gnome org>
11780         * configure.in
11781           po/LINGUAS
11782           vpn-daemons/openvpn/po/LINGUAS
11783           vpn-daemons/openvpn/configure.in
11784           vpn-daemons/pptp/po/LINGUAS
11785           vpn-daemons/pptp/configure.in
11786           vpn-daemons/vpnc/po/LINGUAS
11787           vpn-daemons/vpnc/configure.in
11788                 - Convert to LINGUAS method so translators don't have to modify
11789                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11790                 0.35 or higher
11791
11792 2006-08-14  Dan Williams  <dcbw@redhat.com>
11793
11794         Patch from Alex Smith <alex.extreme2@gmail.com>
11795         * configure.in
11796           src/backends/Makefile.am
11797           src/backends/NetworkManagerFrugalware.c
11798                 - Add support for Frugalware
11799
11800 2006-08-13  Dan Williams  <dcbw@redhat.com>
11801
11802         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11803         * src/nm-device-802-11-wireless.c
11804                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11805                 Gnome #346875
11806
11807 2006-08-13  Dan Williams  <dcbw@redhat.com>
11808
11809         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11810         * src/nm-ap-security.c
11811           src/nm-ap-security.h
11812                 - Add authentication_required bits for subclasses to specify whether
11813                 or not real authentication is required for connections, i.e. whether
11814                 the AP rejects us when an encryption key is wrong or not.
11815
11816         * src/nm-ap-security-wep.c
11817           src/nm-ap-security-wpa-eap.c
11818           src/nm-ap-security-wpa-psk.c
11819           src/nm-ap-security-leap.c
11820                 - Implement authentication_required appropriately for each method
11821
11822         * src/nm-device-802-11-wireless.c
11823                 - Be smarter about when to request a key; for example, using a wrong key
11824                 in WEP shared key mode previously just timed out and did not request
11825                 a new key
11826
11827 2006-08-13  Dan Williams  <dcbw@redhat.com>
11828
11829         * gnome/libnm_glib/libnm_glib.c
11830                 - dbus_connection_disconnect() -> dbus_connection_close() for
11831                 dbus >= 0.90
11832
11833 2006-08-07  Dan Williams  <dcbw@redhat.com>
11834
11835         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11836         * src/NetworkManagerSystem.c
11837                 - Respect specified MTU.  Gnome #344967
11838
11839 2006-08-07  Dan Williams  <dcbw@redhat.com>
11840
11841         * src/vpn-manager/nm-vpn-service.c
11842                 - Simplify print_vpn_config() arguments
11843
11844         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11845         * src/vpn-manager/Makefile.am
11846           src/vpn-manager/nm-vpn-service.c
11847                 - Add new API for passing VPN config options as a dict. Gnome #344967
11848
11849 2006-08-06  Dan Williams  <dcbw@redhat.com>
11850
11851         * gnome/applet/applet-dbus-devices.c
11852           gnome/applet/applet-dbus-vpn.c
11853           gnome/applet/applet-dbus.c
11854           gnome/applet/applet-dbus.h
11855           src/nm-dbus-nmi.c
11856           utils/nm-utils.c
11857           utils/nm-utils.h
11858                 - Make pending call tracking code generic,
11859                 so we can use it in NM as well as the applet
11860
11861 2006-08-06  Dan Williams  <dcbw@redhat.com>
11862
11863         * src/nm-activation-request.c
11864                 - Refcount pending call objects
11865
11866 2006-08-06  Dan Williams  <dcbw@redhat.com>
11867
11868         Patch from Christan Chiesa <christanc@gmail.com>
11869         * configure.in
11870                 - Tell sha1.c to use bigendian mode on PPC
11871
11872 2006-08-04  Robert Love  <rml@novell.com>
11873
11874         Glib Memory Slices!
11875         * configure.in: Require glib 2.10 or later.
11876         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11877           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11878           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11879           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11880           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11881           Memory Slices are the greatest thing since bread slices.
11882         * src/NetworkManagerAP.c: Also, fix memory leak.
11883
11884 2006-08-01  Robert Love  <rml@novell.com>
11885
11886         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11887
11888 2006-07-31  Robert Love  <rml@novell.com>
11889
11890         * src/backends/interface_parser.c: Declarations must begin the block.
11891
11892 2006-07-24  Dan Williams  <dcbw@redhat.com>
11893
11894         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11895         * src/backends/Makefile.am
11896           src/backends/NetworkManagerArch.c
11897           src/backends/NetworkManagerDebian.c
11898           src/backends/NetworkManagerGeneric.c
11899           src/backends/NetworkManagerGeneric.h
11900           src/backends/NetworkManagerGentoo.c
11901           src/backends/NetworkManagerPaldo.c
11902           src/backends/NetworkManagerRedHat.c
11903           src/backends/NetworkManagerSlackware.c
11904           src/backends/NetworkManagerSuSE.c
11905                 - Genericize common backend functions
11906
11907 2006-07-18  Robert Love  <rml@novell.com>
11908
11909         * configure.in: Add "--with-notify" option to allow disabling of
11910           libnotify support.
11911
11912 2006-07-13  Dan Williams  <dcbw@redhat.com>
11913
11914         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11915         * gnome/applet/applet.glade
11916           gnome/applet/Makefile.am
11917           gnome/applet/nm-gconf-wso.c
11918           gnome/applet/nm-gconf-wso-leap.c
11919           gnome/applet/nm-gconf-wso-leap.h
11920           gnome/applet/wireless-security-manager.c
11921           gnome/applet/wso-leap.c
11922           gnome/applet/wso-leap.h
11923           include/NetworkManager.h
11924           libnm-util/dbus-helpers.c
11925           libnm-util/dbus-helpers.h
11926           src/Makefile.am
11927           src/NetworkManagerAP.c
11928           src/nm-ap-security.c
11929           src/nm-ap-security-leap.c
11930           src/nm-ap-security-leap.h
11931                 - Add LEAP authentication support
11932
11933 2006-07-13  Dan Williams  <dcbw@redhat.com>
11934
11935         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11936         * configure.in
11937           src/backends/NetworkManagerArch.c
11938           src/backends/NetworkManagerDebian.c
11939           src/backends/NetworkManagerGentoo.c
11940           src/backends/NetworkManagerPaldo.c
11941           src/backends/NetworkManagerRedHat.c
11942           src/backends/NetworkManagerSlackware.c
11943           src/backends/NetworkManagerSuSE.c
11944                 - Convert hardcoding of 'ip' path to configure-time
11945                         detected one
11946
11947 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11948
11949         * configure.in: added ru to ALL_LINGUAS
11950
11951 2006-07-10  Dan Williams  <dcbw@redhat.com>
11952
11953         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11954         * src/nm-device.c
11955                 - (real_act_stage3_ip_config_start): don't infinite loop when
11956                         dhcdbd isn't running (Gnome #346845)
11957
11958 2006-07-09  Dan Williams  <dcbw@redhat.com>
11959
11960         * gnome/applet/applet.c
11961                 - (nma_destroy): don't pass NULL to notify_notification_close
11962                         (RH #197917)
11963
11964 2006-07-09  Dan Williams  <dcbw@redhat.com>
11965
11966         * gnome/applet/applet.c
11967                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11968
11969 2006-07-04  Tor Krill  <tor@krill.nu>
11970
11971         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11972         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11973         (nm_system_restart_mdns_responder), (ArchReadConfig),
11974         (nm_system_device_get_system_config):
11975                 - Explicitly check for DHCP configuration
11976                 - Check if daemons are running before starting them
11977
11978 2006-06-25  Dan Williams  <dcbw@redhat.com>
11979
11980         * libnm-util/dbus-dict-helpers.[ch]
11981           test/libnm-util/test-dbus-dict-helpers.c
11982                 - Add string array support
11983
11984 2006-06-24  Dan Williams  <dcbw@redhat.com>
11985
11986         * src/dhcp-manager/nm-dhcp-manager.c
11987                 - (nm_dhcp_manager_process_signal): clean up spacing
11988
11989 2006-06-21  Dan Williams  <dcbw@redhat.com>
11990
11991         * src/nm-dbus-device.c
11992                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11993                         through dbus
11994
11995 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11996
11997         * configure.in: Added 'lv' to ALL_LINGUAS
11998
11999 2006-06-19  Dan Williams  <dcbw@redhat.com>
12000
12001         * src/NetworkManagerAP.c
12002                 - Clarify usage of user_created
12003
12004         * src/nm-ap-security-wep.c
12005           src/nm-ap-security-wpa-eap.c
12006           src/nm-ap-security-wpa-psk.c
12007           src/nm-ap-security.c
12008           src/nm-ap-security.h
12009                 - s/user_created/adhoc, because we really do mean adhoc
12010
12011         Patch from Bernard Blackham <bernard@blackham.com.au>
12012         * src/nm-device-802-11-wireless.c         
12013                 - (supplicant_send_network_config): instead of user_created,
12014                         use adhoc, and do AP_SCAN 2 for adhoc networks
12015
12016 2006-06-18  Robert Love  <rml@novell.com>
12017
12018         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
12019           we have a value to set.  Gconf generates a warning if `val' is NULL.
12020         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
12021           unless we actually received a valid private key file passphrase or
12022           password.  Otherwise, we don't know to later ask the applet to pull
12023           the key from the keyring.
12024
12025 2006-06-17  Dan Williams  <dcbw@redhat.com>
12026
12027         * libnm-util/dbus-dict-helpers.[ch]
12028           test/libnm-util/test-dbus-dict-helpers.c
12029                 - Fixes for zero-length byte arrays
12030                 - Replace return values of 0 with FALSE for clarity
12031                 - Test zero-length byte arrays
12032
12033 2006-06-17  Dan Williams  <dcbw@redhat.com>
12034
12035         * libnm-util/dbus-dict-helpers.[ch]
12036           test/libnm-util/test-dbus-dict-helpers.c
12037                 - Add helpers for byte arrays
12038                 - Rework bits of the testcase
12039
12040 2006-06-16  Dan Williams  <dcbw@redhat.com>
12041
12042         * libnm-util/Makefile.am
12043         * libnm-util/dbus-dict-helpers.[ch]
12044                 - Add some helpers to take the pain out of using dict types in
12045                         dbus.
12046
12047         * test/libnm-util/Makefile.am
12048         * test/libnm-util/test-dbus-dict-helpers.c
12049                 - Test cases for the dict helper functions
12050
12051 2006-06-15  Robert Love  <rml@novell.com>
12052
12053         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
12054           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
12055           if there is no key to pass.
12056         * libnm-util/dbus-helpers.c: Given the above, we can trust always
12057           receiving a non-NULL key.
12058
12059 2006-06-14  Robert Love  <rml@novell.com>
12060
12061         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
12062           copy the strings.
12063
12064
12065 2006-06-14  Dan Williams  <dcbw@redhat.com>
12066
12067         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
12068         * src/nm-device-802-11-wireless.c
12069                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
12070                         or ones where the driver is unknown
12071                 - (supplicant_exec): don't wait for supplicant startup here
12072                 - (supplicant_interface_init): finer grained polling for supplicant
12073                         startup
12074
12075 2006-06-13  Robert Love  <rml@novell.com>
12076
12077         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
12078           if it is currently set to TRUE.  Otherwise, we will reset the value
12079           when we connect normally.
12080         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
12081           the old BSSID is valid, too.  The recently added ESSID check may not be
12082           sufficient (we can remove it?).  What we really want to catch is the
12083           case of going from all-zeros to the BSSID of some other network, which
12084           happens on failure.
12085
12086 2006-06-09  Dan Williams  <dcbw@redhat.com>
12087
12088         * src/NetworkManagerSystem.[ch]
12089                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
12090                         it was unused and pointless
12091                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
12092                         fix for set_up_down_with_iface change
12093
12094         * src/vpn-manager/nm-vpn-connection.c
12095                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
12096
12097         * src/backends/NetworkManagerPaldo.c
12098           src/backends/NetworkManagerRedHat.c
12099           src/backends/NetworkManagerSuSE.c
12100           src/backends/NetworkManagerArch.c
12101           src/backends/NetworkManagerDebian.c
12102           src/backends/NetworkManagerGentoo.c
12103                 - (nm_system_enable_loopback): use set_up_down_with_iface where
12104                         appropriate
12105                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
12106                         where appropriate
12107
12108 2006-06-09  Dan Williams  <dcbw@redhat.com>
12109
12110         Patch from Peter Jones:
12111         * src/nm-device-802-11-wireless.c
12112                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12113                         SSID hasn't changed from what we expect before automatically
12114                         updating the saved BSSID from a new AP
12115
12116 2006-06-08  Robert Love  <rml@novell.com>
12117
12118         Add 'fallback' support.  NetworkManager will attempt to brute-force
12119         connect to networks marked as fallback if there are no better wireless
12120         connections available.  This is useful as a method of last resort, to
12121         work around driver problems, and for use with hidden networks.
12122         * gnome/applet/applet-dbus-devices.c,
12123           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12124         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12125           pass it on via DBUS.
12126         * gnome/applet/applet.c: No fallback by default.
12127         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12128           Update other-network-dialog to add UI checkbox toggling fallback.
12129         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12130           propery from AP object.  Add "fallback" property to AP object.
12131         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12132         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12133         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12134           separate function.  Add get_best_fallback_ap() for returning an AP
12135           on which to attempt fallback.
12136         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12137         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12138
12139 2006-06-07  Robert Love  <rml@novell.com>
12140
12141         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12142           checked that the return type was GCONF_VALUE_STRING, not the correct
12143           GCONF_VALUE_BOOL, and thus it never worked.
12144         * src/NetworkManagerAPList.c: Before concluding that two networks are
12145           identical based on their BSSID, make sure that the BSSID in question
12146           is actually valid.  Specifically, an empty or all zero BSSID does not
12147           cut it.
12148         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12149           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12150           similar invariant clean up.
12151
12152 2006-06-02  Robert Love  <rml@novell.com>
12153
12154         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12155
12156 2006-05-28  Dan Williams  <dcbw@redhat.com>
12157
12158         * gnome/applet/applet.glade
12159           gnome/vpn-properties/nm-vpn-properties.glade
12160                 - Set window icons on dialogs  (Gnome.org #333420)
12161
12162 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12163
12164         * gnome/vpn-properties/nm-vpn-properties.glade:
12165         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12166         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12167         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12168                 - Make the VPN properties pages prettier and more HIG
12169                   compliant. Gnome Bug #336913.
12170
12171 2006-05-28  Dan Williams  <dcbw@redhat.com>
12172
12173         Patch from Christian Persch <chpe@gnome.org>
12174         * gnome/vpn-properties/nm-vpn-properties.c
12175         * gnome/vpn-properties/nm-vpn-properties.glade
12176                 - HIG-ification love  (Gnome.org #336846)
12177
12178 2006-05-28  Dan Williams  <dcbw@redhat.com>
12179
12180         Patch from Christian Persch <chpe@gnome.org>
12181         * configure.in
12182           gnome/vpn-properties/nm-vpn-properties.c
12183                 - (main): Fix option parsing.  Gnome.org #336847
12184
12185 2006-05-28  Dan Williams  <dcbw@redhat.com>
12186
12187         * gnome/vpn-properties/nm-vpn-properties.c
12188                 - (find_vpn_ui_by_service_name): protect against NULL service names
12189                 - (update_edit_del_sensitivity): protect against NULL service names
12190                         Gnome.org #341306
12191
12192 2006-05-28  Dan Williams  <dcbw@redhat.com>
12193
12194         Patch from Chris Fuller <crf@grandecom.net>:
12195         * src/nm-device-802-11-wireless.c
12196                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12197                         don't dispose of wireless-specific stuff unless it is actually
12198                         initialized.  Gnome.org #341263
12199
12200 2006-05-28  Dan Williams  <dcbw@redhat.com>
12201
12202         * src/NetworkManagerPolicy.c
12203                 - (nm_policy_device_change_check): don't switch devices if the "best"
12204                         AP is essentially the same as the current activation request, but
12205                         the current activation request isn't done activating yet.  Fixes
12206                         multiple requests for keyring password on startup for Gnome applet.
12207                         Gnome.org #341297
12208
12209 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12210
12211         * src/NetworkManager.c: use GOptions instead of getopt
12212         * configure.in: bump glib required version to >= 2.6 for GOption
12213           support
12214
12215 2006-05-25  Robert Love  <rml@novell.com>
12216
12217         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12218           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12219           instead of dumping ifdef's throughout the code.
12220         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12221           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12222           use nm_ioctl_info() in lieu.
12223
12224 2006-05-25  Robert Love  <rml@novell.com>
12225
12226         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12227         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12228           not using gcrypt.  Otherwise, we get a linker error.
12229
12230 2006-05-25  Robert Love  <rml@novell.com>
12231
12232         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12233         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12234           configure flag to disable building of the GNOME-based applet.
12235
12236 2006-05-25  Robert Love  <rml@novell.com>
12237
12238         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12239           parameter from link, because it shadows a global variable with some
12240           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12241           should never have exported to the entire system a common four letter
12242           word.  But we here at NetworkManager are team players.  Fixes
12243           GNOME bug #336532.
12244
12245 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12246
12247         * configure.in: Added mk.po, Macedonian translation.
12248
12249 2006-05-24  Robert Love  <rml@novell.com>
12250
12251         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12252           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12253           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12254
12255 2006-05-24  Robert Love  <rml@novell.com>
12256
12257         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12258           libnm-util/Makefile.am, src/Makefile.am,
12259           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12260           vpn-daemons/openvpn/properties/Makefile.am,
12261           vpn-daemons/pptp/auth-dialog/Makefile.am,
12262           vpn-daemons/pptp/properties/Makefile.am,
12263           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12264           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12265           user passed for --datadir, if anything, when setting the GNOME locale
12266           directory.  It should be a function of the specified datadir and not
12267           the prefix.
12268
12269 2006-05-24  Robert Love  <rml@novell.com>
12270
12271         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12272           src/NetworkManager.c: Take care to call bindtextdomain with the
12273           location of msgid files.
12274         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12275           files.
12276
12277 2006-05-22  Robert Love  <rml@novell.com>
12278
12279         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12280           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12281           99% of the time there is a real problem with wireless, and a
12282           seemingly successful connection via Zeroconf just confuses the user.
12283           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12284
12285 2006-05-22  Robert Love  <rml@novell.com>
12286
12287         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12288           autofs on interface up if NIS is configured.  On interface down, do
12289           nothing.
12290
12291 2006-05-22  Robert Love  <rml@novell.com>
12292
12293         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12294           to avoid calling g_object_unref() on stale pointers on error in
12295           nma_icons_free().  This happens because we short-circuit loaded the
12296           icons on the first failure but then free all icons.  Normally we have
12297           no issue because the icons were zero'ed out malloc, but we have stale
12298           pointer data after nma_icon_theme_changed().
12299         * gnome/applet/main.c: Return error code if nma_new() failed.
12300
12301 2060-05-21  Dan Williams  <dcbw@redhat.com>
12302
12303         * initscript/NetworkManager.in
12304                 - Ensure both dhcdbd and named are started before NM
12305
12306 2006-05-21  Dan Williams  <dcbw@redhat.com>
12307
12308         * configure.in
12309                 - Bump version to 0.7 to signify we are in 0.7 development
12310
12311 2006-05-21  Dan Williams  <dcbw@redhat.com>
12312
12313         Patch from Adam Schreiber <sadam@clemson.edu>
12314         * gnome/vpn-properties/nm-vpn-properties.c
12315                 - (main): correct Gnome program name  (gnome.org #342498)
12316
12317 2006-05-21  Dan Williams  <dcbw@redhat.com>
12318
12319         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12320
12321         * src/NetworkManagerDbus.[ch]
12322                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12323                         clarify that function's argument should be an escaped dbus object
12324                         path, and look for path segment end before returning a match
12325         * src/nm-dbus-nm.c:
12326                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12327
12328 2006-05-17  Robert Love  <rml@novell.com>
12329
12330         Functionality to differentiate Ad-Hoc networks from infrastructure
12331         networks in the applet, by displaying a special icon:
12332         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12333         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12334         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12335           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12336           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12337           networks, encrypted or not.
12338         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12339           accessor functions to get and set the mode of a given network,
12340           wireless_network_get_mode() and wireless_network_set_mode().
12341
12342 2006-05-17  Robert Love  <rml@novell.com>
12343
12344         Functionality to automatically add BSSIDs to the allowed-MAC list as
12345         one roams from access point to access point on a given network:
12346         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12347           helper function to compare two ether_addr structures and return TRUE
12348           if they contain the same MAC address.
12349         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12350           prototype.
12351         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12352           stored with the current AP.  If the BSSID has indeed changed, we
12353           send it out to the applet, allowing the allowed-MAC list to grow
12354           automatically in response to roaming.
12355
12356 2006-05-16  Robert Love  <rml@novell.com>
12357
12358         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12359           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12360
12361 2006-05-13  Dan Williams  <dcbw@redhat.com>
12362
12363         * src/nm-device-802-3-ethernet.c
12364                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12365                         carrier detect (Debian bug #366373)
12366
12367 2006-05-11  Dan Williams  <dcbw@redhat.com>
12368
12369         Patch from Michael Biebl <biebl@teco.edu>
12370         * src/backends/NetworkManagerDebian.c
12371                 - Debian backend fixups
12372
12373 2006-05-10  Robert Love  <rml@novell.com>
12374
12375         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12376
12377 2006-05-09  Robert Love  <rml@novell.com>
12378
12379         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12380           private certificate passphrase, if any, in the GNOME Keyring.
12381         * libnm-utils/dbus-helpers.c: Update.
12382
12383 2006-05-05  Dan Williams  <dcbw@redhat.com>
12384
12385         * src/nm-device-802-11-wireless.c
12386                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12387                         nm_device_802_11_wireless_disable_encryption() since that's all
12388                         we use it for anymore; we don't ever set WEP keys ourselves.
12389                 - (real_deactivate_quickly): reset SSID and encryption keys
12390                 - (real_deactivate): move SSID and encryption key reset to
12391                         real_deactivate_quickly(), which gets run before us anyway
12392
12393 2006-05-05  Robert Love  <rml@novell.com>
12394
12395         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12396           root has a wacky default of its own (or, more common, a user has a
12397           bad umask and uses su/sudo to restart NetworkManager).  Anything
12398           other than 0022 does not do what we want with, for example,
12399           resolv.conf.  This problem is amplified by our judicious use of
12400           fopen(), which uses mode 0666 -- implying that the only way to get
12401           the permissions we want is with a umask of 0022.
12402
12403 2006-05-05  Dan Williams  <dcbw@redhat.com>
12404
12405         * gnome/libnm_glib/libnm_glib.c
12406                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12407                         to reconnect; instead wait a bit more with each reconnect attempt
12408                         up to a max of one minute.
12409
12410 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12411
12412         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12413           the WirelessNetwork structure using the proper function instead of
12414           just casting it directly to (const char *) (gnome.org #336991)
12415
12416 2006-05-03  Robert Love  <rml@novell.com>
12417
12418         * src/backends/NetworkManagerSuSE.c: Respect the variable
12419           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12420           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12421           to dynamically update /etc/resolv.conf.
12422
12423 2006-05-02  Peter Jones  <pjones@redhat.com>
12424
12425         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12426
12427 2006-05-02  Robert Love  <rml@novell.com>
12428
12429         Patch by Timo Hoenig;
12430         * tests/nm-online.c: Print pretty status indicator as timeout winds
12431           down.  Also fix possible race between DBUS startup and failure
12432           return.
12433
12434 2006-05-01  Robert Love  <rml@novell.com>
12435
12436         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12437           empty, too.
12438
12439 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12440
12441         * src/nm-device.c (discover_device_type): Actually use the hal
12442         device type instead of ioctl poking
12443
12444 2006-04-26  Robert Love  <rml@novell.com>
12445
12446         * tests/nm-online.c: New file.  Simple utility that returns exit status
12447           noting whether the connection is offline or online.  If offline on
12448           start, it waits 30 seconds (or a command-line given value) for an
12449           online signal.  If it times out, it again returns offline.  This is
12450           useful for scripts that want to wait for network connections.
12451
12452 2006-04-25  Robert Love  <rml@novell.com>
12453
12454         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12455           key mode (the authentication algorithm), e.g. open or shared, when we
12456           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12457           only shared was broken.  If the user specified a shared key, set it
12458           explicitly, otherwise let wpa_supplicant go with the default.
12459
12460 2006-04-24  Dan Williams  <dcbw@redhat.com>
12461
12462         * src/nm-device-802-11-wireless.c
12463                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12464
12465 2006-04-24  Dan Williams  <dcbw@redhat.com>
12466
12467         Commit the async scanning patch
12468
12469         * src/nm-device-802-11-wireless.c
12470                 - get rid of scan_mutex
12471                 - (wireless_event_helper): act on wireless scan events
12472                 - (real_start): schedule a pending scan
12473                 - (link_to_specific_ap): fake the link to the AP during a scan
12474                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12475                         strength during scans
12476                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12477                         nm_device_set_bitrate): unused with new scanning code, disable
12478                 - (nm_device_wireless_schedule_scan): removed
12479                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12480                 - (request_and_convert_scan_results): new function; retrieve scan
12481                         results from the driver and schedule the processing function
12482                 - (scan_results_timeout): timeout triggered when card doesn't send
12483                         a scan results wireless event during a certain interval
12484                 - (schedule_scan_results_timeout): new function; schedule the scan
12485                         results timeout
12486                 - (cancel_scan_results_timeout): new function; cancel the scan
12487                         results timeout
12488                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12489                         to do the scanning.  Otherwise, just request a scan but don't
12490                         grab results here; instead schedule a timeout for scan results and
12491                         let netlink notify us of scan completion events
12492                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12493                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12494                 - (supplicant_status_cb): ignore disconnect events while scanning
12495                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12496                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12497                         timeouts
12498                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12499
12500 2006-04-24  Dan Williams  <dcbw@redhat.com>
12501
12502         * gnome/applet/applet-dbus.c
12503                 - Disable the pending call debug stuff, seems under control now
12504
12505 2006-04-20  Robert Love  <rml@novell.com>
12506
12507         Fix bug where hidden ESSID's would not show up in the applet, even
12508         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12509         because nm_policy_device_list_update_from_allowed_list() would merge
12510         the data, putting a name to the hidden networks, but never notify NMI
12511         of the changes.  Simple fix is to invoke the function
12512         nm_dbus_signal_wireless_network_change() if we make a mapping.
12513         * src/NetworkManagerAPList.c: Call the function
12514           nm_dbus_signal_wireless_network_change() if we made a successful
12515           BSSID to ESSID mapping, notifying the applet of the "new" network.
12516         * src/NetworkManagerAPList.h: Update the prototypes for both
12517           nm_ap_list_copy_essids_by_address() and
12518           nm_ap_list_copy_one_essid_by_address().
12519
12520 2006-04-20  Robert Love  <rml@novell.com>
12521
12522         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12523           not set.  Just return zero.
12524
12525 2006-04-20  Robert Love  <rml@novell.com>
12526
12527         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12528           only one copy of nm-vpn-properties is running at a time via the 'ol
12529           X selection trick.  This prevents the user from opening two "VPN
12530           Connections" windows from within the applet, which leads to mass
12531           hysteria.
12532         * clipboard.c: New file, implementing simple X selection logic.
12533         * clipboard.h: New file.
12534         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12535
12536 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12537
12538         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12539         * configure.in
12540           initscript/Gentoo/Makefile.am
12541           initscript/Gentoo/NetworkManagerDispatcher.in
12542                 - New script
12543         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12544           Gentopia
12545
12546 2006-04-16  Dan Williams  <dcbw@redhat.com>
12547
12548         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12549         * configure.in
12550           initscript/Slackware/Makefile.am
12551           initscript/Slackware/rc.networkmanager-dispatcher.in
12552           initscript/Slackware/rc.networkmanager.in
12553                 - Update slackware initscripts
12554
12555 2006-04-10  Robert Love  <rml@novell.com>
12556
12557         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12558           the "delete_event" signal on the druid's parent window and handle it
12559           our way, lest using the WM to close the druid results in a series of
12560           bloody and ultimately lethal errors.
12561
12562 2006-04-10  Robert Love  <rml@novell.com>
12563
12564         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12565           'Back' too or else the 'Forward' option is initially disabled despite
12566           valid input.
12567
12568 2006-04-06  Robert Love  <rml@novell.com>
12569
12570         Fix bad but simple bug where an active modem connection did not update
12571         NM's connection state, breaking any app that did online/offline:
12572         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12573           represented whether a dial up connection is active, or not.
12574         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12575           to modem activation and deactivation.
12576         * src/NetworkManagerDbus.c: When asked our state, do not return
12577           disconnected if the modem is active.
12578
12579 2006-04-04  Robert Love  <rml@novell.com>
12580
12581         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12582           applet.  It just confuses the crap out of people and does not make a
12583           lot of sense, as the daemon still runs.
12584
12585 2006-04-02  Tor Krill  <tor@krill.nu>
12586
12587         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12588           in start of service.
12589         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12590           get Archlinux backend up to date.
12591
12592 2006-03-29  Robert Love  <rml@novell.com>
12593
12594         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12595         to add support for per-route MSS and improve support for per-interface
12596         MTU:
12597         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12598           optionally take an MSS parameter and set it for the given route.
12599           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12600           NMIP4Config's stored MSS, if any.
12601         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12602           the interface's MTU and the route's MSS, respectively.  Add functions
12603           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12604           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12605           MSS.
12606         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12607           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12608           nm_ip4_config_set_mss.
12609         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12610           VPN daemon.
12611         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12612           Change the retval of nm_system_get_mtu to guint32.
12613         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12614           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12615           servers can specify MTU's, we should set it here if the MTU was not
12616           provided.
12617
12618 2006-03-27  Jürg Billeter  <j@bitron.ch>
12619
12620         * configure.in:
12621         * initscript/Makefile.am:
12622         * initscript/paldo/Makefile.am:
12623         * initscript/paldo/NetworkManager.in:
12624         * initscript/paldo/NetworkManagerDispatcher.in:
12625         * src/backends/Makefile.am:
12626         * src/backends/NetworkManagerPaldo.c:
12627                 - Add paldo support
12628
12629 2006-03-27  Dan Williams  <dcbw@redhat.com>
12630
12631         Patch from Christian Persch <chpe@gnome.org>
12632         * gnome/applet/applet.glade
12633                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12634
12635 2006-03-27  Dan Williams  <dcbw@redhat.com>
12636
12637         Patch from Diffe <diffie@blazebox.homeip.net>
12638         * src/backends/NetworkManagerSlackware.c
12639                 - Don't restart howl, since it's been replaced by Avahi
12640                         in most distributions
12641
12642 2006-03-27  Dan Williams  <dcbw@redhat.com>
12643
12644         Patch from Tor Krill <bugzilla@krill.nu>
12645         * configure.in
12646           initscript/Makefile.am
12647           src/backends/Makefile.am
12648           src/backends/NetworkManagerArch.c
12649           initscript/Arch/Makefile.am
12650           initscript/Arch/networkmanager-dispatcher.in
12651           initscript/Arch/networkmanager.in
12652                 - Add Arch Linux support, fixes gnome.org #335147
12653
12654 2006-03-27  Dan Williams  <dcbw@redhat.com>
12655
12656         Patch from Diffe <diffie@blazebox.homeip.net>
12657      * initscript/Slackware/rc.networkmanager
12658         - update, fixed gnome.org #333368
12659
12660 2006-03-27  Robert Love  <rml@novell.com>
12661
12662         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12663           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12664
12665 2006-03-27  Robert Love  <rml@novell.com>
12666
12667         Patch by Jürg Billeter <j@bitron.ch>:
12668         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12669           systems.
12670         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12671           as we prefer glibc over kernel headers, if possible.
12672
12673 2006-03-27  Robert Love  <rml@novell.com>
12674
12675         Patch by Jon Escombe <list@dresco.co.uk>:
12676         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12677         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12678           fail, don't bail out.  We don't expect all of the various WPA-EAP
12679           values to be present.
12680         * src/nm-ap-security.c: We need to match all capabilities for each
12681           encryption type, not any one of them.
12682
12683 2006-03-27  Robert Love  <rml@novell.com>
12684
12685         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12686           restart, not reload, ypbind.  Unfortunately there is no superior
12687           solution.
12688
12689 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12690
12691         * gnome/applet/applet-notifications.c:
12692         When displaying a notification, make sure to get rid of the
12693         previous notification so as to not have competing bubbles,
12694         and stop leaking the old one.
12695
12696         * gnome/applet/applet.c:
12697         * gnome/applet/applet.h:
12698         Add a new 'notification' member to the applet, and zero it out
12699         and free it appropriately.
12700
12701 2006-03-23  Robert Love  <rml@novell.com>
12702
12703         Patch by j <j@bootlab.org>:
12704         * gnome/applet/applet.glade: Don't set the invisible_char property,
12705           which simply overrides the GTK default.  By and by, this behavior
12706           ought to be fixed in Glade.
12707
12708 2006-03-22  Robert Love  <rml@novell.com>
12709
12710         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12711
12712 2006-03-22  Robert Love  <rml@novell.com>
12713
12714         Bug fix by Timo Hoenig <thoenig@suse.de>:
12715         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12716           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12717           and the applet going AWOL.
12718
12719 2006-03-22  Robert Love  <rml@novell.com>
12720
12721         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12722           preprocessor define and use it instead of open-coded the DHCP
12723           timeout, which is currently 25 seconds, everywhere.
12724
12725 2006-03-22  Robert Love  <rml@novell.com>
12726
12727         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12728         key exchange via WPA, ostensibly providing good security without
12729         requiring hardware that supports full WPA.  Also, add UI elements to
12730         allow the user to select the pairwise & group cipher for WPA Enterprise
12731         networks, too:
12732         * gnome/applet/applet.glade: Update glade file.
12733         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12734           key type, too, to and from gconf.
12735         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12736           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12737           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12738           the capabilities match.
12739         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12740           prototype.
12741         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12742           serialize from UI to DBUS.
12743         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12744           one element.
12745         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12746           nmu_security_serialize_wpa_eap_with_cipher(), and
12747           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12748           serialize/deserialize the key type via DBUS as the new third DBUS
12749           parameter.
12750         * libnm-util/dbus-helpers.h: Update prototypes.
12751         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12752           too.  If the key type is WEP104, do Dynamic WEP, which means
12753           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12754           pairwise and group ciphers (fixes a FIXME).
12755
12756 2006-03-21  Robert Love  <rml@novell.com>
12757
12758         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12759           nm_system_get_mtu(), which returns a user-provided or system-mandated
12760           MTU value for a given device, if any, or zero if no such value
12761           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12762           if we have a provided value.
12763         * src/nm-device.c: Set the MTU of devices.
12764         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12765         * src/backends/NetworkManagerDebian.c,
12766           src/backends/NetworkManagerGentoo.c,
12767           src/backends/NetworkManagerRedHat.c,
12768           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12769
12770 2006-03-21  Robert Love  <rml@novell.com>
12771
12772         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12773           configuration file.
12774
12775 2006-03-17  Robert Love  <rml@novell.com>
12776
12777         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12778           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12779           it, in case it is not running in the first place.  We just want its
12780           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12781
12782 2006-03-15  Robert Love  <rml@novell.com>
12783
12784         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12785           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12786           label "WEP 40/128-bit" is inconsistent because the physical key size
12787           is 40 or 104-bits, to which a 24-bit initialisation vector is
12788           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12789           to read "40/104" or "64/128".  I do not care much which, but most
12790           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12791           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12792           WEP passphrase support only handles 128-bit keys, and any future
12793           64-bit passphrase support will require a new option (no way to auto-
12794           detect the target key size), explicitly label our passphrase support
12795           "WEP 128-bit Passphrase".
12796
12797 2006-03-15  Robert Love  <rml@novell.com>
12798
12799         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12800           the system init scripts (or some other mechanism) starting it (or a
12801           compatible DBUS service) before NetworkManager runs.  This means that
12802           distributions might need to update their init scripts.  This fixes
12803           possible races and is quite a bit cleaner.
12804         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12805           starting the NetworkManager daemon.
12806
12807
12808 2006-03-14  Robert Love  <rml@novell.com>
12809
12810         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12811           before adding anything.
12812
12813 2006-03-13  Robert Love  <rml@novell.com>
12814
12815         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12816           widgets, too, if they exist, in case the user hit the back button.
12817           Fixes a bug where the details page contains the widgets of multiple
12818           VPN modules (Novell bug #157048).
12819
12820 2006-03-13  Robert Love  <rml@novell.com>
12821
12822         Patch by Timo Hoenig <thoenig@suse.de>:
12823         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12824           daemon survive DBUS restarts, too.
12825
12826 2006-03-10  Robert Love  <rml@novell.com>
12827
12828         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12829           passphrase or key.
12830         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12831           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12832           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12833           in response to "toggled" signal on new toggle.
12834
12835 2006-03-10  Robert Love  <rml@novell.com>
12836
12837         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12838           serialization if strings are NULL, lest DBUS get angry.
12839
12840 2006-03-10  Robert Love  <rml@novell.com>
12841
12842         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12843
12844 2006-03-09  Robert Love  <rml@novell.com>
12845
12846         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12847           configurations.
12848
12849 2006-03-09  Dan Williams  <dcbw@redhat.com>
12850
12851         Track pending call requests in the applet, and report how many are
12852         outstanding, and how long each completed one takes.
12853         
12854         * gnome/applet/applet-dbus-devices.c
12855           gnome/applet/applet-dbus-vpn.c
12856                 - Track pending calls
12857
12858         * gnome/applet/applet-dbus.[ch]
12859                 - Remove some unused enums
12860                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12861                         new functions to track dbus pending calls and spit out some
12862                         statistics about them
12863
12864 2006-03-09  Robert Love  <rml@novell.com>
12865
12866         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12867           nm_ap_set_timestamp() take the second and micro-second parameters as
12868           direct arguments, which avoids both a dynamic memory allocation and a
12869           structure-to-structure copy!  Add a new interface, the aptly named
12870           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12871           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12872           the return from nm_ap_get_timestamp().  New users should use the new
12873           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12874           the extreme benefit to performance.
12875         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12876           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12877
12878 2006-03-08  Robert Love  <rml@novell.com>
12879
12880         * gnome/applet/applet.glade: Hide the password entry text with
12881           asterisks.
12882
12883 2006-03-08  Robert Love  <rml@novell.com>
12884
12885         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12886           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12887           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12888           a second argument, NMData.
12889         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12890         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12891           config files as trusted.
12892
12893 2006-03-06  Robert Love  <rml@novell.com>
12894
12895         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12896         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12897           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12898           Rivera, detect if the applet was auto-started.  If so, ask the user
12899           if he or she would like to stop automatically running the applet on
12900           login.  If so, disable autostart.
12901
12902 2006-03-06  Robert Love  <rml@novell.com>
12903
12904         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12905           directory in CFLAGS so developers can actually use NetworkManager.h.
12906
12907 2006-03-06  Robert Love  <rml@novell.com>
12908
12909         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12910           open-coded integer constants.  Add state_to_string() to map a given
12911           state to a textual description, and provide that when notifying of
12912           state change.
12913         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12914           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12915           this header directly, but it is currently not installed on most
12916           systems.
12917
12918 2006-03-05  Dan Williams  <dcbw@redhat.com>
12919
12920         Process netlink messages in device subclasses rather than in
12921         NetworkManager.c.  Also add support for recognizing Wireless Events.
12922         
12923         * configure.in
12924                 - Find GLIB_GENMARSHAL
12925
12926         * src/Makefile.am
12927                 - Since we're marshalling custom types for wireless event signals,
12928                         we get to create our own marshallers using GLIB_GENMARSHAL
12929
12930         * src/NetworkManager.c
12931                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12932                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12933                         cut down somewhat.  We no longer process signals here.
12934                 - (nm_data_new): create the netlink monitor here, and remove a
12935                         useless call to nm_policy_schedule_device_change_check()
12936                 - (nm_data_free): get rid of the netlink monitor here
12937                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12938                 - (main): don't create the netlink monitor here, let nm_data_new
12939                         do that.  Call nm_policy_schedule_device_change_check() right
12940                         before we jump to the mainloop to figure out which device
12941                         to use first
12942
12943         * src/NetworkManagerSystem.[ch]
12944                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12945                         convert back and forth from interface names to interface
12946                         indexes
12947
12948         * src/nm-device-802-11-wireless.c
12949                 - (real_init): connect to wireless-event signals from the netlink
12950                         monitor object
12951                 - (nm_device_802_11_wireless_event): new function, schedule handler
12952                         for wireless event signals from the netlink monitor object.  We
12953                         want the handler to run in the device's context
12954                 - (wireless_event_helper): handle wireless-event signals from netlink
12955                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12956                         signal handler
12957
12958         * src/nm-device-802-11-wireless.h
12959                 - remove unused prototype for nm_device_802_11_wireless_new
12960
12961         * src/nm-device-802-3-ethernet.c
12962                 - (real_init): new function; set up signal handlers for link events
12963                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12964                         handler for netlink link activated events on device's main loop
12965                 - (link_activated_helper): when we get a link activated event, set
12966                         the device's link to be active
12967                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12968                         handler for netlink link deactivated events on device's main loop
12969                 - (link_deactivated_helper): when we get a link deactivated event, set
12970                         the device's link to be inactive
12971                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12972                         dispose
12973
12974         * src/nm-device-802-3-ethernet.h
12975                 - remove unused prototype for nm_device_802_3_ethernet_new
12976
12977         * src/nm-device.[ch]
12978                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12979                         but locks the device list
12980                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12981
12982         * src/nm-netlink-monitor.[ch]
12983                 - (nm_netlink_monitor_class_install_signals): New signal
12984                         "wireless-event"
12985                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12986                         at the device list
12987                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12988
12989         * src/nm-marshal-main.c
12990                 - Include generated nm-marshal.c and nm-marshal.h
12991
12992         * src/nm-marshal.list
12993                 - List of custom marshal functions
12994
12995 2006-03-05  Dan Williams  <dcbw@redhat.com>
12996
12997         * gnome/applet/applet-notifications.h
12998                 - Protect prototype of nma_send_event_notification() because it
12999                         includes libnotify-specific types
13000                 - Include libnotify/libnotify.h too, since we technically need it
13001
13002         * gnome/applet/applet.c
13003                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
13004                 - (nma_show_vpn_login_banner_dialog): add some error checking
13005
13006 2006-03-04  Dan Williams  <dcbw@redhat.com>
13007
13008         Clean up activation cancellation.  Should be a lot faster now.  Observed
13009         an issue with wireless devices between stage 2 and 3 of activation, where
13010         activation would be cancelled, but the device thread wouldn't notice until
13011         the supplicant association timed out.  Reorganize activation such that
13012         a cancellation handler gets immediately scheduled in the device's thread,
13013         and devices have a chance to perform any custom cleanup too.
13014
13015         * src/nm-device.[ch]
13016                 - (activation_cancel_handler): new device-type-specific function
13017                         for cleaning up device-type-specific stuff on cancellation
13018                 - (cancel_activation): removed
13019                 - (nm_device_activation_cancel): subsume functionality of
13020                         real_cancel_activation, but instead of doing anything, punt
13021                         operation to a handler that's run in device-thread context
13022                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
13023                         a warning message
13024                 - (activation_handle_cancel_helper): cancellation handler run in
13025                         device-thread context, calls device-type-specific cancelation,
13026                         then tears down the activation request
13027                 - (real_activation_cancel_handler): generic cancellation handler,
13028                         deals with cancelling any in-process DHCP request
13029                 - (nm_device_activate_stage1_device_prepare,
13030                    nm_device_activate_stage2_device_config,
13031                    nm_device_activate_stage3_ip_config_start,
13032                    nm_device_activate_stage4_ip_config_get,
13033                    nm_device_activate_stage4_ip_config_timeout,
13034                    nm_device_activate_stage5_ip_commit): don't call
13035                         nm_device_schedule_activation_handle_cancel() any more, since
13036                         cancellation will have been already scheduled for us by
13037                         nm_device_activation_cancel().  Just exit the function and
13038                         assume that the cancel handler will be called next.
13039
13040         * src/nm-device-802-3-ethernet.c
13041                 - (real_act_stage2_config): remove; didn't do anything anyway
13042
13043         * src/nm-device-802-11-wireless.c
13044                 - (supplicant_status_cb): ensure we don't do anything if the activation
13045                         got cancelled
13046                 - (real_activation_cancel_handler): implement; cancel user key request
13047                         on activation cancellation
13048
13049 2006-03-04  Dan Williams  <dcbw@redhat.com>
13050
13051         * src/nm-device-802-11-wireless.c
13052                 - (supplicant_send_network_config): assume that drivers that don't
13053                         support WPA pretty much suck, and can't handle NM scanning
13054                         along with wpa_supplicant.
13055
13056 2006-03-03  Robert Love  <rml@novell.com>
13057
13058         * configure.in: Bump version to 0.6.0.
13059         * NEWS: Update.
13060
13061 2006-03-03  Robert Love  <rml@novell.com>
13062
13063         * configure.in: Require DBUS 0.60 or later.
13064
13065 2006-03-03  Dan Williams  <dcbw@redhat.com>
13066
13067         Fix a crash if an "Other wireless network" was chosen, failed, then
13068         chosen again from the applet's menu.  If the other network wasn't
13069         noticed in a scan, it wouldn't have any capabilities, but would still
13070         be listed because the user forced the network.  To fix this, we set
13071         sensible capabilities on the forced network, which will get overwritten
13072         with the correct ones if the network shows up later in a scan.
13073         
13074         * src/nm-ap-security.h
13075                 - Add a new "get_default_capabilities_func" member to the
13076                         NMAPSecurity class
13077
13078         * src/nm-ap-security.c
13079                 - (nm_ap_security_get_default_capabilities): new function
13080
13081         * src/nm-ap-security.c
13082           src/nm-ap-security-wep.c
13083           src/nm-ap-security-wpa-psk.c
13084           src/nm-ap-security-wpa-eap.c
13085                 - Implement get_default_capabilities_func() for all, which
13086                         uses the information contained in a specific NMAPSecurity
13087                         object to determine default AP capabilites necessary
13088                         to support that object
13089
13090         As a secondary measure, we now prune artificial access points that fail
13091         to be activated right away.  The thing failed, and we have no scan data for
13092         it, so it's pretty much useless since security information is only saved
13093         in the applets when a connection is successful.
13094
13095         * src/NetworkManagerAPList.c
13096                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
13097                         not artificial.  If we see it, it's no longer a figment of the
13098                         user's imagination :)
13099
13100         * src/NetworkManagerPolicy.c
13101                 - (nm_policy_activation_failed): send along the failed AP if we
13102                         have it
13103
13104         * src/nm-device-802-11-wireless.c
13105                 - (real_activation_failure_handler): remove artificial APs from
13106                         the device list, because activation failed
13107
13108 2006-03-02  Robert Love  <rml@novell.com>
13109
13110         Add support for retrieving both the per-device speed and the
13111         per-network maximum supported rate.  Then change the getProperties
13112         DBUS API for both networks and devices to report this informaiton.
13113         Finally, display the information via both nm-applet and nm-tool:
13114         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13115           and set it.
13116         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13117           Information' dialog.
13118         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13119         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13120           network_device_get_speed() and network_device_set_speed() for
13121           retrieving and setting, respectively, a network device's current
13122           speed.
13123         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13124         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13125           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13126           not matter (yet) what the units are, because we only feed it its own
13127           output.  Implement SIOCGIRATE and set the per-network maximum
13128           supported rate during scanning.
13129         * src/nm-device-802-11-wireless.h: Export the function
13130           nm_device_802_11_wireless_get_bitrate().
13131         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13132           function nm_device_802_3_ethernet_get_speed() for returning an
13133           802.3's current speed, in Mb/s.
13134         * test/nm-tool.c: Display the per-device current speed, if available,
13135           and the per-network maximum rate.
13136
13137 2006-03-02  Dan Williams  <dcbw@redhat.com>
13138
13139         * src/nm-device-802-11-wireless.c
13140                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13141                         card when it gets initialized.  Since devices don't get added to
13142                         the scan list until they are initialized, this function wasn't
13143                         setting the intitial scan interval correctly, and was leaving
13144                         it at 0.  This caused cards to get many scan requests in a short
13145                         amount of time when they were initialized
13146
13147 2006-03-02  Robert Love  <rml@novell.com>
13148
13149         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13150           active device.  But do not do what we used to do and override the
13151           state, which caused the dreaded icon race of '05.
13152
13153 2006-03-02  Robert Love  <rml@novell.com>
13154
13155         Commit Dan's update of my previous commit:
13156         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13157           set_mode() function itself does the check.  But do only set the
13158           frequency if in Ad-Hoc mode.
13159
13160 2006-03-02  Robert Love  <rml@novell.com>
13161
13162         Patch by Brian Magnuson <magnuson@rcn.com>:
13163         * src/nm-device-802-11-wireless.c: During scanning, only set the
13164           wireless mode to infrastructure if it is not currently in
13165           infrastructure mode.  For some driver, setting the mode is a costly
13166           operation, apparently.
13167
13168 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13169
13170         * Makefile.am: use the correct dir for autostart mechanism.
13171
13172 2006-02-28  Dan Williams  <dcbw@redhat.com>
13173
13174         Patch from Brian Magnuson <magnuson@rcn.com>
13175         * gnome/applet/applet.c
13176                 - (nma_show_vpn_failure_dialog): fix errors left over from
13177                         libnotify support changes
13178
13179 2006-02-28  Dan Williams  <dcbw@redhat.com>
13180
13181         * src/vpn-manager/nm-vpn-act-request.[ch]
13182                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13183                         just one value
13184                 - (nm_vpn_act_request_is_failed): new function; return whether or
13185                         not the vpn activation request has failed
13186
13187         * src/vpn-manager/nm-vpn-manager.c 
13188                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13189                         daemon to kill the connection when the activation request fails.
13190                         Fixes issue where NM would get confused if the VPN activation
13191                         request timed out, and would not allow further VPN connections
13192                         on that service.
13193
13194 2006-02-28  Dan Williams  <dcbw@redhat.com>
13195
13196         * gnome/applet/applet.c
13197                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13198                         overlapping connection requests, disable all VPN menu items
13199                         but the active VPN connection
13200
13201 2006-02-28  Dan Williams  <dcbw@redhat.com>
13202
13203         * src/vpn-manager/nm-vpn-connection.c
13204                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13205                         called g_object_unref() on the connection's parent device
13206                         when it should have been ref-ed instead.  Fixes crash with
13207                         repeated vpn connect requests
13208
13209 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13210
13211         * gnome/applet/applet.glade:
13212         Mark a few strings non-translatable, since they shouldn't be.
13213
13214 2006-02-28  Dan Williams  <dcbw@redhat.com>
13215
13216         * src/vpn-manager/nm-vpn-service.c
13217                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13218                         already running, don't blindly ask it to connect, but wait until
13219                         it's in the STOPPED state first.  Fixes an assertion when user
13220                         starts a second vpn connection without stopping the first.
13221                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13222                         dbus service exists before continuing with the connection
13223                         process, and reduce latency while waiting for it to become
13224                         available
13225                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13226                         waiting for the vpn service daemon to become available
13227                 - General log message cleanups; show progress via "Stage x of 4"
13228                         rather than not telling anyone how many stages there are
13229
13230 2006-02-28  Robert Love  <rml@novell.com>
13231
13232         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13233         * src/backends/NetworkManagerSuSE.c: Implement the interface
13234           nm_system_should_modify_resolv_conf() for SUSE.
13235         * src/backends/NetworkManagerDebian.c,
13236           src/backends/NetworkManagerGentoo.c,
13237           src/backends/NetworkManagerRedHat.c,
13238           src/backends/NetworkManagerSlackware.c: Add stub.
13239         * src/named-manager/Makefile.am: Grab includes from src.
13240         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13241           automatic updating of resolv.conf.  This is useful for testing,
13242           broken static configurations, and administrator lock-down.
13243
13244 2006-02-28  Dan Williams  <dcbw@redhat.com>
13245
13246         * src/nm-device-802-11-wireless.c
13247                 - Move all the wpa_supplicant-related management stuff into its
13248                         own struct, just for oranization's sake
13249                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13250                         to a GIOChannel/GSource
13251                 - (supplicant_log_stdout): new function; grab output from the
13252                         wpa_supplicant stdout pipe and write it to our logs.
13253
13254 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13255
13256         * src/nm-device-802-11-wireless.c:
13257         Err, fix thinko in my previous commit.
13258
13259 2006-02-28  Robert Love  <rml@novell.com>
13260
13261         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13262
13263 2006-02-28  Robert Love  <rml@novell.com>
13264
13265         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13266           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13267           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13268           deserializers are responsible for freeing the returned DBUS strings.
13269
13270 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13271
13272         * src/nm-device-802-11-wireless.c:
13273         The scan list is being pruned prematurely.  We should prune after
13274         the device has gone MIA for three scans, not one.  Split out the
13275         interval to realtime seconds function to better serve this.
13276
13277 2006-02-27  Robert Love  <rml@novell.com>
13278
13279         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13280           Open the pid file O_TRUNC, so if it already exists we truncate it to
13281           zero length.  Also, be more verbose about warnings generated during
13282           writing out the pid file.  Finally, always write out the pid file if
13283           in daemon mode.  Use "--pid-file" to override the default.
13284
13285 2006-02-27  Robert Love  <rml@novell.com>
13286
13287         Patch by R. Vinay <rvinay@novell.com>:
13288         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13289           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13290           Novell bug #153628).
13291           
13292 2006-02-27  Robert Love  <rml@novell.com>
13293
13294         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13295           entry so user can hit <ENTER> after entering passphrase (Novell bug
13296           #153738).
13297
13298 2006-02-27  Dan Williams  <dcbw@redhat.com>
13299
13300         * gnome/applet/*
13301                 - Mass search/replace of:
13302                         nmwa -> nma
13303                         NMWirelessApplet -> NMApplet
13304                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13305                    (it ain't just for wireless anymore, ma!)
13306                 - Fix duplicate function name printing when using nm_warning
13307                 - wireless-applet.glade -> applet.glade
13308
13309 2006-02-27  Dan Williams  <dcbw@redhat.com>
13310
13311         * dispatcher-daemon/NetworkManagerDispatcher.c
13312                 - Accept --pid-file with a path to a pidfile, write it out on
13313                         startup, and delete it on shutdown
13314
13315         * src/NetworkManager.c
13316                 - Accept --pid-file with a path to a pidfile, write it out on
13317                         startup, and delete it on shutdown
13318                 - Move nm_print_usage() lower
13319
13320         * initscripts/RedHat/NetworkManager.in
13321                 - Use new --pid-file option
13322                 - Fix service stopping to wait a bit for NM to quit
13323
13324         * initscripts/RedHat/NetworkManagerDispatcher.in
13325                 - Use new --pid-file option
13326
13327 2006-02-26  Dan Williams  <dcbw@redhat.com>
13328
13329         * src/Makefile.am
13330                 - make and install nm-crash-logger
13331
13332         * src/nm-logging.[ch]
13333                 - New files; consolidate logging and crash handling
13334
13335         * src/nm-crash-logger.c
13336           src/gdb-cmd
13337                 - Standalong crashlogger for NM, grab a backtrace
13338                         using GDB
13339
13340         * src/NetworkManager.[ch]
13341                 - Remove signal handling and put it into nm-logging.c
13342
13343 2006-02-26  Dan Williams  <dcbw@redhat.com>
13344
13345         * configure.in
13346           gnome/applet/Makefile.am
13347                 - Conditionalize all the notify stuff
13348
13349         Merge most of Chris Aillon's notification patch:
13350         
13351         * gnome/applet/applet-notifications.[ch]
13352                 - New files; show a notification
13353         
13354         * gnome/applet/applet-dbus-devices.[ch]
13355                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13356                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13357                         new functions, do the right thing when a device change occurs
13358
13359         * gnome/applet/applet-dbus.c
13360                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13361                         signals, so we can handle them specially
13362
13363         * gnome/applet/applet.[ch]
13364                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13365                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13366                 - (nmwa_notify_state): remove
13367                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13368                         notification work is now done when the appropriate dbus signals
13369                         are received.
13370                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13371                         defer execution of the notification/dialog stuff.  That was an
13372                         artifact of the previous multi-threaded nature of the applet
13373                         and is now pointless.
13374                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13375                         no longer needed.  Function folded into applet-notifications.c
13376
13377         * src/NetworkManagerPolicy.c
13378                 - (nm_policy_activation_finish): send the AP along with the device
13379                         status change signal, if the connection is wireless.  Should
13380                         fix the race where applet would show a connection to "unknown"
13381
13382 2006-02-25  Robert Love  <rml@novell.com>
13383
13384         Add WPA Enterprise support:
13385         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13386           nm-gconf-wso-wpa-eap.h.
13387         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13388           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13389           serialization and deserialization.
13390         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13391           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13392           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13393         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13394           settings related to WPA Enterprise.
13395         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13396           instantiate WPA Enterprise wireless-security-option.
13397         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13398           Implement WPA Enterprise wireless-security-option object.
13399         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13400           defines.  Cleanup.
13401         * libnm-util/cipher-wpa-psk-hex.c,
13402           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13403         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13404           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13405           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13406           including the cipher to DBUS method, and
13407           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13408           to output.
13409         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13410           nm-ap-security-wpa-eap.h
13411         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13412           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13413         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13414           files.  Implement NMAPSecurityWPA_EAP object.
13415         * src/nm-ap-security-wpa-psk.c: Cleanup.
13416         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13417           an NMAPSecurityWPA_EAP object via the method
13418           nm_ap_security_wpa_eap_new_deserialize().
13419         * src/nm-dbus-nm.c: Cleanup.
13420         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13421           WPA Enterprise support.
13422
13423 2006-02-24  Robert Love  <rml@novell.com>
13424
13425         Patch from Timo Hoenig <thoenig@suse.de>:
13426         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13427
13428 2006-02-24  Robert Love  <rml@novell.com>
13429
13430         Patch from Dan Winship <danw@novell.com>:
13431         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13432           area to transparent.
13433
13434 2006-02-21  Dan Williams  <dcbw@redhat.com>
13435
13436         * gnome/applet/applet.[ch]
13437           gnome/applet/applet-dbus.c
13438                 - Implement notification support for VPN messages too
13439
13440 2006-02-21  Dan Williams  <dcbw@redhat.com>
13441
13442         * gnome/applet/applet-dbus-info.c
13443                 - Clean up warning messages to not double-print the function
13444
13445 2006-02-21  Dan Williams  <dcbw@redhat.com>
13446
13447         * gnome/applet/applet-compat.c
13448                 - (convert_one_entry): accept entries without a key_type and
13449                         convert them to unencrypted networks
13450
13451 2006-02-21  Dan Williams  <dcbw@redhat.com>
13452
13453         * gnome/libnm_glib/libnm_glib.c
13454                 - Use __func__ everywhere we can
13455                 - Code cleanups
13456                 - Use dbus pending calls rather than blocking
13457                 - Reduce busywaits for our thread to start and stop
13458                         (gnome.org #330562)
13459                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13460                         stomp on others using the default shared dbus connection.
13461                         Fixes #rh177546# and gnome.org #326572
13462
13463 2006-02-21  Dan Williams  <dcbw@redhat.com>
13464
13465         Patch from Rodney Dawes <dobey@novell.com>
13466         * configure.in
13467           gnome/applet/Makefile.am
13468           gnome/applet/applet.c
13469                 - Add libnotify support if '--enable-notify=yes' is passed
13470                   at configure time
13471
13472 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13473
13474         * configure.in (ALL_LINGUAS): ko added. (Korean)
13475
13476 2006-02-15  Robert Love  <rml@novell.com>
13477
13478         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13479           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13480           and WPA_SUPPLICANT_CONTROL_SOCKET.
13481         
13482 2006-02-15  Robert Love  <rml@novell.com>
13483
13484         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13485           information about what connection stage we are at, provide the total
13486           number of stages, e.g. "Stage 2 of 5", so users know how far along
13487           they are if they experience problems.
13488
13489 2006-02-15  Robert Love  <rml@novell.com>
13490
13491         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13492           define to $sysconfdir.
13493         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13494           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13495           type of VPN and then editing another results in a mangled dialog
13496           box containing the widgets from both VPNs (fixes Novell #150854).
13497           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13498
13499 2006-02-14  Robert Love  <rml@novell.com>
13500
13501         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13502           syslog's file descriptor.
13503
13504 2006-02-14  Robert Love  <rml@novell.com>
13505
13506         Fix bug around since the change to "deal with APs changing settings on
13507         us," checked in on the fifth of February in the year of the dog, 
13508         wherein connecting to non-broadcast encrypted networks always fails
13509         because nm_ap_get_encrypted() always returns FALSE, even when the user
13510         provided a key, because the newly-created fake AP does not have any
13511         capabilities set, which is a sypmtom of security settings not matching
13512         capabilities (Novell bug #150784):
13513         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13514           nm_ap_add_capabilities_from_security(), which sets the given AP's
13515           capabilities off the given security settings.  Also improve our
13516           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13517           NM_AUTH_CIPHER_AUTO.
13518         * src/nm-device-802-11-wireless.c: Call the function
13519           nm_ap_add_capabilities_from_security() to ensure that capabilities
13520           match newly updated security settings.
13521
13522 2006-02-14  Robert Love  <rml@novell.com>
13523
13524         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13525           error as a string, not an integer, if possible; do not print the
13526           function name twice; always give the interface, if possible; misc.
13527           cleanup.
13528
13529 2006-02-12  Dan Williams  <dcbw@redhat.com>
13530
13531         Patch from Tom Parker <palfrey@tevp.net>
13532         * src/NetworkManagerSystem.h
13533                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13534                         no longer used
13535
13536         * src/backends/NetworkManagerDebian.c
13537                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13538                         unused variables
13539
13540 2006-02-12  Dan Williams  <dcbw@redhat.com>
13541
13542         * vpn-daemons/openvpn/intltool-extract.in
13543           vpn-daemons/openvpn/intltool-merge.in
13544           vpn-daemons/openvpn/intltool-update.in
13545           vpn-daemons/pptp/intltool-extract.in
13546           vpn-daemons/pptp/intltool-merge.in
13547           vpn-daemons/pptp/intltool-update.in
13548                 - Remove from CVS, they should get created by intltoolize,
13549                         shouldn't they?
13550
13551 2006-02-12  Dan Williams  <dcbw@redhat.com>
13552
13553         * vpn-daemons/pptp/src/pppd/patchlevel.h
13554         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13555                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13556                         Makefile-defined VERSION
13557
13558 2006-02-09  Dan Williams  <dcbw@redhat.com>
13559
13560         Patch from: Vinay A R <rvinay@novell.com>
13561         * src/vpn-manager/nm-vpn-act-request.[ch]
13562                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13563                         IPSec VPNs require them for std gateway.
13564                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13565                         and 'user_routes_count'
13566                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13567                         defined routes  from NMVPNActRequest object, returns the string
13568                         array of routes.
13569
13570         * src/vpn-manager/nm-vpn-manager.[ch]
13571                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13572                         for 'user_routes' and 'user_routes_count'
13573         
13574         * src/vpn-manager/nm-dbus-vpn.c
13575                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13576                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13577         
13578         * src/vpn-manager/nm-vpn-service.c
13579                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13580                         the vpn daemon
13581
13582         Modifications by Dan:
13583         * src/vpn-manager/nm-vpn-service.c
13584                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13585                         arrays into dbus
13586
13587         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13588         * vpn-daemons/pptp/src/nm-pptp-service.c
13589         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13590                 - Grab user routes from dbus message
13591                 - Free all string arrays we got from dbus
13592
13593 2006-02-07  Robert Love  <rml@novell.com>
13594
13595         Patch by Stefan Seyfried <seife@suse.de>:
13596         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13597
13598 2006-02-06  Robert Love  <rml@novell.com>
13599
13600         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13601
13602 2006-02-06  Robert Love  <rml@novell.com>
13603
13604         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13605           test ">=" is never false.  If no newline is found, we loop forever.
13606           We can just check for ">" because the following if() will see the
13607           zero-th argument if the while() gets that far.
13608
13609 2006-02-05  Dan Williams  <dcbw@redhat.com>
13610
13611         Refine handling of non-broadcast networks.
13612
13613         * src/NetworkManagerAPList.c
13614                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13615                         property from scanned AP to the AP from the device list
13616
13617         * src/nm-device-802-11-wireless.c
13618                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13619                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13620                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13621                         networks since those don't have APs.
13622                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13623                         AP as non-SSID-broadcasting
13624                 - (process_scan_results): don't handle non-SSID-broadcasting here
13625
13626 2006-02-05  Dan Williams  <dcbw@redhat.com>
13627
13628         * src/nm-device-802-11-wireless.c
13629                 - (get_supplicant_timeout): new function; return
13630                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13631                         14 channels.  These are likely a/b/g cards, like Atheros, and
13632                         slow as hell to scan.
13633                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13634                         get_supplicant_timeout()
13635
13636 2006-02-05  Dan Williams  <dcbw@redhat.com>
13637
13638         * src/dhcp-manager/nm-dhcp-manager.c
13639                 - Loose a commit race with Robert; make sure size check
13640                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13641
13642 2006-02-05  Robert Love  <rml@novell.com>
13643
13644         Patch by Christoph Brill <chrisbrill@gmx.net>:
13645         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13646           with DHCP_SERVICE_NAME.
13647
13648 2006-02-05  Dan Williams  <dcbw@redhat.com>
13649
13650         Remove anything having to do with device_setup_func from the
13651         AP security objects, since it's no longer used.
13652
13653         * src/nm-ap-security.h
13654                 - Kill device_setup_func and nm_ap_security_device_setup()
13655
13656         * src/nm-ap-security-wep.c
13657           src/nm-ap-security-wpa-psk.c
13658                 - (real_device_setup): remove
13659
13660         * src/nm-ap-security.c
13661                 - (real_device_setup): remove
13662                 - (nm_ap_security_device_setup): remove
13663
13664         * src/nm-device-802-11-wireless.[ch]
13665                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13666                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13667                         and done by wpa_supplicant now anyway
13668
13669 2006-02-05  Dan Williams  <dcbw@redhat.com>
13670
13671         * src/nm-device-802-11-wireless.c
13672                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13673                         settings on us.  Previously NM would loop asking for the
13674                         key but getting the same one back.  Now, if the NMI-supplied
13675                         cipher doesn't overlap with the scanned AP capabilities,
13676                         we request a completely new key from the user.
13677
13678 2006-02-05  Dan Williams  <dcbw@redhat.com>
13679
13680         * src/NetworkManagerUtils.c
13681                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13682                         Handle newline killing better
13683
13684 2006-02-05  Dan Williams  <dcbw@redhat.com>
13685
13686         * gnome/applet/nm-gconf-wso.c
13687                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13688                         of unencrypted access point security info.
13689
13690 2006-02-03  Robert Love  <rml@novell.com>
13691
13692         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13693           user's encryption key, so we print the err_msg_cmd not the command,
13694           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13695           sense.
13696
13697 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13698
13699         * initscript/RedHat/NetworkManagerDispatcher.in:
13700         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13701         Patch from Dan Walsh <dwalsh@redhat.com>
13702
13703 2006-02-03  Robert Love  <rml@novell.com>
13704
13705         * dispatcher-daemon/NetworkManagerDispatcher.c,
13706           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13707           but use the sysconfdir.
13708
13709 2006-02-03  Robert Love  <rml@novell.com>
13710
13711         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13712           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13713           'char *'.
13714         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13715           nm_ip4_config_get_hostname() and
13716           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13717         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13718           leak g_strdup() result.
13719
13720 2006-02-03  Robert Love  <rml@novell.com>
13721
13722         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13723           broadcast == TRUE.  Also, copy broadcast and artificial properties
13724           from source network to destination in nm_ap_copy().
13725         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13726           since we now default new networks to non-hidden.
13727
13728 2006-02-03  Dan Williams  <dcbw@redhat.com>
13729
13730         * gnome/applet/main.c
13731                 - (main): change the NEVER->ALWAYS so we start at the
13732                         beginning of the session, if being session-managed
13733
13734 2006-02-03  Dan Williams  <dcbw@redhat.com>
13735
13736         * gnome/applet/main.c
13737                 - (main): in a variation on Robert's patch, change
13738                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13739                         he wants.
13740
13741 2006-02-02  Robert Love  <rml@novell.com>
13742
13743         * src/Makefile.am: If we aren't going to create the run directory at,
13744           uh, run-time, create it during install.  Then users just doing
13745           'make install' are cool, too.  While we are here, create the
13746           dispatcher.d directory, too.
13747         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13748           the exact run directory.
13749         * Makefile.am: Install nm-applet.desktop.
13750
13751 2006-02-02  Robert Love  <rml@novell.com>
13752
13753         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13754           structure, which denotes whether or not the AP is hidden.  This is a
13755           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13756           can show up in the scan list.  Add nm_ap_get_broadcast() and
13757           nm_ap_set_broadcast() accessor interfaces.
13758         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13759           nm_ap_set_broadcast().
13760         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13761           "getProperties" method, which denotes whether or not the given
13762           network is hidden.
13763         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13764           an artificial network.  Set broadcast to TRUE when scanning returns
13765           an ESSID and FALSE when not.
13766         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13767           from "getProperties" method on a network.  Possible TODO is to
13768           somehow display this.
13769         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13770
13771 2006-02-02  Dan Williams  <dcbw@redhat.com>
13772
13773         * src/nm-device-802-11-wireless.c
13774                 - (supplicant_interface_init): don't try to create
13775                         /var/run/NetworkManager, since that should be done by
13776                         the distro package.  Causes problems for stuff like SELinux
13777
13778 2006-02-02  Robert Love  <rml@novell.com>
13779
13780         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13781         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13782           Check for and handle empty string for iface.
13783
13784 2006-02-01  Robert Love  <rml@novell.com>
13785
13786         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13787           manpage.
13788
13789 2006-01-31  Dan Williams  <dcbw@redhat.com>
13790
13791         * nm-applet.desktop
13792                 - Add --sm-disable to Exec arguments, presuming that when
13793                         using autostart, we don't want session management
13794
13795 2006-01-31  Robert Love  <rml@novell.com>
13796
13797         * src/NetworkManagerAP.c: Add two new manufacturer default network
13798           names: linksys-a and linksys-g.  These are found (at least) on the
13799           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13800           own ESSID.
13801
13802 2006-01-31  Robert Love  <rml@novell.com>
13803
13804         * src/NetworkManagerAP.c: Optimize the function
13805           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13806           machine code.  This is the first in a series of code tweaks aiming to
13807           generate better machine code and make NetworkManager all the better.
13808           Just kidding.  Who has time to go through the assembly generated for
13809           every function?  I certainly don't.  I have a wife, a kid, a job,
13810           a mortgage, a mistress.  But this function was so bad, I was called
13811           to arms.  Like the book.
13812
13813 2006-01-31  Robert Love  <rml@novell.com>
13814
13815         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13816           AP is not broadcasting, to scan with probe request frames.  Required
13817           for non-broadcast networks.
13818
13819 2006-01-31  Robert Love  <rml@novell.com>
13820
13821         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13822           preprocessor define (still 20s).  Fix message text in nm_info()
13823           s/too too/took too/.
13824
13825 2006-01-30  Dan Williams  <dcbw@redhat.com>
13826
13827         * src/nm-device-802-11-wireless.c
13828                 - (supplicant_monitor_start): increase connect/auth timeout to
13829                         20 seconds from 10 seconds
13830
13831 2006-01-30  Dan Williams  <dcbw@redhat.com>
13832
13833         * src/Makefile.am
13834                 - Define LOCALSTATEDIR
13835
13836         * src/nm-device-802-11-wireless.c
13837                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13838                         socket where we want it to
13839
13840         * src/wpa_ctrl.[ch]
13841                 - (wpa_ctrl_open): accept location to put local control socket
13842
13843 2006-01-30  Robert Love  <rml@novell.com>
13844
13845         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13846           get_ip4_string() for "domain_name".
13847
13848 2006-01-30  Robert Love  <rml@novell.com>
13849
13850         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13851           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13852           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13853           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13854           support for "Automatic" pairwise and group cipher configuration by
13855           letting wpa_supplicant handle the details.  Add UI elements, new
13856           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13857           charm.  Note this does more than add a nice feature, it fixes a bug.
13858           Apparently, some people have AP's where the pairwise cipher does not
13859           match the group cipher.  Insane, but true.
13860
13861 2006-01-30  Dan Williams  <dcbw@redhat.com>
13862
13863         * gnome/applet/applet-dbus-devices.c
13864                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13865                         functions, grab device driver name from NetworkManager
13866                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13867
13868         * gnome/applet/applet.c
13869                 - (nmwa_update_info): show driver name in Connection Information
13870                         dialog
13871
13872         * gnome/applet/nm-device.[ch]
13873                 - (network_device_get_driver, network_device_set_driver): add
13874                         accessors for driver name
13875
13876         * gnome/applet/wireless-applet.glade
13877                 - Add line for driver name to Connection Information dialog
13878
13879         * src/nm-dbus-device.c
13880                 - (nm_dbus_device_get_driver): new function to return driver name
13881                 - (nm_dbus_device_methods): hook up driver name function to dbus
13882
13883         * test/nm-tool.c
13884                 - (get_driver_name): new function
13885                 - (detail_device): grab and show driver name
13886
13887 2006-01-30  Robert Love  <rml@novell.com>
13888
13889         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13890           does not parse the markup if it is not part of the format.
13891
13892 2006-01-30  Robert Love  <rml@novell.com>
13893
13894         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13895           FALSE, we have no security options for this dialog, so we throw up
13896           an error dialog instead of a broken passphrase dialog.  Fixes
13897           Novell #138404.
13898         * gnome/applet/wireless-security-manager.c,
13899           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13900           does not add any security options, not even NONE, print a warning
13901           and return FALSE.  This let's functions constructing a dialog bail
13902           out if the device's capabilities and the network's requirements have
13903           zero overlap.
13904
13905 2006-01-27  Robert Love  <rml@novell.com>
13906
13907         * configure.in: Require wpa_supplicant.  Detect location of binary and
13908           use it.  Override with "--with-wpa_supplicant=foo".
13909         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13910           path to wpa_supplicant but use the auto-detected or user-provided
13911           value from configure.
13912
13913 2006-01-27  Robert Love  <rml@novell.com>
13914
13915         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13916           but the DHCP server did not return a hostname, try to look up our
13917           name via DNS and set the system hostname to that.
13918
13919 2006-01-27  Dan Williams  <dcbw@redhat.com>
13920
13921         * src/backends/NetworkManagerRedHat.c
13922                 - Add NM_CONTROLLED system network script support for RH/Fedora
13923
13924 2006-01-27  Dan Williams  <dcbw@redhat.com>
13925
13926         * src/backends/NetworkManagerGentoo.c
13927                 - (nm_system_device_get_disabled): add missing function.
13928                         Gnome BZ #328780
13929
13930 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13931
13932         * configure.in: Added vi in ALL_LINGUAS line.
13933         
13934 2006-01-26  Robert Love  <rml@novell.com>
13935
13936         * src/Makefile.am, src/kernel-types.h: Now that two different source
13937           files are feeling the crack-addled leakage of kernel types such as
13938           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13939           types in user-space -- define a header and include it as needed.
13940         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13941         * src/nm-device-802-3-ethernet.h: Remove defines.
13942         * src/wpa.c: Remove defines and include kernel-types.h.
13943
13944 2006-01-26  Robert Love  <rml@novell.com>
13945
13946         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13947           work.
13948
13949 2006-01-26  Robert Love  <rml@novell.com>
13950
13951         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13952         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13953           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13954           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13955           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13956           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13957           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13958           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13959           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13960           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13961           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13962           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13963           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13964           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13965           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13966           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13967           Kill unused variables, labels, and static functions.  Don't pass
13968           string literals as the format string for printf-like functions.
13969
13970 2006-01-25  Dan Williams  <dcbw@redhat.com>
13971
13972         * gnome/applet/wireless-applet.glade
13973                 - Remove WPA2 Checkbox
13974
13975         * gnome/applet/wireless-security-manager.c
13976                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13977                         This means the Wireless Security menu now has two WPA options,
13978                         one for "WPA Personal" and one for "WPA2 Personal"
13979
13980         * gnome/applet/wso-wpa-psk.[ch]
13981                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13982                         'wpa2' argument to determine WPA version to use
13983                 - (append_dbus_params_func): pass stored WPA version to cipher
13984                         rather than using the (removed) checkbox
13985
13986 2006-01-24  Robert Love  <rml@novell.com>
13987
13988         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13989           before we g_strdup(), not the ultimate string.
13990
13991 2006-01-23  Dan Williams  <dcbw@redhat.com>
13992
13993         * src/NetworkManagerAP.[ch]
13994                 - (nm_ap_new_from_ap): copy original essid too
13995                 - (nm_ap_unref): free original essid
13996                 - (nm_ap_get_orig_essid): new function
13997                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13998                         but keep original essid around too
13999
14000         * src/nm-device-802-11-wireless.c
14001                 - (supplicant_send_network_config): send wpa_supplicant the
14002                         _original_ essid, and not as a string, but in hex.  Should
14003                         allow us to connect to more APs that use wierd character
14004                         encodings for their essids
14005
14006         * utils/nm-utils.[ch]
14007                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
14008                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
14009                         use the current locale as a hint for what encoding the essid
14010                         might be in.  Obviously not 100% accurate, but the idea here is
14011                         that if a user's locale is ex. ja_JP, they are more likely than
14012                         not to be in Japan, where access points will likely be in some
14013                         Japanese encoding.
14014
14015 2006-01-23  Dan Williams  <dcbw@redhat.com>
14016
14017         * libnm-util/cipher-private.h
14018           libnm-util/cipher.c
14019           libnm-util/cipher.h
14020                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
14021
14022 2006-01-23  Robert Love  <rml@novell.com>
14023
14024         Patch by Timo Hoenig <thoenig@suse.de>:
14025         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
14026           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
14027           by DHCP and pass it to the backends, allowing distribution-specific
14028           behavior with respect to the DHCP-supplied hostname (if nothing else,
14029           some distributions might not want to set the hostname).
14030         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
14031           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
14032           Also update our NIS behavior.
14033         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
14034           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
14035           Add stub functions.
14036
14037 2006-01-23  Robert Love  <rml@novell.com>
14038
14039         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
14040           gnome-session does autostart.  TODO: We need to install this to
14041           $prefix/share/autostart/.
14042
14043 2006-01-22  Dan Williams  <dcbw@redhat.com>
14044
14045         * src/NetworkManagerAP.[ch]
14046           src/nm-dbus-nmi.c
14047           src/nm-device-802-11-wireless.c         
14048                 - Make nm_ap_get_essid return "const char *"
14049
14050 2006-01-22  Dan Williams  <dcbw@redhat.com>
14051
14052         * src/NetworkManagerAP.[ch]
14053                 - (nm_ap_get_matched, nm_ap_set_matched): remove
14054
14055         * src/NetworkManagerAPList.[ch]
14056                 - (nm_ap_list_diff): removed
14057                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
14058                         deal with access points changing essids on us
14059
14060         * src/nm-device-802-11-wireless.c
14061                 - (add_new_ap_to_device_list): move AP dbus signal logic to
14062                         src/NetworkManagerAPList.c
14063                 - (real_can_interrupt_activation): new function; allow interruption
14064                         of device activation if we are waiting for a network key
14065
14066         * src/NetworkManagerPolicy.c
14067                 - (nm_policy_device_change_check): allow interruption of currently
14068                         activating devices if the device allows it.  Previous behavior
14069                         would refuse to activate a just-plugged wired device if a
14070                         wireless device was waiting for a key.
14071
14072         * src/nm-device.[ch]
14073                 - (nm_device_can_interrupt_activation): new function; ask devices
14074                         whether their activation can be interrupted
14075
14076 2006-01-20  Robert Love  <rml@novell.com>
14077
14078         * Makefile.am, configure.in: Add new man subdirectory.
14079         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
14080           man/Makefile.am: Add man pages for NetworkManager and its
14081           crime-solving bumbling buddy, NetworkManagerDispatcher.
14082         * man/.cvsignore: Add.
14083         * initscript/Debian/NetworkManager,
14084           initscript/Gentoo/NetworkManager.in,
14085           initscript/RedHat/NetworkManager.in,
14086           initscript/RedHat/NetworkManagerDispatcher.in,
14087           initscript/SUSE/networkmanager-dispatcher.in,
14088           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
14089
14090 2006-01-20  Robert Love  <rml@novell.com>
14091
14092         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
14093           instead of queuing.  This prevents the running of multiple NM
14094           daemons concurrently, which does not work whatsoever and results in
14095           neither daemon working correctly.  Also, we don't handle queuing and
14096           name-owner-changes, anyhow.
14097
14098 2006-01-20  Robert Love  <rml@novell.com>
14099
14100         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
14101         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
14102           to sbin, not bin.
14103
14104 2006-01-19  Robert Love  <rml@novell.com>
14105
14106         * configure.in: Require hal 0.5.0 or later.
14107
14108 2006-01-18  Robert Love  <rml@novell.com>
14109
14110         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
14111           Allow backends to flag a device (in whatever distro-dependent way
14112           they so desire) as disabled.  NM will ignore any such device.
14113         * src/backends/NetworkManagerDebian.c,
14114           src/backends/NetworkManagerRedHat.c,
14115           src/backends/NetworkManagerSlackware.c: Add stub function
14116           nm_system_device_get_disabled() that always returns FALSE (enabled).
14117         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14118           SUSE-specific configuration structure.  Fill it in from the
14119           NM_CONTROLLED variable in the system networking scripts.  If this var
14120           exists and is "no", we ignore the device.
14121
14122 2006-01-17  Robert Love  <rml@novell.com>
14123
14124         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14125           identical for NM.  For a full discussion, see the thread at
14126           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14127
14128 2006-01-17  Dan Williams  <dcbw@redhat.com>
14129
14130         * src/nm-device.c
14131                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14132                         function.  Fixes crash when wired DHCP fails.
14133
14134 2006-01-16  Robert Love  <rml@novell.com>
14135
14136         * src/Makefile.am: Don't install NMLoadModules
14137         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14138           from src/ to test/ as no one uses it anymore.  Note that I would be
14139           fine with removing it altogether.
14140
14141 2006-01-16  Robert Love  <rml@novell.com>
14142
14143         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14144           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14145           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14146           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14147           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14148           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14149           declarations, ever.
14150         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14151           NM_STATE_DISCONNECTED is zero).
14152
14153 2006-01-16  Robert Love  <rml@novell.com>
14154
14155         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14156           uninitialized parameter and buffer overflow.  Novell #143496.
14157
14158 2006-01-16  Dan Williams  <dcbw@redhat.com>
14159
14160         Apply the PtP Address bits of a patch from Tim Niemueller
14161
14162         * src/nm-ip4-config.[ch]
14163                 - Add ip4_ptp_address member to object
14164                 - (nm_ip4_config_copy): copy ptp address too
14165                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14166                         new functions
14167                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14168                         rather than local tunnel ip address
14169
14170         * src/vpn-manager/nm-vpn-service.c
14171                 - (print_vpn_config): update for PtP address
14172                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14173                         DBusMessageIters in preparation for getting routes from the VPN
14174                         service daemons too
14175
14176         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14177                 - (send_config_info): update for PtP address, clean up code
14178                 - (main): update for PtP address, clean up code, fix typo
14179
14180         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14181                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14182
14183         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14184                 - (pptp_ip_up): update for PtP address
14185
14186         * vpn-daemons/pptp/src/nm-pptp-service.c
14187                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14188
14189         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14190                 - (print_vpn_config): update for PtP address
14191                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14192
14193 2006-01-16  Dan Williams  <dcbw@redhat.com>
14194
14195         * gnome/applet/applet.c
14196                 - (nmwa_add_networks_helper): don't indicate an active network
14197                         if NM is disconnected or asleep
14198
14199 2006-01-16  Dan Williams  <dcbw@redhat.com>
14200
14201         * src/NetworkManagerPolicy.c
14202                 - (nm_policy_device_change_check): switch devices if we lose the link
14203                         on an ethernet device. 
14204
14205 2006-01-16  Dan Williams  <dcbw@redhat.com>
14206
14207         * gnome/applet/wso-wpa-psk-hex.[ch]
14208                 - Renamed -> wso-wpa-psk.[ch]
14209
14210         * gnome/applet/wso-wpa-psk.[ch]
14211                 - New files
14212
14213         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14214                 - Removed, rolled into wso-wpa-psk.[ch]
14215
14216         * gnome/applet/Makefile.am
14217                 - Updated for above changes
14218
14219         * gnome/applet/wireless-applet.glade
14220                 - Consolidate WPA-PSK options into one notebook
14221                         widget, and make dialogs invisible by default
14222                         to fix screen oddities
14223
14224         * gnome/applet/wireless-security-manager.c
14225                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14226                         than both the old hex & passphrase ones
14227
14228 2006-01-16  Dan Williams  <dcbw@redhat.com>
14229
14230         * gnome/applet/other-network-dialog.c
14231                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14232
14233 2006-01-16  Dan Williams  <dcbw@redhat.com>
14234
14235         * gnome/applet/applet.c
14236                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14237                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14238                         prevention to realize window before trying to get server
14239                         time
14240
14241         * gnome/applet/other-network-dialog.c
14242                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14243                         prevention to realize window before trying to get server
14244                         time
14245
14246         * gnome/applet/passphrase-dialog.c
14247                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14248                         prevention to realize window before trying to get server
14249                         time
14250
14251 2006-01-16  Robert Love  <rml@novell.com>
14252
14253         Patch from Timo Hoenig  <thoenig@suse.de:
14254         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14255           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14256           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14257           libnm-util/dbus-helpers.h: add checks whether headers are used
14258           within a C++ build.
14259
14260 2006-01-16  Dan Williams  <dcbw@redhat.com>
14261
14262         * gnome/applet/wireless-security-option.c
14263                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14264
14265 2006-01-16  Dan Williams  <dcbw@redhat.com>
14266
14267         * libnm-util/cipher-wpa-psk-passphrase.c
14268                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14269                         be 8 - 63 characters inclusive
14270
14271 2006-01-16  Dan Williams  <dcbw@redhat.com>
14272
14273         * src/nm-dbus-nm.c
14274                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14275
14276 2006-01-13  Robert Love  <rml@novell.com>
14277
14278         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14279         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14280           modules that do not use an interface.
14281
14282 2006-01-13  Dan Williams  <dcbw@redhat.com>
14283
14284         * src/nm-device.c
14285           src/nm-device.h
14286                 - Allow subclasses to implement deactivate_quickly()
14287                 - (nm_device_deactivate_quickly): call subclass
14288                         deactivate_quickly() methods
14289                 - (nm_device_set_active_link): small cleanups, and don't
14290                         deactivate the device right away because we risk a deadlock
14291                         when called from device thread, waiting for the device
14292                         thread to cancel activation
14293
14294         * src/nm-device-802-11-wireless.c
14295                 - (real_deactivate_quickly): new function
14296                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14297                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14298                         so that we kill the supplicant when we sleep too
14299                 - (supplicant_interface_init): work around naive naming attempts of
14300                         wpa_ctrl when naming sockets
14301
14302 2006-01-13  Dan Williams  <dcbw@redhat.com>
14303
14304         * src/nm-device-802-11-wireless.c
14305                 - (supplicant_cleanup): delete old device control sockets too
14306                 - (supplicant_get_device_socket_path): new function to consolidate
14307                         locations that need a path to a device's control socket
14308
14309 2006-01-12  Robert Love  <rml@novell.com>
14310
14311         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14312           description so that the description is unique for each
14313           pair (device,provider).  Fixes Novell #142773.
14314
14315 2006-01-12  Dan Williams  <dcbw@redhat.com>
14316
14317         * src/nm-device-802-11-wireless.c
14318                 - (supplicant_exec): ensure GError is correctly initialized
14319                         Reported by Diego González (gnome.org #326708)
14320
14321 2006-01-11  Robert Love  <rml@novell.com>
14322
14323         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14324           define if_mii(), open code the same results, and do so without any
14325           type punning.
14326
14327 2006-01-11  Robert Love  <rml@novell.com>
14328
14329         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14330           that wso_foo_new() returned non-NULL.  Instead, only append the new
14331           wso to wsm->options if the wso is non-NULL.  The crux is that we
14332           assume that the relevant key types are implied by WEP and WPA as
14333           appropriate.  To be sure, they should be, but we should not expect
14334           drivers to not be oozing piles of wolf fecal matter.
14335
14336 2006-01-11  Robert Love  <rml@novell.com>
14337
14338         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14339         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14340           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14341           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14342           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14343           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14344           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14345         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14346           comparing values within DBL_EPSILON.  Also fix shadowed variable
14347           usage.
14348
14349 2006-01-11  Dan Williams  <dcbw@redhat.com>
14350
14351         Add options for WPA2 and WPA1+CCMP (AES).
14352
14353         * gnome/applet/wireless-applet.glade
14354                 - Add UI bits for WPA+CCMP
14355
14356         * gnome/applet/other-network-dialog.c
14357                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14358                         and don't allow creation of WPA2 Ad-Hoc networks since
14359                         wpa_supplicant doesn't support them
14360
14361         * gnome/applet/wireless-security-manager.c
14362                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14363                         on to the specific wireless security option being created
14364
14365         * gnome/applet/wireless-security-option.[ch]
14366                 - (wso_wpa_create_key_type_model): new utility function to create
14367                         the model required for WPA Key Type combo box
14368
14369         * gnome/applet/wso-private.h
14370           gnome/applet/wireless-security-option.h
14371                 - Move private function prototypes into wso-private.h
14372
14373         * gnome/applet/wso-wpa-psk-hex.[ch]
14374           gnome/applet/wso-wpa-psk-passphrase.[ch]
14375                 - (append_dbus_params_func): get WPA version from checkbox and pass
14376                         it to the dbus serialization helper
14377                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14378                         key type combo changes
14379                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14380                         model and options
14381
14382         * libnm-util/cipher-wpa-psk-hex.c
14383           libnm-util/cipher-wpa-psk-passphrase.c
14384                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14385                         new function; allow the cipher to be changed after object creation
14386
14387         * src/nm-ap-security-wpa-psk.c
14388                 - (set_description): Do WPA2 descriptions too
14389
14390         * src/nm-ap-security.c
14391                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14392
14393 2006-01-11  Robert Love  <rml@novell.com>
14394
14395         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14396           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14397           from the ifreq structure in lieu of an open coded solution.  Removes
14398           a life-threatening type-punning.
14399         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14400           types, ever, whatsoever, baby.
14401
14402 2006-01-11  Robert Love  <rml@novell.com>
14403
14404         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14405           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14406           assignments to applet->nm_state into a new nmwa_set_state() function
14407           for both cleanliness and to help debugging.
14408
14409 2006-01-10  Robert Love  <rml@novell.com>
14410
14411         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14412           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14413           seconds, exclusive.  That is, we want to sleep x seconds such that
14414           1 < x < 2.
14415
14416 2006-01-10  Robert Love  <rml@novell.com>
14417
14418         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14419           the attr fields according to the example in the email available at
14420           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14421           Conversely, we do have to free 'name', so we do so, fixing a leak.
14422
14423 2006-01-10  Robert Love  <rml@novell.com>
14424
14425         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14426           sure that we close the socket!
14427
14428 2006-01-10  Robert Love  <rml@novell.com>
14429
14430         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14431           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14432           src/nm-device.c: Fix a FIXME!  Reimplement the function
14433           nm_device_update_hw_address() in device subclass variants,
14434           nm_device_802_3_ethernet_set_address() and
14435           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14436           This fixes the existing bug where MAC addresses are all zeros.
14437
14438 2006-01-10  Robert Love  <rml@novell.com>
14439
14440         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14441           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14442           option to give users ability to globally disconnect and put NM to
14443           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14444           clean disconnect.
14445
14446 2006-01-09  Robert Love  <rml@novell.com>
14447
14448         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14449           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14450           User-space does not supply these types, so we have to define them
14451           ourselves.  The relevant kernel maintainer refused to accept a patch
14452           switching these headers to the proper C99 types.
14453
14454 2006-01-09  Dan Williams  <dcbw@redhat.com>
14455
14456         Apply Robert's 'tray icon redo' patch with fixes
14457         * gnome/applet/applet.c
14458           gnome/applet/applet.h
14459                 - Instead of using a menu bar + menu item, simulate menu
14460                         behavior using a popup menu.  Highlight the area around
14461                         the icon more like a menu too, by playing with the
14462                         applet's size requisition
14463
14464 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14465         * libnm-util/dbus-helpers.c
14466           libnm-util/dbus-helpers.h
14467                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14468                         to 'exception_namespace' (:namespace is a keyword in
14469                         C++)
14470
14471 2006-01-09  Dan Williams  <dcbw@redhat.com>
14472
14473         * src/NetworkManagerPolicy.c
14474                 - (nm_policy_device_change_check): don't autoswitch away from
14475                         Ad-Hoc networks, since there's really no concept of
14476                         "link"
14477
14478         * src/nm-dbus-nm.c
14479                 - (nm_dbus_nm_create_wireless_network): mark created networks
14480                         as Ad-Hoc networks
14481
14482         * src/nm-device-802-11-wireless.c
14483                 - (real_activation_success_handler): add user-created Ad-Hoc
14484                         networks to the device's scan list
14485
14486 2006-01-08  Dan Williams  <dcbw@redhat.com>
14487
14488         We now require a patch for wpa_supplicant to support Ad-Hoc
14489         networks:
14490           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14491
14492         * src/nm-device-802-11-wireless.c
14493                 - (supplicant_send_network_config): turn off wpa_supplicant's
14494                         scanning.  Fixes Ad-Hoc networks.
14495
14496 2006-01-08  Dan Williams  <dcbw@redhat.com>
14497
14498         * src/nm-ap-security.c
14499           src/nm-ap-security.h
14500                 - Add a user_created argument to the write_supplicant_config
14501                         functions
14502
14503         * src/nm-ap-security-wep.c
14504           src/nm-ap-security-wpa-psk.c
14505           src/nm-device-802-11-wireless.c
14506                 - Make Ad-Hoc mode somewhat work, at least write the
14507                         correct options to wpa_supplicant
14508
14509 2006-01-08  Dan Williams  <dcbw@redhat.com>
14510
14511         * src/nm-device-802-11-wireless.c
14512                 - Remove unused code from the old device activation path
14513
14514 2006-01-08  Dan Williams  <dcbw@redhat.com>
14515
14516         * libnm-util/dbus-helpers.c
14517                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14518                         dbus when key == NULL
14519
14520 2006-01-08  Dan Williams  <dcbw@redhat.com>
14521
14522         * gnome/applet/nm-gconf-wso-wpa-psk.c
14523                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14524                         correct arguments to nmu_security_deserialize_wpa_psk()
14525
14526         * src/nm-ap-security-wpa-psk.c
14527                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14528                         arguments to nmu_security_deserialize_wpa_psk()
14529
14530 2006-01-08  Dan Williams  <dcbw@redhat.com>
14531
14532         * gnome/applet/wso-wpa-psk-hex.c
14533           gnome/applet/wso-wpa-psk-passphrase.c
14534                 - Hook up the append_dbus_params_func() function
14535
14536 2006-01-08  Dan Williams  <dcbw@redhat.com>
14537
14538         * src/nm-device-802-11-wireless.c
14539                 - (get_wireless_capabilities): correctly detect driver WPA
14540                         capabilities
14541
14542 2006-01-08  Dan Williams  <dcbw@redhat.com>
14543
14544         * gnome/applet/Makefile.am
14545           gnome/applet/wso-wpa-psk-hex.c
14546           gnome/applet/wso-wpa-psk-hex.h
14547                 - New files, implement WPA-PSK Hex key input
14548
14549         * gnome/applet/wireless-applet.glade
14550                 - Change existing wpa-psk stuff to wpa-psk-hex
14551                 - Add new widgets for wpa-psk-passphrase
14552
14553         * gnome/applet/wireless-security-manager.c
14554                 - (wsm_set_capabilities): enable WPA options
14555
14556         * gnome/applet/wso-wpa-psk-passphrase.c
14557                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14558                         for WPA-PSK passphrase
14559
14560 2006-01-08  Dan Williams  <dcbw@redhat.com>
14561
14562         * include/NetworkManager.h
14563                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14564                         applet/info-daemons
14565
14566         * gnome/applet/passphrase-dialog.c
14567                 - Use the constant.  Fixes a bug where the arguments to
14568                         dbus_message_new_error() were incorrect
14569
14570         * src/nm-dbus-nmi.c
14571                 - Use the constant
14572
14573 2006-01-07  Dan Williams  <dcbw@redhat.com>
14574
14575         * src/nm-device-802-11-wireless.c
14576                 - Add a link timeout so we allow the supplicant time to
14577                         reassociate if it can, before we deactivate the card
14578                 - Fix up link status and link updating so things work better
14579
14580 2006-01-07  Dan Williams  <dcbw@redhat.com>
14581
14582         * src/nm-device-802-11-wireless.c
14583                 - Switch over to using wpa_supplicant
14584                 - Add a timeout of 10s for association of the supplicant
14585                 - Start the monitor callback of the supplicant
14586
14587 2006-01-07  Dan Williams  <dcbw@redhat.com>
14588
14589         * src/NetworkManagerUtils.c
14590                 - (nm_utils_supplicant_request,
14591                   nm_utils_supplicant_request_with_check):
14592                         pass correct buffer length to wpa_ctrl_request()
14593
14594 2006-01-07  Dan Williams  <dcbw@redhat.com>
14595
14596         * src/nm-device-private.h
14597           src/nm-device.c
14598                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14599                         this function available to subclasses
14600
14601 2006-01-06  Robert Love  <rml@novell.com>
14602
14603         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14604           user plugging in a network cable signals their preference for to
14605           switch, unless the user explicitly selected a wireless network and
14606           therefore signaled their preference for said wireless network over
14607           wired.  In other words, do exactly what makes sense.
14608
14609 2006-01-06  Robert Love  <rml@novell.com>
14610
14611         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14612           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14613           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14614           showing up in my greps.
14615
14616 2006-01-06  Robert Love  <rml@novell.com>
14617
14618         * gnome/applet/applet-dbus-devices.c,
14619           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14620           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14621           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14622           New Network' both failed in the non-encrypted case because we were
14623           not appending the security options to the DBUS message.  And
14624           'Connect to Other' was also failing in the encrypted case because
14625           we were not incrementing to the next DBUS parameter.  All fixed.
14626           Thanks to dcdw for some debugging help.
14627
14628 2006-01-06  Robert Love  <rml@novell.com>
14629
14630         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14631           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14632           hangup code and add per-device hangup.  Tie last commit into the
14633           GNOME applet.  TODO:  Save, understand, and respond to the state of
14634           each dialup device.
14635
14636 2006-01-06  Robert Love  <rml@novell.com>
14637
14638         Patch by Timo Hoenig <thoenig@suse.de>:
14639         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14640           hangup specific dialup devices.
14641         * src/backends/NetworkManagerDebian.c,
14642           src/backends/NetworkManagerGentoo.c,
14643           src/backends/NetworkManagerRedHat.c,
14644           src/backends/NetworkManagerSlackware.c: Add stub backend.
14645         * src/backends/NetworkManagerRedHat.c,
14646           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14647           hangup specific dialup devices.
14648
14649 2006-01-04  Robert Love  <rml@novell.com>
14650
14651         * gnome/applet/applet-dbus-devices.c,
14652           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14653           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14654           connections.
14655
14656 2006-01-04  Dan Williams  <dcbw@redhat.com>
14657
14658         First dump of wpa_supplicant-related code.  It's not hooked up to
14659         anything yet though.  Thanks to Kay Sievers for
14660         wpa_supplicant_wrapper.c, which formed the basis for this work,
14661         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14662
14663         * src/Makefile.am
14664           src/wpa_ctrl.[ch]
14665                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14666
14667         * src/NetworkManagerUtils.[ch]
14668                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14669                         Add convenience functions for talking to wpa_supplicant
14670
14671         * src/nm-ap-security.[ch]
14672           src/nm-ap-security-wep.c
14673           src/nm-ap-security-wpa-psk.[ch]
14674                 - Update and implement real_write_supplicant_config functions
14675                         in all security types
14676                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14677                         nm-ap-security-wpa-psk.c
14678
14679         * src/nm-device-802-11-wireless.c
14680                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14681                    wpa_supplicant_start, wpa_supplicant_interface_init,
14682                    wpa_supplicant_send_network_config): add functions to talk to
14683                         wpa_supplicant and write network config to it
14684
14685 2006-01-04  Robert Love  <rml@novell.com>
14686
14687         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14688           values so that distribution-backends can differentiate between the
14689           various types (modem, ISDN, et cetera) of dialup device that they
14690           support.
14691         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14692           needed.
14693
14694 2006-01-03  Dan Williams  <dcbw@redhat.com>
14695
14696         * src/NetworkManagerPolicy.c
14697           src/nm-device.[ch]
14698           src/nm-device-802-11-wireless.c
14699                 - Move wireless-specific activation failure and success code
14700                         into wireless device class
14701
14702 2006-01-03  Robert Love  <rml@novell.com>
14703
14704         Patch by Preggna S:
14705         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14706           IPsec does not require that a VPN client be bound to an interface,
14707           due to the use of the in-kernel IPSec bits.  So make the tunnel
14708           device optional.
14709
14710 2006-01-03  Dan Williams  <dcbw@redhat.com>
14711
14712         * src/NetworkManagerAP.c
14713                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14714                         the WPA IE specifies that WEP is supported
14715
14716         * src/nm-device-802-11-wireless.c
14717                 - (process_scan_results): don't mark an AP as supporting WEP
14718                         if there's already other encryption capability info
14719
14720 2006-01-03  Dan Williams  <dcbw@redhat.com>
14721
14722         * src/dhcp-manager/nm-dhcp-manager.c
14723                 - Recognize activation cancellation when waiting for DHCP
14724                         configuration from dhcdbd
14725                 - Ignore non-dhcdbd messages
14726
14727         * src/nm-device.c
14728                 - (real_act_stage3_ip_config_start): return to correct behavior
14729                         of letting the dhcp-manager notify us of failure or
14730                         success rather than incorrectly doing that ourselves
14731                 - (nm_device_activate_stage4_ip_config_get): deal with
14732                         activation cancellation a bit earlier
14733
14734 2006-01-03  Dan Williams  <dcbw@redhat.com>
14735
14736         * src/nm-device-802-11-wireless.c
14737           src/nm-device.[ch]
14738                 - Add hooks to subclasses for stage3_ip_config_start and
14739                         stage4_ip_config_timeout
14740
14741         * src/nm-device-802-3-ethernet.c
14742                 - (real_get_generic_capabilities): make devices NM-supported
14743                         by default
14744
14745 2006-01-03  Robert Love  <rml@novell.com>
14746
14747         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14748           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14749           latter cannot differentiate between error and the address -1; misc.
14750           clean up.
14751
14752 2006-01-03  Dan Williams  <dcbw@redhat.com>
14753
14754         * src/NetworkManager.c
14755                 - Move link-checking/probing into the device subclasses
14756                         themselves
14757
14758         * src/nm-device.[ch]
14759           src/nm-device-802-11-wireless.c
14760           src/nm-device-802-3-ethernet.c
14761                 - Do periodic link checking in device subclasses rather
14762                         than being triggered from NetworkManager.c
14763                 - discover_wireless_capabilities -> get_wireless_capabilities
14764                 - discover_generic_capabilities -> get_generic_capabilities
14765                 - Device subclass activation routines now return a value of type
14766                         NMActStageReturn to indicate what step to perform next
14767                 - Devices now override stage4_get_ip4_config if they choose
14768
14769 2006-01-01  Dan Williams  <dcbw@redhat.com>
14770
14771         * src/nm-device-802-11-wireless.c
14772                 - (real_init): don't chain up to parent init because we don't
14773                         need to do that anymore
14774
14775         * src/nm-device.c
14776                 - (discover_device_type): fix arguments to ioctl() to correctly
14777                         pass interface name
14778                 - (nm_device_new): consolidate generic device initialization into
14779                         nm_device_new()
14780                 - (real_init): remove, consolidated to nm_device_new()
14781                 - (nm_device_deactivate, real_deactivate): consolidate
14782
14783 2006-01-01  Dan Williams  <dcbw@redhat.com>
14784
14785         * src/nm-activation-request.c
14786                 - Change dhcp_state member of the NMActRequest structure
14787                         from guint8 to guint32
14788
14789         * src/dhcp-manager/nm-dhcp-manager.[ch]
14790                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14791                         than guint8 to match the dbus argument.  Turns out we were
14792                         overwriting memory since we were passing in only a guint8
14793
14794 2005-12-31  Dan Williams  <dcbw@redhat.com>
14795
14796         * refactor NMDevice into a GObject-based framework with separate
14797                 objects for wired and wireless.  The following files are no
14798                 longer used but should stick around for a bit so we don't
14799                 loose code through the cracks:
14800                         NetworkManagerDevice.c
14801                         NetworkManagerDevice.h
14802                         NetworkManagerWireless.c
14803                         NetworkManagerWireless.h
14804
14805         The intent here is to allow each device type to manage its own
14806         connection & activation life-cycle, ie to allow wireless devices
14807         to interface with wpa_supplicant, etc.  There's a fair bit of
14808         encapsulation breakage right now that should gradually get pulled
14809         back into each device, along with things like periodic property
14810         updates and link probing.
14811
14812 2005-12-29  Dan Williams  <dcbw@redhat.com>
14813
14814         * include/NetworkManager.h
14815                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14816                         between networks that don't have any encryption at all
14817
14818 2005-12-29  Dan Williams  <dcbw@redhat.com>
14819
14820         * test/test-common.c
14821           test/test-common.h
14822           test/Makefile.am
14823                 - Move to a test-common subdirectory
14824
14825         * test/libnm-util/test-ciphers.c
14826                 - Move test data to test-inputs.h
14827                 - Test WPA ciphers too
14828
14829         * test/libnm-util/test-dbus-helpers.c
14830                 - Test serialization/deserialization of ciphers
14831
14832 2005-12-29  Dan Williams  <dcbw@redhat.com>
14833
14834         * gnome/applet/applet-dbus-devices.c
14835                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14836                         in dbus calls to NM
14837                 - Set capabilities on WirelessNetwork objects
14838                 - Receive and save type-specific device capabilities too
14839
14840         * gnome/applet/applet-dbus-info.c
14841           gnome/applet/applet-dbus.c
14842                 - Passphrase dialog no longer a singleton; new instance gets created
14843                         on each request.  Updates to deal with that.
14844
14845         * gnome/applet/applet.c
14846                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14847                         than single 'encrypted' flag
14848                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14849                         menu items
14850                 - Passphrase dialog updates per above
14851
14852         * gnome/applet/menu-items.c
14853                 - (network_menu_item_update): use AP capabilities to determine
14854                         encryption
14855
14856         * gnome/applet/nm-device.[ch]
14857                 - Add accessors for type-specific device capabilities
14858
14859         * gnome/applet/other-network-dialog.c
14860                 - Rework to respect device capabilities.  i.e., if the device doesn't
14861                         support WPA, remove that option from the security dropdown
14862
14863         * gnome/applet/passphrase-dialog.c
14864                 - Massive rework so that a new instance is created each time
14865                         it's used, to support wireless network capabilities
14866
14867         * gnome/applet/wireless-network.[ch]
14868                 - Add accessors and members for wireless network capabilities
14869
14870         * gnome/applet/wireless-security-manager.[ch]
14871                 - (wsm_set_capabilities): called after creation to set which
14872                         security options get shown to the user
14873
14874 2005-12-29  Dan Williams  <dcbw@redhat.com>
14875
14876         * libnm-util/cipher-wpa-psk-passphrase.c
14877                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14878                         like other ciphers
14879
14880 2005-12-23  Dan Williams  <dcbw@redhat.com>
14881
14882         * gnome/applet/applet-dbus-info.c
14883                 - (nmi_dbus_get_key_for_network): if there's no entry in
14884                         GConf for a network, assume we want a new key
14885                 - (nmi_save_network_info): serialize wireless security info
14886                         into GConf so its saved
14887
14888         * src/nm-dbus-nm.c
14889                 - Fix warning as we may not be passed security info when
14890                         connecting to a wireless network
14891
14892 2005-12-23  Dan Williams  <dcbw@redhat.com>
14893
14894         * gnome/applet/applet-compat.c
14895                 - Fix bugs in GConf entry conversion
14896
14897         * gnome/applet/applet-dbus-info.c
14898                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14899                         list being zero-length
14900
14901         * libnm-util/cipher-*
14902           libnm-util/dbus-helpers.c
14903                 - All ciphers must now return hashed keys as UTF-8 valid
14904                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14905                         through dbus as strings too.
14906                 - Consolidate various functions that do bin->hex and hex->bin
14907                         conversion into cipher.c
14908
14909         * src/nm-ap-security-wep.c
14910           src/nm-ap-security-wpa-psk.c
14911                 - Handle NULL keys since we may not know keys right away
14912
14913         * src/nm-dbus-nmi.c
14914                 - (nm_dbus_get_network_data_cb): actually advance to the start
14915                         of the wireless security info before we try to deserialize it
14916
14917         * libnm-util/test-ciphers.c
14918                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14919
14920 2005-12-22  Dan Williams  <dcbw@redhat.com>
14921
14922         * gnome/applet/applet-compat.[ch]
14923                 - Convert old-format GConf and keyring entries
14924                         when the applet starts up.
14925
14926         * gnome/applet/applet.c
14927                 - (nmwa_get_instance): Call the conversion function
14928                         on startup before dbus is initialized
14929
14930 2005-12-22  Dan Williams  <dcbw@redhat.com>
14931
14932         * gnome/applet/applet-dbus-info.c
14933                 - Remove nmi_dbus_create_error_message() in favor of
14934                         nmu_create_dbus_error_message()
14935                 - (nmi_dbus_get_network_properties): Error message cleanups
14936                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14937                         gconf key rather than 'addresses', since they really are BSSIDs
14938                 - (nmi_dbus_get_network_properties): Dispose of the security
14939                         object when we're done with it
14940
14941 2005-12-21  Dan Williams  <dcbw@redhat.com>
14942
14943         * Consolidate the info-daemon's "updateNetworkInfo" and
14944                 "addNetworkAddress" calls into just "updateNetworkInfo"
14945
14946 2005-12-21  Dan Williams  <dcbw@redhat.com>
14947
14948         * Make connection after key retrieval work again
14949
14950 2005-12-21  Dan Williams  <dcbw@redhat.com>
14951
14952         * gnome/applet/nm-gconf-wso*
14953                 - Make the serialize functions return gboolean
14954                         rather than int
14955
14956         * gnome/applet/nm-gconf-wso.c
14957                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14958                         parent class handling so we don't segfault
14959
14960         * src/NetworkManagerAP.[ch]
14961                 - (nm_ap_get_capabilities): new function, return capabilities
14962                         now that something can use them
14963                 - (nm_ap_set_encrypted): assume that an access point supports
14964                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14965                         we even tell whether it just supports WEP40?
14966
14967         * src/NetworkManagerDevice.c
14968                 - (ap_need_key): resurrect and update for the New World Order
14969                 - (nm_device_wireless_get_activation_ap): if we're not given
14970                         security info to use, create some based on access point
14971                         capabilities
14972
14973         * src/nm-ap-security-wep.c
14974                 - (nm_ap_security_wep_new_from_ap): create a new object
14975                         based on a certain access point's capabilities
14976
14977         * src/nm-ap-security.c
14978                 - (nm_ap_security_new_from_ap): delegate creation of a new
14979                         object based on access point capabilities to a subclass
14980                 - (nm_ap_security_copy_properties): don't segfault if we
14981                         don't have a key yet
14982
14983         * src/nm-dbus-nm.c
14984                 - (nm_dbus_nm_set_active_device): provide more informative
14985                         output when errors occur.  Also construct security info
14986                         for a given access point if we weren't given any
14987
14988 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14989
14990         * configure.in: Added Lithuanian to ALL_LINGUAS.
14991
14992 2005-12-21  Dan Williams  <dcbw@redhat.com>
14993
14994         * test/libnm-util
14995                 - Add some testcases for WEP ciphers
14996
14997 2005-12-17  Dan Williams  <dcbw@redhat.com>
14998
14999         * Fix bugs
15000
15001 2005-12-17  Dan Williams  <dcbw@redhat.com>
15002
15003         * include/NetworkManager.h
15004                 - Finally kill NMEncKeyType
15005
15006         * gnome/applet/applet-dbus-info.c
15007                 - (nmi_save_network_info): convert to NMGConfWSO
15008
15009         * gnome/applet/nm-gconf-wso-*.c
15010                 - Implement gconf serialization functions
15011
15012         * src/NetworkManagerPolicy.c
15013                 - (nm_policy_activation_finish): fix up meaning of
15014                         automatic/user_requested
15015
15016 2005-12-17  Dan Williams  <dcbw@redhat.com>
15017
15018         * gnome/applet/*
15019                 - More applet cleanups
15020                 - Use the dbus-method-dispatcher
15021
15022         * libnm-util/dbus-method-dispatcher.[ch]
15023                 - Generalize the implementation from NM in
15024                         NetworkManagerUtils.c
15025
15026 2005-12-16  Dan Williams  <dcbw@redhat.com>
15027
15028         * gnome/applet/*
15029                 - Fix up the passphrase dialog to use all the
15030                         WirelessSecurityOption stuff (untested)
15031
15032 2005-12-16  Dan Williams  <dcbw@redhat.com>
15033
15034         * Move nm_gconf_get_*_helper() functions to separate files,
15035                 gconf-helpers.c & gconf-helpers.h
15036
15037         * New NMGConfWSO objects for managing the gconf side of things.
15038                 Eventually these should be merged with the
15039                 WirelessSecurityOption objects and a common base (that can
15040                 serialize/deserialize from dbus & gconf) should be
15041                 refactored out, but for now they are separate.
15042
15043 2005-12-16  Robert Love  <rml@novell.com>
15044
15045         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
15046           binaries unless they exist (nm_spawn_process() emits a warning if
15047           asked to spawn a non-existant process).
15048
15049 2005-12-16  Dan Williams  <dcbw@redhat.com>
15050
15051         * gnome/applet/applet-dbus-info.c
15052                 - Clean up lots of gconf-related code
15053
15054 2005-12-16  Robert Love  <rml@novell.com>
15055
15056         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
15057
15058 2005-12-16  Dan Williams  <dcbw@redhat.com>
15059
15060         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
15061
15062         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
15063                 bits still to be done)
15064
15065 2005-12-16  Dan Williams  <dcbw@redhat.com>
15066
15067         * Finally move info-daemon related stuff out of
15068                 NetworkManagerDbus.c to nm-dbus-nmi.c
15069
15070 2005-12-16  Dan Williams  <dcbw@redhat.com>
15071
15072         * Kill auth_method for access points, since that's now done
15073                 by NMAPSecurity objects
15074
15075         * Add a copy-constructor of sorts to NMAPSecurity
15076                 (how do you do this properly in glib???)
15077
15078 2005-12-15  Dan Williams  <dcbw@redhat.com>
15079
15080         * Exorcise encryption key hashing on APs
15081         * Use libnm-util's serialization/deserialization in both the
15082                 applet and NM
15083         * Random other stuff
15084
15085 2005-12-15  Robert Love  <rml@novell.com>
15086
15087         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
15088           is being added to the icon naming spec, so let's use that (Tango CVS
15089           has the icon).  Because it is new, however, we fall back to the
15090           current "gnome-lockscreen" if the new icon is not around, thus
15091           behavior is the same.
15092         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
15093           factory junk.
15094
15095 2005-12-15  Robert Love  <rml@novell.com>
15096
15097         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
15098           well, help to give.  Couple other misc. bits.
15099
15100 2005-12-15  Dan Williams  <dcbw@redhat.com>
15101
15102         * libnm-util/dbus-helpers.[ch]
15103                 - Make this the one-stop-shop for serializing/deserializing
15104                         AP & connection security settings over dbus.  Both NM
15105                         and applets should use this to ensure consistent dbus
15106                         API going forwared.
15107
15108 2005-12-15  Robert Love  <rml@novell.com>
15109
15110         Patch by Timo Hoenig  <thoenig@suse.de>:
15111         * src/NetworkManagerDbus.c
15112                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15113                         if HAL jumps off the system bus.  Otherwise libdbus
15114                         (dbus_connection_dispatch) will try to run the filter
15115                         function of our libhal context which is already freed.
15116
15117 2005-12-15  Alexander Shopov  <ash@contact.bg>
15118
15119         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15120
15121 2005-12-14  Dan Williams  <dcbw@redhat.com>
15122
15123         * include/NetworkManager.h
15124           src/NetworkManagerWireless.c
15125                 - Rearrange 802.11 wireless-specific capabilities again
15126
15127         * src/Makefile.am
15128                 - Forgot to add wpa.c/wpa.h to the makefiles
15129
15130         * src/NetworkManagerAP.[ch]
15131                 - Implement access point capabilities and parse the
15132                         WPA/RSN IEs into the capability bitfield
15133                 - Switch the "encrypted" attribute to utilize the bitfield
15134                         and capabilities rather than being independent
15135
15136         * src/NetworkManagerDevice.c
15137                 - (nm_device_wireless_get_activation_ap): break it horribly
15138                         until we can push NMAPSecurity objects into access point
15139                         objects and through the activation chain
15140                 - Stuff WPA & RSN IEs into AP capabilities
15141
15142         * src/nm-dbus-nm.c
15143                 - Take a shot at actually making setActiveDevice work
15144
15145         * src/wpa.[ch]
15146                 - Make the API a bit saner
15147
15148 2005-12-14  Dan Williams  <dcbw@redhat.com>
15149
15150         * include/NetworkManager.h
15151                 - Add 802.11-specific capability for 802.1x key
15152                         management
15153
15154         * src/wpa.[ch]
15155                 - Pull in WPA IE and RSN IE parsing code from
15156                         wpa_supplicant so we can determine access point
15157                         capabilities
15158                 - Move WPA-related constants here from NetworkManagerAP.h
15159                         and NetworkManagerDevice.c
15160
15161         * src/NetworkManagerDevice.c
15162           src/NetworkManagerAP.[ch]
15163                 - Use WPA-related constants from wpa.h
15164
15165 2005-12-14  Dan Williams  <dcbw@redhat.com>
15166
15167         * include/NetworkManager.h
15168                 - Update and split 802.11 wireless-specific capabilities from
15169                         generic device capabilities
15170
15171         * src/NetworkManagerDevice.c
15172           src/NetworkManagerDevicePrivate.h
15173                 - (nm_device_wireless_discover_capabilities): Move 802.11
15174                         wireless-specific capability checks to
15175                         NetworkManagerWireless.c
15176                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15177                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15178
15179         * src/NetworkManagerWireless.[ch]
15180                 - (nm_802_11_wireless_discover_capabilities): Check extended
15181                         802.11 wireless-specific capabilities of the driver
15182
15183 2005-12-14  Robert Love  <rml@novell.com>
15184
15185         Patch from Stefan Scheler <sscheler@suse.de>:
15186         * src/NetworkManagerDevice.c: call backend code to activate and
15187           deactivate NIS.
15188         * src/NetworkManagerSystem.h: add new NIS interfaces.
15189         * src/backends/NetworkManagerDebian.c,
15190           src/backends/NetworkManagerGentoo.c,
15191           src/backends/NetworkManagerRedHat.c,
15192           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15193           support.
15194         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15195
15196 2005-12-14  Dan Williams  <dcbw@redhat.com>
15197
15198         * src/nm-ap-security*.[ch]
15199                 - Add AP security abstractions to NetworkManager
15200
15201         * src/nm-dbus-device.c
15202                 - Begin to parse new format dbus messages from the applet
15203                         and construct an AP security object from the message
15204
15205         * libnm-util/dbus-helpers.c
15206                 - Use message iters so we can append the key as a fixed
15207                         array of bytes, which actually works rather than
15208                         using dbus_message_append_args() as we were before
15209
15210 2005-12-14  Dan Williams  <dcbw@redhat.com>
15211
15212         * src/NetworkManagerDbus.c
15213           gnome/applet/applet-dbus.c
15214                 - Fix up dbus service replacement options.  The applet
15215                         should allow replacement, NM itself should not.
15216
15217 2005-12-13  Robert Love  <rml@novell.com>
15218
15219         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15220           Instead, fail silently if config is NULL by not asserting and not
15221           returning FALSE.  Also, make sure we always fclose() the file.
15222
15223 2005-12-13  Robert Love  <rml@novell.com>
15224
15225         Patch by Stefan Scheler <sscheler@suse.de>:
15226         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15227            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15228            via DHCP.  Still need the backends to commit the NIS domain name and
15229            and servers to yp.conf as needed.
15230
15231 2005-12-13  Robert Love  <rml@novell.com>
15232
15233         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15234           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15235
15236 2005-12-13  Robert Love  <rml@novell.com>
15237
15238         * src/named-manager/nm-named-manager.c: Don't unref the config until
15239           after we call rewrite_resolv_conf(), because get_last_default_domain()
15240           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15241           `config != NULL' failed" assertion failures and "Could not commit DNS
15242           changes" warnings.
15243
15244 2005-12-12  Dan Williams  <dcbw@redhat.com>
15245
15246         * libnm-util/dbus-helpers.[ch]
15247           libnm-util/Makefile.am
15248                 - new helper calls to consolidate locations where
15249                         NM's setDevice method is called
15250
15251         * gnome/applet/applet-dbus-devices.c
15252           gnome/applet/wireless-security-option.c
15253           gnome/applet/wso-*
15254                 - Implement dbus message param append function for
15255                         all wireless security options
15256
15257 2005-12-12  Robert Love  <rml@novell.com>
15258
15259         * libnm-util/cipher-wep-passphrase.c,
15260           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15261           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15262           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15263           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15264           When handling keys, we don't care what the sign is.  The compiler
15265           guarantees us that we get our 8-bits, which is all we care about.
15266         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15267
15268 2005-12-12  Dan Williams  <dcbw@redhat.com>
15269
15270         * gnome/applet/applet-dbus-devices.[ch]
15271           gnome/applet/applet.c
15272           gnome/applet/other-network-dialog.c
15273           gnome/applet/wireless-security-manager.[ch]
15274           gnome/applet/wireless-security-option.[ch]
15275           gnome/applet/wso-*
15276                 - Push the wireless security options further into the applet
15277
15278 2005-12-12  Robert Love  <rml@novell.com>
15279
15280         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15281           return any name servers.  That is perfectly valid.  (Novell #134369).
15282
15283 2005-12-11  Dan Williams  <dcbw@redhat.com>
15284
15285         * gnome/applet/wso-*
15286           gnome/applet/wireless-security-option.*
15287           gnome/applet/Makefile.am
15288                 - split each security option out so we can eventually
15289                         have each one build up their own dbus message
15290                         arguments to send to NM
15291
15292 2005-12-11  Dan Williams  <dcbw@redhat.com>
15293
15294         * Make validation of the key work correctly
15295
15296 2005-12-11  Dan Williams  <dcbw@redhat.com>
15297
15298         * Hook more bits of the Other Network Dialog up to the
15299                 wireless security manager stuff, and restructure
15300                 bits of the dialog so there's less code.
15301
15302 2005-12-10  Dan Williams  <dcbw@redhat.com>
15303
15304         * gnome/applet/Makefile.am
15305                 - Add libnm-util to includes
15306                 - Add libnm-util to link list
15307                 - Add wireless-security-common.* to compile list
15308
15309         * gnome/applet/other-network-dialog.c
15310                 - Convert to using the WirelessSecurityManager code and
15311                         widgets
15312
15313         * gnome/applet/passphrase-dialog.c
15314                 - Comment out references to stuff in the glade file that
15315                         cause runtime errors until it can be fixed up
15316                         to use the WirelessSecurityManager code
15317
15318         * gnome/applet/wireless-applet.glade
15319                 - Rename some widgets
15320                 - Add widgets for the WirelessSecurityManager code
15321                 - Remove passphrase-related stuff since that's now
15322                         handled by the WirelessSecurityManager code
15323
15324 2005-12-10  Dan Williams  <dcbw@redhat.com>
15325
15326         * gnome/applet/applet-dbus-devices.c
15327                 - Print out error message details for dbus pending call callbacks
15328                 - Move nmwa_dbus_update_devices() up
15329
15330         * gnome/applet/applet-dbus-vpn.c
15331                 - Print out error message details for dbus pending call callbacks
15332
15333 2005-12-10  Dan Williams  <dcbw@redhat.com>
15334
15335         * libnm-util/*
15336                 - More fixups
15337                 - Remove cipher-manager.* because we don't need it
15338                 - Forgot to add gnome-keyring-md5 files to compile list
15339
15340 2005-12-09  Dan Williams  <dcbw@redhat.com>
15341
15342         * libnm-util/*
15343           configure.in
15344           Makefile.am
15345                 - Add a utility library for clients of NetworkManager.  It's
15346                         only targetted at applets for the moment, and contains
15347                         a generalized 802.11 cipher framework for different
15348                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15349
15350 2005-12-09  Robert Love  <rml@novell.com>
15351
15352         * src/NetworkManagerDevice.c: handle error better in
15353           nm_device_set_mode().
15354
15355 2005-12-08  Robert Love  <rml@novell.com>
15356
15357         * include/NetworkManager.h: add WPA capabilities constants
15358         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15359           or WPA2 and add the capabilities bits as appropriate.
15360
15361 2005-12-08  Robert Love  <rml@novell.com>
15362
15363         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15364           NetworkManagerDispatcher.
15365         * configure.in, initscript/SUSE/.cvsignore,
15366           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15367           initscript.
15368
15369 2005-12-08  Robert Love  <rml@novell.com>
15370
15371         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15372
15373 2005-12-08  Robert Love  <rml@novell.com>
15374
15375         * src/NetworkManagerDevice.c: We want to fall back on and default to
15376           IW_MODE_AUTO, not -1, which is more in line with our previous
15377           behavior.  Otherwise, we try to set the wireless mode to -1 in
15378           nm_device_set_mode().
15379
15380 2005-12-07  Robert Love  <rml@novell.com>
15381
15382         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15383           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15384           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15385           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15386           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15387           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15388           zero.
15389
15390 2005-12-07  Robert Love  <rml@novell.com>
15391
15392         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15393           supplied IP is invalid, fall back to DHCP.
15394
15395 2005-12-07  Dan Williams  <dcbw@redhat.com>
15396
15397         * Convert NETWORK_MODE_* constants to IW_MODE_*
15398         * Make all the get_mode/set_mode functions take and return 'int'
15399         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15400
15401 2005-12-07  Robert Love  <rml@novell.com>
15402
15403         * src/NetworkManagerDevice.c: strncpy() buffer check.
15404         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15405
15406 2005-12-06  Dan Williams  <dcbw@redhat.com>
15407
15408         * gnome/applet/applet-dbus.c
15409                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15410
15411         * gnome/applet/applet-dbus-vpn.c
15412                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15413                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15414                         to TRUE here if stage was ACTIVATED
15415
15416 2005-12-06  Dan Williams  <dcbw@redhat.com>
15417
15418         * Change nm_device_is_* functions to better names:
15419                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15420                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15421
15422 2005-12-06  Dan Williams  <dcbw@redhat.com>
15423
15424         * Change naming of NMDeviceType to something more sensible:
15425                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15426                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15427                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15428
15429 2005-12-06  Dan Williams  <dcbw@redhat.com>
15430
15431         * Move NetworkManager.h -> include/NetworkManager.h
15432         * Split out VPN stuff into include/NetworkManagerVPN.h
15433         * Fix up makefiles to include new location
15434         * Fix up sources to include NetworkManagerVPN.h
15435
15436 2005-12-06  Dan Williams  <dcbw@redhat.com>
15437
15438         Various changes in the applet to move VPN connection "state" -> "stage",
15439         which it actually is.  I'd like to change the signal as well when we
15440         break compat in the near future.
15441
15442 2005-12-06  Dan Williams  <dcbw@redhat.com>
15443
15444         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15445         * initscript/Slackware/rc.networkmanager
15446                 - Cosmetic fix
15447
15448         * src/backends/NetworkManagerSlackware.c
15449                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15450                         interfaces
15451
15452 2005-12-05  Robert Love  <rml@novell.com>
15453
15454         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15455           to free, particularly here as it just barfs.
15456
15457 2005-12-05  Dan Williams  <dcbw@redhat.com>
15458
15459         * gnome/applet/applet-dbus.c
15460                 - Work with dbus 0.6 too
15461
15462 2005-12-03  Dan Williams  <dcbw@redhat.com>
15463
15464         * src/NetworkManagerUtils.[ch]
15465           src/nm-ip4-config.c
15466                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15467                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15468
15469 2005-12-01  Robert Love  <rml@novell.com>
15470
15471         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15472           need a NULL for the '...' parameter, too, to fill the so-called
15473           sentinel.
15474
15475 2005-12-01  Robert Love  <rml@novell.com>
15476
15477         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15478           interface is already gone, so don't call rtnl_link_change() to down
15479           it (which will segfault, anyhow).
15480
15481 2005-11-22  Robert Love  <rml@novell.com>
15482
15483         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15484           gateway is not set, just print a little note.  Configurations without
15485           gateways are valid.
15486
15487 2005-11-22  Robert Love  <rml@novell.com>
15488
15489         * README: update
15490
15491 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15492
15493         * configure.in: Added Finnish translation to ALL_LINGUAS
15494
15495 2005-11-14  Robert Love  <rml@novell.com>
15496
15497         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15498           Niemueller <tim@niemueller.de>.
15499
15500 2005-11-08  Dan Williams  <dcbw@redhat.com>
15501
15502         Patch from Bill Moss <bmoss@clemson.edu>
15503         * src/NetworkManagerDevice.c
15504                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15505                         of nm_policy_schedule_activation_finish() to prevent a
15506                         race condition that causes the link to be dropped
15507
15508 2005-11-08  Dan Williams  <dcbw@redhat.com>
15509
15510         Patch from Bill Moss <bmoss@clemson.edu>
15511         * src/NetworkManagerAPList.c
15512           src/NetworkManagerDevice.c
15513           src/NetworkManagerDbus.c
15514                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15515                         we get more readable ether/mac addresses
15516
15517 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15518
15519         * gnome/applet/main.c: Don't set the restart command.  This fixes
15520         the issue where the restart command was getting copies of all its
15521         arguments for each time the applet was restarted.
15522
15523 2005-11-02  Robert Love  <rml@novell.com>
15524
15525         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15526           if the widget state differs from our saved state.  This ensures we
15527           do not enter an endless loop of death and destruction.  Also, this
15528           guarantees us that we enforce the widget state.
15529
15530 2005-11-02  Robert Love  <rml@novell.com>
15531
15532         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15533         * gnome/applet/applet-dbus-devices.c: invoke the new function
15534           nmwa_enable_wireless_set_active() to ensure that the state of the
15535           'Enable Wireless' checkbox matches the daemon's state.  This is a
15536           concern because the daemon remembers the state.
15537
15538 2005-11-02  Robert Love  <rml@novell.com>
15539
15540         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15541           Enabled", as checkboxes should be actions/commands not positive
15542           statements, otherwise they are confusing in the unselected case.  See
15543           examples in GNOME HIG, Chapter 6.
15544
15545 2005-11-02  Robert Love  <rml@novell.com>
15546
15547         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15548           show a list of wireless networks or the wireless devices or the
15549           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15550           a bad bug: If wireless is disabled and the user picks a wireless
15551           network, NM will switch to the network, only to immediately switch
15552           back, as wireless is disabled.  This also reassures people that NM
15553           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15554
15555 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15556
15557         * gnome/applet/applet.c:
15558         * gnome/applet/applet.h:
15559         Partial backout of Dan's timeout animation patch.
15560         Timeout IDs cannot legally be 0, so revert the code in place to handle
15561         a timeout ID of 0 to denote the timeout isn't running.
15562
15563 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15564
15565         * src/NetworkManagerPolicy.c:
15566         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15567
15568 2005-10-28  Robert Love  <rml@novell.com>
15569
15570         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15571           "Import Saved Configuration..." to make it clear that importing is
15572           not the next step, but an option.  As an aside, a nice TODO would be
15573           to move Importing out of the vpn-specific dialog and into the main
15574           property editor, as Importing goes with Adding, but that will require
15575           some rearchitecting of the VPN stuff I suspect.
15576
15577 2005-10-27  Dan Williams  <dcbw@redhat.com>
15578
15579         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15580         we should replace most of the distro-specific backend code
15581         with libnl stuff.
15582
15583         Get it here:  http://people.suug.ch/~tgr/libnl/
15584
15585         * configure.in
15586           src/Makefile.am
15587                 - Add checks for libnl pkgconfig file
15588                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15589
15590         * src/NetworkManagerSystem.c
15591           src/nm-ip4-config.[ch]
15592                 - Use libnl rather than ioctl() for most things
15593                 - Remove unused functions
15594
15595 2005-10-27  Robert Love  <rml@novell.com>
15596
15597         * src/backends/NetworkManagerSuSE.c: fix warning message text
15598
15599 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15600
15601         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15602
15603 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15604
15605         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15606         project page <http://www.gnome.org/projects/NetworkManager/>
15607
15608 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15609
15610         * gnome/applet.c: Also use translator credits if we don't have
15611         the new GtkAboutDialog (older versions of GTK+)
15612
15613 2005-10-26  Robert Love  <rml@novell.com>
15614
15615         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15616           failure; correct usage text for "--no-daemon"
15617
15618 2005-10-25  Dan Williams  <dcbw@redhat.com>
15619
15620         * src/NetworkManagerDevice.c
15621                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15622                         no scan results
15623                 - (free_process_scan_cb_data): unref the device when freeing results
15624                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15625                         so we don't unref the device underneath ourselves
15626
15627 2005-10-25  Dan Williams  <dcbw@redhat.com>
15628
15629         * Back out 2005-10-24 commit from Tor Krill.  Patch
15630                 causes nameservers never to be removed from named.
15631
15632 2005-10-24  Dan Williams  <dcbw@redhat.com>
15633
15634         Clean up wireless scanning and wireless link probing.
15635
15636         * src/NetworkManagerDevice.c
15637                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15638                         just see if there's an activation request on the device, and check the
15639                         current link against the activation request access point's ESSID.
15640                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15641                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15642                         don't call process_scan_results() on zero-length data
15643                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15644                         15 seconds (from 10)
15645
15646 2005-10-24  Dan Williams  <dcbw@redhat.com>
15647
15648         Cleanup some applet stuff:
15649
15650         - Animation timeouts.  If NM died while the applet was animating,
15651                 the applet would not hide itself.  This is now fixed.
15652
15653         - Remove some dead code
15654
15655         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15656                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15657
15658         - Track animation timeout using a gboolean rather than the timeout's
15659                 ID, since timeout IDs can legally be 0.
15660
15661 2005-10-24  Dan Williams  <dcbw@redhat.com>
15662
15663         * src/backends/interface_parser.c
15664                 - Add void to function declarations that need it
15665                         to match patch from Engin AYDOGAN
15666
15667         * src/backends/interface_parser.h
15668                 - Remove unused prototype for ifparser_interfaces()
15669
15670         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15671         * src/backends/interface_parser.h:
15672                 - Compile fixes for gcc 4.0.2 (add void)
15673
15674 2005-10-24  Dan Williams  <dcbw@redhat.com>
15675
15676         Patch from Tor Krill <tor@krill.nu>
15677         * src/named-manager/nm-named-manager.c
15678                 - Write more than just the first nameserver to /etc/resolv.conf
15679                 - Write out valid /etc/resolv.conf on exit
15680
15681 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15682
15683         * gnome/applet/applet-dbus-vpn.c:
15684         Get rid of spurious newlines in debug console output
15685
15686 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15687
15688         * src/backends/NetworkManagerGentoo.c:
15689         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15690
15691 2005-10-20  Robert Love  <rml@novell.com>
15692
15693         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15694           direct comparison of floating point values, which is never correct.
15695           Also some misc. cleanup.
15696
15697 2005-10-19  Robert Love  <rml@novell.com>
15698
15699         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15700
15701 2005-10-19  Robert Love  <rml@novell.com>
15702
15703         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15704           sensitivity of the buttons.  Specificaly, do the right thing if
15705           there are no entries.
15706
15707 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15708
15709         * configure.in: Update check for adequate wireless-tools
15710         with an AC_TRY_COMPILE for the new symbols we use.
15711
15712 2005-10-19  Dan Williams  <dcbw@redhat.com>
15713
15714         * src/NetworkManagerDevice.c
15715                 - (process_scan_results): don't drop the last (or only)
15716                         access point we see
15717
15718 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15719
15720         * src/backends/NetworkManagerSlackware.c:
15721         Patch from Nico <lordllucifer@gmail.com>
15722                 - Update the Slackware backend.
15723
15724 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15725
15726         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15727         if we've got GLib 2.8.0
15728
15729 2005-10-18  Robert Love  <rml@novell.com>
15730
15731         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15732           function nm_schedule_state_change_signal_broadcast() when we
15733           deactivate a device, too.
15734
15735 2005-10-18  Robert Love  <rml@novell.com>
15736
15737         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15738           be used uninitialized.
15739
15740 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15741
15742         * test/libnm_glib_test.c: Test unregistering, too.
15743
15744 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15745
15746         * configure.in: Bump to 0.5.0
15747
15748 2005-10-17  Dan Williams  <dcbw@redhat.com>
15749
15750         * NetworkManager.h
15751                 - Remove WPA-related constants so they aren't part of the
15752                         upcoming release.
15753
15754 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15755
15756         * gnome/applet/applet.c:
15757         * gnome/applet/applet.h:
15758         Desensitize the 'Connection Information' menu item when there is
15759         no active connection.
15760
15761 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15762
15763         * gnome/libnm_glib/libnm_glib.c:
15764         Make libnm_glib_unregister_callback () actually unregister the callback
15765
15766 2005-10-17  Robert Love  <rml@novell.com>
15767
15768         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15769           two seconds -- tries is updated every 1/10 of a second, not every
15770           second..
15771
15772 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15773
15774         * gnome/applet/applet-dbus-info.c:
15775         Let D-BUS know that we haven't handled a message when we haven't.
15776
15777 2005-10-17  Robert Love  <rml@novell.com>
15778
15779         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15780           in order to remain 64-bit clean.
15781
15782 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15783
15784         * gnome/applet/applet-dbus-info.c:
15785         Find network encryption keys asynchronously
15786
15787 2005-10-17  Robert Love  <rml@novell.com>
15788
15789         * src/backends/NetworkManagerDebian.c,
15790           src/backends/NetworkManagerRedHat,
15791           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15792           comment delimiter.
15793
15794 2005-10-17  Robert Love  <rml@novell.com>
15795
15796         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15797           "/etc"
15798
15799 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15800
15801         * src/NetworkManagerDevice.c: (process_scan_results)
15802         Fix logic that checks to see whether we have an ESSID.
15803
15804 2005-10-15  Dan Williams  <dcbw@redhat.com>
15805
15806         Move scanning code into NetworkManager rather than use iwlib's
15807         iw_scan() function, so that we can figure out AP capabilities.
15808
15809         * NetworkManager.h
15810                 - Add AP capability bits
15811
15812         * src/NetworkManagerAP.[ch]
15813                 - Add capability field to NMAccessPoint structure
15814                 - Add WPA & RSN Information Element fields and accessor
15815                         functions to NMAccessPoint
15816
15817         * src/NetworkManagerDevice.c
15818                 - Remove usage of iw_scan
15819                 - Add scanning code to NetworkManager rather than use
15820                         iw_scan() from iwlib
15821
15822         * src/NetworkManagerUtils.[ch]
15823                 - (nm_dispose_scan_results): remove, unused
15824
15825 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15826
15827         * gnome/libnm_glib/libnm_glib.c:
15828         * gnome/libnm_glib/libnm_glib.h:
15829         Use guint instead of gint for callback IDs.
15830
15831 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15832
15833         * gnome/applet/applet.c:
15834         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15835         every 1000ms.  It will unconditionally call nmwa_update_state which
15836         kills the existing animation timeout and registers a new one with a
15837         callback to draw a new frame every 100ms.  There are 11 connecting
15838         icon frames, so the last 2 frames kept getting dropped.  Only reset
15839         the animation timeout if we aren't animating.
15840
15841 2005-10-11  Dan Williams  <dcbw@redhat.com>
15842
15843         * gnome/applet/applet-dbus-devices.c
15844                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15845                         We want to grab the product & vendor from net.physical_dev
15846                         rather than info.parent.
15847
15848 2005-10-11  Dan Williams  <dcbw@redhat.com>
15849
15850         * src/NetworkManagerDevice.c
15851                 - Use the driver's WE version for scanning rather than
15852                         the WE version NM was compiled with.  Fixes random
15853                         crashes in iw_scan () in iwlib.
15854
15855 2005-10-10  Dan Williams  <dcbw@redhat.com>
15856
15857         * Remove nm_system_load_device_modules() from backend files
15858                 and from NetworkManager.c
15859
15860 2005-10-10  Dan Williams  <dcbw@redhat.com>
15861
15862         * src/NetworkManagerPolicy.c
15863                 - Fix some bugs introduced by the capabilities patch
15864
15865 2005-10-10  Dan Williams  <dcbw@redhat.com>
15866
15867         * gnome/applet/applet-dbus-info.c
15868                 - (nmi_dbus_get_network_key): hide the menu when putting up
15869                         the keyring dialog.  (not sure if the code is right...)
15870
15871 2005-10-09  Dan Williams  <dcbw@redhat.com>
15872
15873         Patch from Bill Moss <bmoss@clemson.edu>
15874         * src/NetworkManagerDevice.c
15875                 - (nm_device_set_user_key_for_network): don't try to set auth
15876                         mode on the AP from the allowed list if it's NULL
15877
15878 2005-10-09  Dan Williams  <dcbw@redhat.com>
15879
15880         * Replace the "driver support level" stuff with capabilities.  The
15881                 capability field is a bitfield that is more flexible than the
15882                 old driver support level thing.  It's mostly so we can easily
15883                 figure out what supports WPA and what doesn't, but should be
15884                 quite useful later.
15885
15886 2005-10-09  Dan Williams  <dcbw@redhat.com>
15887
15888         * test/nmtest.c
15889                 - Removed
15890
15891         * test/nm-tool.c
15892           test/Makefile.am
15893                 - Added new "nm-tool" tool that gives quite a bit more
15894                         information
15895
15896 2005-10-07  Robert Love  <rml@novell.com>
15897
15898         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15899           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15900           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15901           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15902           appropriate
15903
15904 2005-10-07  Robert Love  <rml@novell.com>
15905
15906         * configure.in: Change our compile flags for the betterment of mankind.
15907           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15908           prototype is very bad on 64-bit platforms as types default to int but
15909           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15910           "-Wmissing-declarations" to warn if we define an exported function
15911           but fail to put it in a header.
15912
15913 2005-10-07  Robert Love  <rml@novell.com>
15914
15915         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15916           by the name nm_update_device_wireless_timeouts() and once tried,
15917           without success, to steal my pet turtle.
15918
15919 2005-10-07  Robert Love  <rml@novell.com>
15920
15921         * Cleanup prototypes: put some functions in header files and mark
15922           others as 'static' -- feel free to invert
15923         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15924           nm_vpn_manager_vpn_connection_list_copy()
15925         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15926           nm_vpn_service_get_dbus_connection()
15927         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15928           nm_vpn_manager_vpn_connection_list_copy()
15929         * src/vpn-manager/nm-vpn-service.c: make
15930           nm_vpn_service_act_request_failed() and
15931           nm_vpn_service_stage2_daemon_wait() static
15932         * src/vpn-manager/nm-vpn-service.h: add prototype for
15933           nm_vpn_service_get_dbus_connection()
15934
15935 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15936
15937         * gnome/applet/applet.c:
15938         * gnome/applet/applet.h:
15939         * gnome/applet/icons/Makefile.am:
15940         Convey information about the current connection stage in the
15941         icons themselves instead of creating a separate progress bar.
15942
15943 2005-10-04  Robert Love  <rml@novell.com>
15944
15945         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15946           convert an ether_addr structure's MAC into a string, because the
15947           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15948           versus 07:3B:04, while the former will not.
15949
15950 2005-10-04  Robert Love  <rml@novell.com>
15951
15952         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15953           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15954           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15955           default route in the 'Connection Information' dialog, send primary
15956           and secondary name servers in in "getProperties" DBUS method, add
15957           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15958           secondary domain name servers are crucial pieces of information
15959           that a user might need in debugging a network problem.
15960
15961 2005-10-04  Robert Love  <rml@novell.com>
15962
15963         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15964           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15965           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15966           default route in the 'Connection Information' dialog, send default
15967           route in "getProperties" DBUS method, add network_device_set_route(),
15968           and network_device_get_route().  The Gateway is a crucial piece of
15969           connection-related information that a user might need in debugging a
15970           network problem.
15971
15972 2005-10-03  Robert Love  <rml@novell.com>
15973
15974         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15975           NULL.
15976
15977 2005-10-02  Dan Williams  <dcbw@redhat.com>
15978
15979         * Shorten time taken to sleep by fastpathing bits of device deactivation
15980                 necessary for sleep.
15981
15982         * Fix issue where deactivating a device might deactivate the active
15983                 VPN connection, even if the VPN was not using the device.
15984
15985 2005-10-02  Dan Williams  <dcbw@redhat.com>
15986
15987         * gnome/applet/applet.c
15988                 - Adjust signal strength -> icon mapping values slightly
15989                         (so that 51% signal doesn't show a 75% icon) by adding
15990                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15991                         shows 50% icon, etc.
15992
15993 2005-09-29  Robert Love  <rml@novell.com>
15994
15995         * src/NetworkManager.c: removed unused variable.
15996
15997 2005-09-28  Dan Williams  <dcbw@redhat.com>
15998
15999         Support for named + DBus, using Red Hat DBus patches for named.  You
16000         can find those patches here, with "dbus" in the patch's filename:
16001
16002                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
16003
16004         Don't forget the named dbus service file either.
16005
16006         Instead of writing a config file and spawing a named process, NM will
16007         use an already-running dbus-enabled named if it finds one.  NM will
16008         update named's forwarder configuration on the fly using dbus.
16009
16010         If there is no dbus-enabled named running, NM will automatically fall
16011         back to writing the most-recent DNS server information to /etc/resolv.conf
16012         and calling nm_system_update_dns() to kick the system's resolver.
16013
16014         Accordingly, all named-related configure-time options have been removed.
16015
16016 2005-09-26  Robert Love  <rml@novell.com>
16017
16018         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
16019           ISDN support!
16020         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
16021           bug in error path if "ASKPASSWORD" is "no".
16022
16023 2005-09-26  Robert Love  <rml@novell.com>
16024
16025         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
16026           comment in /etc/resolv.conf -- ';' is not.
16027
16028 2005-09-19  Dan Williams  <dcbw@redhat.com>
16029
16030         * src/backends/NetworkManagerRedHat.c:
16031         * src/backends/NetworkManagerDebian.c:
16032         * src/backends/NetworkManagerSlackware.c:
16033         * src/backends/NetworkManagerGentoo.c:
16034         * src/backends/NetworkManagerSUSE.c:
16035         Fix invocations of "/sbin/ip address" to use short form instead
16036
16037 2005-09-19  Christopher Aillon  <caillon@redhat.com>
16038
16039         * src/nm-dbus-device.c: Don't assert when getting
16040         addresses of a not yet connected interface.
16041
16042         * gnome/applet/applet.c: Free icons if loading fails.
16043         Use translator-credits so translators can make themselves known.
16044
16045 2005-09-15  Christopher Aillon  <caillon@redhat.com>
16046
16047         * src/NetworkManagerAP.c:
16048         * src/NetworkManagerAP.h:
16049         * src/NetworkManagerDevice.c:
16050         Set a blacklist for certain common manufacturer default ESSIDs:
16051         APs with these ESSIDs are extremely likely to be completely
16052         different networks: connecting to one should not make NM
16053         auto-connect to every other AP with the same default ESSID.
16054
16055 2005-09-12  Christopher Aillon  <caillon@redhat.com>
16056
16057         * gnome/applet/wireless-applet.glade:
16058         The passphrase entry should also activate the default
16059
16060         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
16061
16062         * gnome/applet/applet-dbus-devices.c:
16063         * gnome/applet/applet.c:
16064         * gnome/applet/nm-device.c:
16065         * gnome/applet/nm-device.h:
16066         * src/NetworkManagerUtils.c:
16067         * src/NetworkManagerUtils.h:
16068         * src/nm-dbus-device.c:
16069         I've got a fever, and the only cure for it is less ioctl.
16070         Make NM push IP data rather than make the applet open a socket
16071         to the device.
16072
16073 2005-09-10  Christopher Aillon  <caillon@redhat.com>
16074
16075         * gnome/applet/applet.c:
16076         * gnome/applet/applet-dbus-devices.c:
16077         * gnome/applet/applet-dbus-info.c:
16078         * gnome/applet/passphrase-dialog.c:
16079         * gnome/libnm_glib/libnm_glib.c:
16080         * gnome/vpn-properties/nm-vpn-properties.c:
16081         * src/autoip.c:
16082         * src/backends/NetworkManagerRedHat.c:
16083         * src/named-manager/nm-named-manager.c:
16084         * src/NetworkManagerAPList.c:
16085         * src/NetworkManager.c:
16086         * src/NetworkManagerDbus.c:
16087         * src/NetworkManagerDevice.c:
16088         * src/NetworkManagerPolicy.c:
16089         * src/NetworkManagerSystem.c:
16090         * src/nm-dbus-device.c:
16091         * src/nm-dbus-nm.c:
16092         * src/vpn-manager/nm-vpn-manager.c:
16093         * src/vpn-manager/nm-vpn-service.c:
16094         * test/libnm_glib_test.c:
16095         * test/nminfotest.c:
16096         * test/nmtestdevices.c:
16097         Fix a bunch of 'unused variable' compiler warnings
16098
16099         * NetworkManager.h:
16100         * gnome/applet/applet-dbus-info.c:
16101         * gnome/applet/applet-dbus-info.h:
16102         * gnome/applet/applet.c:
16103         * gnome/applet/applet.h:
16104         * src/NetworkManager.c:
16105         * src/NetworkManagerDbus.c:
16106         * src/NetworkManagerDbus.h:
16107         * src/NetworkManagerDevice.c:
16108         * src/NetworkManagerDevice.h:
16109         * src/NetworkManagerMain.h:
16110         * src/NetworkManagerWireless.c:
16111         * src/NetworkManagerWireless.h:
16112         * src/nm-dbus-nm.c:
16113         Make NetworkManager be smart about how frequently to scan
16114         based on its current state.  Remove the UI for choosing when
16115         to scan.  Scanning still may disabled completely by the user
16116         via the "Wireless Enabled" menu item.
16117
16118 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16119
16120         * gnome/applet/applet.c:
16121         Also overlay the vpn connecting icons onto the wired icon,
16122         when appropriate.
16123
16124         * gnome/vpn-properties/nm-vpn-properties.glade:
16125         Clean up a few strings to use better grammar and proper casing.
16126
16127 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16128
16129         * gnome/applet/vpn-connection.c:
16130         * gnome/applet/vpn-connection.h:
16131         Add nmwa_vpn_connection_is_activating ()
16132
16133         * gnome/applet/applet.c:
16134         * gnome/applet/applet.h:
16135         * gnome/applet/icons/nm-vpn-connecting*.png:
16136         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16137         the user know something's happening between clicking the VPN item and it
16138         actually being connected.
16139
16140 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16141
16142         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16143         failure case as well.
16144
16145 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16146
16147         * gnome/panel/eggtrayicon.[ch]:
16148         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16149
16150 2005-09-07  Dan Williams  <dcbw@redhat.com>
16151
16152         Patch from Bill Moss <bmoss@clemson.edu>
16153         * src/applet-dbus.c
16154                 - (nmwa_dbus_filter): strip whitespace from beginning
16155                         and end of VPN login banner
16156
16157 2005-09-07  Dan Williams  <dcbw@redhat.com>
16158
16159         * The great VPN Manager rewrite of 2005
16160
16161 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16162
16163         * gnome/applet/menu-items.c:
16164         * gnome/applet/nm-device.c:
16165         * gnome/applet/wireless-network.c:
16166         * gnome/libnm_glib/libnm_glib.c:
16167         * src/NetworkManagerDbusUtils.c:
16168         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16169         g_malloc0 doesn't return NULL
16170
16171 2005-09-06  Dan Williams  <dcbw@redhat.com>
16172
16173         Patch from Tomislav Vujec <tvujec@redhat.com>
16174         * src/NetworkManagerDevice.c
16175                 - (nm_get_device_by_udi): don't return a device when we
16176                         actually didn't find what we were looking for
16177
16178 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16179
16180         * gnome/applet/applet-dbus-devices.c:
16181         * gnome/applet/applet-dbus-devices.h:
16182         * gnome/applet/applet-dbus.c:
16183         * src/NetworkManagerDbus.c:
16184         * src/NetworkManagerDbus.h:
16185         * src/NetworkManagerDevice.c:
16186         * src/nm-dbus-device.c:
16187         Make NM push updates about active device strength when it changes,
16188         rather than having the applet poll every 2s.
16189
16190 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16191
16192         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16193         network_device_set_strength
16194
16195 2005-09-04  Dan Williams  <dcbw@redhat.com>
16196
16197         Patch from Bill Nottingham <notting@redhat.com>
16198         * src/NetworkManagerDevice.c
16199                 - (nm_device_activation_cancel): reset the quit_activation flag
16200
16201 2005-09-04  Dan Williams  <dcbw@redhat.com>
16202
16203         * src/nm-activation-request.c
16204                 - (nm_act_request_unref): actually free the structure,
16205                         which we didn't seem to be doing before
16206
16207 2005-09-04  Dan Williams  <dcbw@redhat.com>
16208
16209         Patch from John Palmieri <johnp@redhat.com>
16210         * gnome/applet/applet-dbus-devices.c
16211                 - Fix up unreffing of DBusMessage objects
16212
16213 2005-09-04  Dan Williams  <dcbw@redhat.com>
16214
16215         Patch from John Palmieri <johnp@redhat.com>
16216         * gnome/applet/nm-device.c
16217                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16218
16219 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16220
16221         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16222
16223 2005-09-02  Bill Nottingham  <notting@redhat.com>
16224
16225         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16226
16227 2005-09-01  Dan Williams  <dcbw@redhat.com>
16228
16229         * src/NetworkManager.c
16230                 - (nm_remove_device_from_list): rename to nm_remove_device
16231                 - (nm_hal_device_removed): call nm_remove_device()
16232
16233         * src/NetworkManagerDevice.c
16234                 - Change the NMWirelessScanCB member 'reschedule' which
16235                         wasn't used to 'force' to indicate that we need to
16236                         force a scan when adding a device
16237
16238         * src/nm-dbus-nm.c
16239                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16240                         from the device list
16241                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16242
16243 2005-09-01  Robert Love  <rml@novell.com>
16244
16245         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16246           and the check "!iface" in the error case is probably never true.
16247
16248 2005-09-01  Dan Williams  <dcbw@redhat.com>
16249
16250         Patch from Bill Nottingham <notting@redhat.com>
16251         * src/backends/NetworkManagerRedHat.c
16252                 - Add initial dialup support to Red Hat/Fedora backend
16253
16254 2005-09-01  Dan Williams  <dcbw@redhat.com>
16255
16256         * gnome/applet/applet-dbus-devices.c
16257                 - Sort both wireless networks and devices again, which got
16258                         broken when removing threading
16259
16260 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16261
16262         * gnome/applet/applet.c:
16263         Only show the "Stop/Start All Wireless Devices" menuitem
16264         if we actually have wireless devices.
16265
16266         * gnome/applet/applet-dbus-info.c:
16267         * gnome/applet/applet.c:
16268         * gnome/applet/other-network-dialog.c:
16269         * gnome/applet/vpn-password-dialog.c:
16270         Drop the gtk_dialog_run () calls in favor of connecting to
16271         "response" signals, needed now that the applet is not threaded.
16272
16273 2005-08-31  Dan Williams  <dcbw@redhat.com>
16274
16275         Patch from Bill Moss <bmoss@clemson.edu>
16276         * src/NetworkManagerDevice.c
16277                 - (nm_device_wireless_scan): fix scan timeout values
16278
16279 2005-08-30  Dan Williams  <dcbw@redhat.com>
16280
16281         * gnome/applet/wireless-applet.glade
16282                 - HIG-ify the Other Wireless Networks dialog a bit more
16283                 - Fix some potential segfaults in the info dialog
16284
16285 2005-08-30  Dan Williams  <dcbw@redhat.com>
16286
16287         * gnome/applet/applet-dbus-devices.c
16288                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16289
16290 2005-08-30  Dan Williams  <dcbw@redhat.com>
16291
16292         * gnome/applet/applet-dbus.[ch]
16293                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16294                         they weren't being used anyway
16295
16296 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16297
16298         * test/nmtestdevices.c: (print_usage), (main):
16299         Check the number of arguments, and fix a typo
16300
16301 2005-08-29  Dan Williams  <dcbw@redhat.com>
16302
16303         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16304         * gnome/applet/applet.c
16305                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16306
16307 2005-08-29  Dan Williams  <dcbw@redhat.com>
16308
16309         * gnome/applet/*
16310                 - Don't use threads any more.  Anything that blocks
16311                         (like gtk_dialog_run()) will  have to get fixed up which
16312                         should happen quickly.  We really only had threads to make
16313                         the animation smooth, and when everything got converted over
16314                         to DBus Pending Calls, the need for threads kind of went away
16315
16316 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16317
16318         * gnome/applet/applet.c: Draw VPN connections as radio items
16319         since we don't yet support multiple VPNs.
16320         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16321         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16322
16323 2005-08-29  Dan Williams  <dcbw@redhat.com>
16324
16325         Patch from j@bootlab.org
16326         - Make --without-named work
16327         - Make --with-dhcdbd work correctly
16328
16329 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16330
16331         * configure.in: Added "ca" to ALL_LINGUAS.
16332
16333 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16334
16335         * Fix up VPN state handling between the applet and NetworkManager,
16336                 so that the applet doesn't show a VPN as connected when one
16337                 really is not
16338                         - The applet no longer has a pointer to the active VPN's
16339                                 name, but tracks each VPNs state individually
16340                         - NM no longer has a "getActiveVPNConnection" method
16341                         - NM no longer broadcasts the "VPNConnectionChange" signal
16342                         - NM now broadcasts a "VPNConnectionStateChange" signal
16343                                 whenever the state of a VPN changes
16344
16345 2005-08-26  Dan Williams <dcbw@redhat.com>
16346
16347         * gnome/applet/applet-dbus-devices.c
16348           gnome/applet/applet-dbus-vpn.c
16349                 - Remove calls to dbus_pending_call_ref() because we already
16350                         "own" the pending call
16351                 - Remove calls to dbus_pending_call_get_completed() because
16352                         when we are in the callback, the pending call is completed
16353                         by definition
16354
16355 2005-08-22  Dan Williams <dcbw@redhat.com>
16356
16357         Patch by Bill Moss <bmoss@clemson.edu>
16358         * src/dhcp-manager/nm-dhcp-manager.c
16359                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16360                         some time to send out a RELEASE if they like
16361
16362 2005-08-22  Dan Williams <dcbw@redhat.com>
16363
16364         Noticed by Bill Moss <bmoss@clemson.edu>
16365         * src/NetworkManagerDbus.c
16366                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16367                         instead of just cancelling its activation
16368
16369         * src/NetworkManagerDevice.c
16370                 - (nm_device_deactivate): some small cleanups
16371                 - (nm_device_set_user_key_for_network): deactivate the device
16372                         instead of just cancelling its activation
16373
16374 2005-08-22  Dan Williams <dcbw@redhat.com>
16375
16376         Noticed by Bill Moss <bmoss@clemson.edu>
16377         * src/NetworkManagerDevice.c
16378                 - (nm_device_wireless_scan): fix scan timeout, we were
16379                         waiting way too long for scans to complete
16380
16381 2005-08-22  Dan Williams <dcbw@redhat.com>
16382
16383         Patch from j@bootlab.org:
16384         * src/backends/NetworkManagerDebian.c
16385                 - Make the Debian backend work for static IP again
16386
16387 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16388
16389         * gnome/applet/other-network-dialog.c:
16390         The "Create New Network" and "Connect to Other Network"
16391         dialogs share alot of code, but shouldn't share a window
16392         title.  Give them different ones.
16393
16394         * gnome/applet/wireless-applet.glade:
16395         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16396         Some more minor UI tweaks.
16397
16398 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16399
16400         * gnome/applet/other-network-dialog.c:
16401         * gnome/applet/wireless-applet.glade:
16402         Also need mnemonic widgets, and underline enabled.
16403
16404 2005-08-19  Dan Williams <dcbw@redhat.com>
16405
16406         * vpn-daemons/vpnc/nm-vpnc-service.c
16407                 - (vpnc_watch_cb): remove no-longer-relevant comment
16408                 - (write_config_option): new function, helper to write
16409                         config options to vpnc's stdin
16410                 - (nm_vpnc_config_write): use the new helper, make the
16411                         code shorter
16412
16413 2005-08-19  Christopher Aillon <caillon@redhat.com>
16414
16415         * gnome/applet/passphrase-dialog.c:
16416         * gnome/applet/wireless-applet.glade:
16417         Make the passphrase dialog response based, and treat
16418         responses other than OK (such as Esc, [X]) as a cancel.
16419
16420 2005-08-18  Christopher Aillon <caillon@redhat.com>
16421
16422         * initscript/Gentoo/NetworkManager:
16423         * initscript/RedHat/NetworkManager:
16424         * initscript/RedHat/NetworkManagerDispatcher:
16425         * initscript/SUSE/networkmanager:
16426         CVS remove these in place of .in replacements
16427
16428         * configure.in:
16429         * initscript/Gentoo/NetworkManager.in:
16430         * initscript/RedHat/NetworkManager.in:
16431         * initscript/RedHat/NetworkManagerDispatcher.in:
16432         * initscript/SUSE/networkmanager.in:
16433         These scripts now are generated so they work still when
16434         NM is built using a bindir other than /usr/bin
16435
16436 2005-08-18  Dan Williams <dcbw@redhat.com>
16437
16438         * gnome/applet/main.c
16439                 - Revert previous change for --no-session since
16440                         --sm-disable does the same thing
16441
16442 2005-08-18  Dan Williams <dcbw@redhat.com>
16443
16444         * gnome/applet/applet-dbus-info.c
16445                 - (nmi_dbus_create_error_message): new function
16446                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16447                         functions.  Also don't check for both device _and_ network before
16448                         asking for a user's key, because we may not have gotten all our
16449                         networks back from NM quite yet (due to the dbus pending calls
16450                         coming in later).  Fixes a hang in NM/nm-applet.
16451
16452         * src/NetworkManagerDbus.c
16453                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16454                         slightly more sane manner, even though we are still broken for
16455                         certain other error conditions.
16456                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16457                         to the info-daemon too
16458
16459         * src/NetworkManagerDevice.c
16460                 - Fix some debug messages to be info messages instead
16461
16462 2005-08-18  Dan Williams <dcbw@redhat.com>
16463
16464         * gnome/applet/main.c
16465                 - Add new "--no-session" parameter that disables applet
16466                         session management, ie for testing
16467
16468 2005-08-18  Christopher Aillon <caillon@redhat.com>
16469
16470         * gnome/applet/other-network-dialog.c:
16471         * gnome/applet/wireless-applet.glade: More mnemonics
16472
16473 2005-08-17  Robert Love  <rml@novell.com>
16474
16475         * initscript/SUSE/networkmanager: update
16476
16477 2005-08-17  Dan Williams  <dcbw@redhat.com>
16478
16479         * Tag NM_0_4_1_RELEASE
16480
16481 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16482
16483         * gnome/applet/applet.c: More translatable string cleanup
16484
16485
16486 2005-08-17  Dan Williams  <dcbw@redhat.com>
16487
16488         * gnome/applet/applet-dbus-info.c
16489                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16490                         from the dbus message, which tells us to unconditionally
16491                         ask the user for a new key.  Otherwise, we pull the key from
16492                         the keyring and return it.  If we fail to get the key from the
16493                         keyring, we ask the user for a new key.
16494                 - (nmi_dbus_get_network_key): new function to grab the key for
16495                         an essid from the keyring.
16496                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16497                         Also, don't return any key in the dbus message.
16498
16499         * src/NetworkManagerDbus.[ch]
16500                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16501                         indicate that we unconditionally want a new key.  This function
16502                         is now also used to get keys from the info-daemon which are
16503                         pre-stored, not just for asking the user for a new key.  The
16504                         "new_key" parameter indicates whether or not we wish to ask the
16505                         user for a new key.
16506                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16507                         info-daemon in the return message, so use NULL instead.  The
16508                         key will be filled in at connect time by calling
16509                         nm_dbus_get_user_key_for_network()
16510
16511         * src/NetworkManagerDevice.c
16512                 - (nm_device_wireless_configure): update for "new_key" param to
16513                         nm_dbus_get_user_key_for_network().  We initially set new_key
16514                         to FALSE to see if we have a stored key in the info-daemon, but
16515                         if the connection is unsuccessful at this stage we request a
16516                         new one
16517
16518 2005-08-17  Dan Williams  <dcbw@redhat.com>
16519
16520         * gnome/applet/icons/nm-no-connection.png
16521           gnome/applet/icons/nm-device-wired.png
16522                 - Use Diana's new RJ45 connector icons
16523
16524 2005-08-17  Dan Williams  <dcbw@redhat.com>
16525
16526         * src/NetworkManagerPolicy.c
16527                 - (nm_policy_device_change_check): clarify switching rules if
16528                         both new and old devices are valid; mainly, don't switch
16529                         away from user-requested wireless connection back to a wired
16530                         one
16531
16532 2005-08-17  Dan Williams  <dcbw@redhat.com>
16533
16534         * gnome/applet/Makefile.am
16535                 - Relocate the applet to /usr/bin since it is no longer
16536                         executed by anything, but directly by the user
16537
16538 2005-08-17  Dan Williams  <dcbw@redhat.com>
16539
16540         Patch from Bill Moss <bmoss@clemson.edu>
16541
16542         * gnome/applet/applet-dbus-info.[ch]
16543                 - (nmi_save_network_info): save timestamp for network if it
16544                         was a change requested by the user
16545                 - (nmi_dbus_update_network_info): get user_requested from dbus
16546                         message and pass to nmi_save_network_info()
16547
16548         * gnome/applet/applet.c
16549                 - (nmwa_update_network_timestamp): remove
16550                 - (nmwa_menu_item_activate): don't set timestamp on networks
16551                         here, only after a successful connect in nmi_save_network_info()
16552
16553         * src/NetworkManagerDbus.[ch]
16554                 - (nm_dbus_update_network_info): pass user_requested into the 
16555                         dbus message
16556
16557         * src/NetworkManagerPolicy.c
16558                 - (nm_policy_activation_finish): pass user_requested to
16559                         nm_dbus_update_network_info()
16560
16561 2005-08-16  Robert Love  <rml@novell.com>
16562
16563         * gnome/applet/applet.c: Better "Dial Up" menu item.
16564
16565 2005-08-16  Robert Love  <rml@novell.com>
16566
16567         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16568           "Connection Information" menu item.
16569
16570 2005-08-16  Dan Williams  <dcbw@redhat.com>
16571
16572         Patch from j@bootlab.org
16573         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16574
16575         * configure.in: allow specifying the path to dhcdbd
16576
16577 2005-08-16  Robert Love  <rml@novell.com>
16578
16579         Patch from j@bootlab.org
16580         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16581           src/backends/interface_parser.h: Debian dialup support.
16582
16583 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16584
16585         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16586         * gnome/applet/applet.c: Add some mnemonics for VPNC
16587
16588         * vpn-daemons/.cvsignore: fix this up a little bit
16589
16590 2005-08-16  Robert Love  <rml@novell.com>
16591
16592         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16593           support.
16594
16595 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16596
16597         * gnome/applet/applet.c: Split markup out of translatable strings
16598         and clean up logic a little bit.  (fixes #309012)
16599
16600 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16601
16602         * gnome/vpn-properties/nm-vpn-properties.c:
16603         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16604         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16605         Makeshift fix to remove newlines from translatable strings.
16606         Note that we now return an allocated string, so callers of
16607         get_confirmation_details () must now call g_free () on the
16608         result. (fixes #309033).
16609
16610 2005-08-12  Robert Love  <rml@novell.com>
16611
16612         * gnome/applet/applet-dbus.c: remove newlines from translatable
16613           strings--not needed here anyway. (fix b.g.o #309011)
16614         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16615
16616 2005-08-11  Robert Love  <rml@novell.com>
16617
16618         * gnome/applet/applet.c: mark string as translatable.
16619
16620 2005-08-11  Robert Love  <rml@novell.com>
16621
16622         * initscript/SUSE/networkmanager: update.
16623
16624 2005-08-11  Dan Williams  <dcbw@redhat.com>
16625
16626         * src/nm-dhcp-manager.c
16627                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16628                         an gateway returned from DHCP, try to use the address of the DHCP
16629                         server as the gateway instead.  Found by Ralf Ertzinger.
16630
16631 2005-08-10  Robert Love  <rml@novell.com>
16632
16633         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16634           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16635
16636 2005-08-10  Dan Williams  <dcbw@redhat.com>
16637
16638         Patch from Bill Moss <bmoss@clemson.edu>
16639         * Consolidate writes of access point information updates to the info daemon
16640                 so that we only do it when the connection to the access point was
16641                 successful.  Also consolidates updates to GConf in the Gnome applet.
16642
16643         * src/nm-netlink-monitor.c
16644                 - Silence compile warning when calling g_object_new()
16645
16646 2005-08-08  Dan Williams  <dcbw@redhat.com>
16647
16648         Patch from Steev <steev@steev.net>:
16649         * src/backends/NetworkManagerGentoo.c
16650                 - Stub new dialup backend functions
16651
16652 2005-08-08  Dan Williams  <dcbw@redhat.com>
16653
16654         Patch from Colin Slater:
16655         * src/backends/NetworkManagerGentoo.c
16656                 - (nm_system_update_dns): Fix exit status check for restarting
16657                         nscd
16658
16659 2005-08-05  Robert Love  <rml@novell.com>
16660
16661         * NetworkManager.h,
16662           gnome/applet/applet-dbus-devices.c,
16663           gnome/applet/applet-dbus-devices.h,
16664           gnome/applet/applet-dbus.c,
16665           gnome/applet/applet.c,
16666           gnome/applet/applet.h,
16667           src/NetworkManager.c,
16668           src/NetworkManagerMain.h,
16669           src/NetworkManagerSystem.h,
16670           src/backends/NetworkManagerRedHat.c,
16671           src/backends/NetworkManagerSuSE.c,
16672           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16673
16674 2005-08-05  Robert Love  <rml@novell.com>
16675
16676         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16677           machine's hostname to make adhoc creation idiot-proof.
16678
16679 2005-08-04  Robert Love  <rml@novell.com>
16680
16681         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16682           freed.
16683
16684 2005-08-04  Dan Williams  <dcbw@redhat.com>
16685
16686         * gnome/applet/applet-dbus-info.c
16687           gnome/applet/applet-dbus-info.h
16688                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16689                         to store key, key type, and auth method rather than just auth method
16690                 - (nmi_dbus_update_network_info): new function
16691                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16692
16693         * gnome/applet/passphrase-dialog.c
16694                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16695                         of saving the info ourselves
16696
16697         * gnome/libnm_glib/libnm_glib.c
16698                 - Remove the stupid version check for dbus
16699
16700         * src/NetworkManagerAP.c
16701           src/NetworkManagerAP.h
16702                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16703
16704         * src/NetworkManagerDbus.c
16705           src/NetworkManagerDbus.h
16706                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16707                         more than just the auth method
16708
16709         * src/NetworkManagerDevice.c
16710                 - Update network info at the appropriate times
16711
16712 2005-07-29  Ray Strode  <rstrode@redhat.com>
16713
16714         * src/NetworkManager.c (nm_info_handler): don't use input as format
16715         string (Spotted by Ian Jackson).
16716
16717 2005-07-27  Dan Williams  <dcbw@redhat.com>
16718
16719         * src/nm-dbus-nm.c
16720           src/nm-dbus-net.c
16721                 - Random cleanups of spacing
16722
16723         * gnome/applet/applet.h
16724           gnome/applet/other-network-dialog.c
16725           gnome/applet/passphrase-dialog.c
16726                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16727
16728         Patch from Bill Moss:
16729                 - Make Other Wireless Networks work again with encryption keys
16730
16731 2005-07-26  Dan Williams  <dcbw@redhat.com>
16732
16733         Patch from Steev <steev@steev.net>:
16734         * src/backends/NetworkManagerGentoo.c
16735           src/backends/Makefile.am
16736                 - Fix up Gentoo backend
16737
16738 2005-07-26  Robert Love  <rml@novell.com>
16739
16740         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16741
16742 2005-07-25  Robert Love  <rml@novell.com>
16743
16744         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16745           in the same group as the wireless networks, since they are all
16746           mutually exclusive.
16747
16748 2005-07-24  Ray Strode  <rstrode@redhat.com>
16749
16750         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16751         remove unneeded NULL arg from g_object_new().  Any
16752         warnings caused by not having the extra NULL are just a
16753         result of a bug in glib 2.7.0 - 2.7.2.
16754
16755 2005-07-22  Robert Love  <rml@novell.com>
16756
16757         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16758
16759 2005-07-22  Robert Love  <rml@novell.com>
16760
16761         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16762           parameters (gcc 4.0.2 warning fix).
16763
16764 2005-07-18  Robert Love  <rml@novell.com>
16765
16766         Suggested by Aaron Bockover (abockover@novell.com)
16767         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16768           s/Ascii/ASCII
16769         * gnome/applet/passphrase-dialog.c: ditto
16770         * gnome/applet/wireless-applet.glade: ditto
16771
16772 2005-07-13  Dan Williams  <dcbw@redhat.com>
16773
16774         Patch from Ray Strode <halfline@gmail.com>
16775         * vpn-daemons/vpnc/nm-vpnc-service.c
16776                 - Don't let vpnc daemonize, fixes some races with PID file reading
16777
16778 2005-07-13  Dan Williams  <dcbw@redhat.com>
16779
16780         Patch from Ray Strode <halfline@gmail.com>
16781         * Random cleanups for strict CFLAGS
16782
16783 2005-07-07  Dan Williams  <dcbw@redhat.com>
16784
16785         Patch from Derek Atkins <warlord@MIT.EDU>
16786         * src/nm-dbus-net.c:
16787                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16788
16789 2005-07-07  Dan Williams  <dcbw@redhat.com>
16790
16791         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16792         * src/backends/NetworkManagerGentoo.c
16793                 - Gentoo backend Static IP nameserver fixes
16794                 - General Gentoo backend goodness
16795
16796 2005-07-07  Dan Williams  <dcbw@redhat.com>
16797
16798         Patch from Bastien Nocera:
16799         * gnome/applet/applet.c
16800                 - Fix up error reporting when icons or glade files are missing
16801
16802 2005-07-07  Robert Love  <rml@novell.com>
16803
16804         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16805           are not any VPN connections above it.
16806
16807 2005-07-07  Robert Love  <rml@novell.com>
16808
16809         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16810
16811 2005-07-05  Robert Love  <rml@novell.com>
16812
16813         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16814           zero.
16815
16816 2005-07-05  Robert Love  <rml@novell.com>
16817
16818         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16819           on wired or unencrypted wireless.
16820
16821 2005-07-01  Robert Love  <rml@novell.com>
16822
16823         * src/NetworkManagerSystem.c: Print the error via strerror().
16824
16825 2005-06-30  Robert Love  <rml@novell.com>
16826
16827         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16828           then exit if the glade file is not found.  currently the application
16829           just hangs.
16830
16831 2005-06-30  Robert Love  <rml@novell.com>
16832
16833         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16834           explicitly up all interfaces on wake from sleep.
16835
16836 2005-06-30  Robert Love  <rml@novell.com>
16837
16838         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16839           with information about the currently active connection.
16840         * gnome/applet/applet.h: (ditto)
16841         * gnome/applet/wireless-applet.glade: (ditto), new file
16842
16843 2005-06-30  Robert Love  <rml@novell.com>
16844
16845         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16846         * src/nm-dbus-nm.c: print when we sleep and wake up.
16847         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16848         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16849           in /sbin unless D-BUS is, folks).
16850         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16851
16852 2005-06-27  Robert Love  <rml@novell.com>
16853
16854         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16855           case.
16856
16857 2005-06-27  Robert Love  <rml@novell.com>
16858
16859         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16860           items radios.
16861
16862 2005-06-26  Robert Love  <rml@novell.com>
16863
16864         * src/NetworkManagerDevice.c: be specific about which device in
16865           nm_info() message.
16866
16867 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16868
16869         * src/nm-netlink-monitor.c: correct spelling error.
16870
16871 2005-06-23  Robert Love  <rml@novell.com>
16872
16873         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16874         * gnome/applet/passphrase-dialog.c: more of that keyring!
16875
16876 2005-06-23  Robert Love  <rml@novell.com>
16877
16878         * configure.in: remove extraneous GNOMEKEYRING directives.
16879         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16880         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16881         * gnome/applet/passphrase-dialog.c: whitespace.
16882
16883 2005-06-23  Robert Love  <rml@novell.com>
16884
16885         * src/NetworkManagerDevice.c: division in assignment was flipped.
16886
16887 2005-06-23  David Zeuthen  <david@fubar.dk>
16888
16889         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16890         signal to the child to indicate that we got what we wanted when we
16891         see two new-lines right after each other.
16892         (nmwa_vpn_request_password): Pass a structure with several members
16893         instead of just the passwords
16894
16895 2005-06-23  Dan Williams <dcbw@redhat.com>
16896
16897         * src/NetworkManager.c
16898           src/NetworkManagerMain.h
16899                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16900                 - (nm_hal_init): new function, init libhal context then add devices
16901                 - (nm_hal_deinit): new function, clean up libhal context
16902                 - (nm_data_free): Move Hal cleanup here
16903                 - (main): check whether Hal is running, and if so, get a list of
16904                         network devices from it
16905
16906         * src/NetworkManagerDbus.c
16907                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16908                         and when it appears, get a list of network devices from it.  If
16909                         Hal goes away, clean up the libhal context
16910
16911 2005-06-22  Robert Love  <rml@novell.com>
16912
16913         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16914           permissions of scripts before executing.
16915
16916 2005-06-21  Robert Love  <rml@novell.com>
16917
16918         * initscript/SUSE/networkmanager: update.
16919         * src/backends/NetworkManagerSuSE.c: cleanup.
16920
16921 2005-06-21  Robert Love <rml@novell.com>
16922
16923         * gnome/applet/applet.c: use menu mnemonics.
16924         * gnome/applet/menu-items.c: (ditto)
16925
16926 2005-06-21  Robert Love  <rml@novell.com>
16927
16928         * applet/applet-dbus-devices.c: mark non-static functions static.
16929         * applet/applet-dbus-vpn.c: (ditto)
16930         * applet/applet.c: (ditto)
16931         * applet/nm-device.h: (ditto)
16932         * applet/other-network-dialog.c: (ditto)
16933         * applet/passphrase-dialog.c: (ditto)
16934         * NetworkManager.c: (ditto)
16935         * NetworkManagerDbus.c: (ditto)
16936         * NetworkManagerDevice.c: (ditto)
16937         * NetworkManagerPolicy.c: (ditto)
16938         * NetworkManagerUtils.c: (ditto)
16939         * NetworkManagerWireless.c: (ditto)
16940         * NetworkManagerWireless.h: (ditto)
16941         * nm-netlink-monitor.c: (ditto)
16942         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16943         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16944         * autoip.c: include autoip.h.
16945         * autoip.h: new file.  define get_autoip().
16946         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16947         * NetworkManagerDbus.h: remove duplicate definitions.
16948
16949 2005-06-20  Robert Love  <rml@novell.com>
16950
16951         * Makefile.am: Add missing intltool-foo.in generated files to
16952           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16953           with the start of stuff to cleanup on 'distclea'.
16954         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16955           stuff right and 'distcheck' works.
16956         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16957           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16958           Makefile.am for each.  And systray/Makefile needs to be redone.
16959
16960 2005-06-19  Dan Williams <dcbw@redhat.com>
16961
16962         * src/NetworkManagerDevice.c
16963         - (nm_device_wireless_process_scan_results): scan every 20s when
16964           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16965
16966 2005-06-19  Dan Williams <dcbw@redhat.com>
16967
16968         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16969
16970 2005-06-18  Ray Strode <rstrode@redhat.com>
16971
16972         * src/nm-netlink-monitor.c 
16973         (nm_netlink_monitor_event_handler): check for the presence
16974         of either error condition not both. 
16975         
16976         (nm_netlink_monitor_error_handler): emit error signal if
16977         error occurs.
16978
16979         (nm_netlink_monitor_event_handler),
16980         (nm_netlink_monitor_error_handler),
16981         (nm_netlink_monitor_disconnect_handler): if an 
16982         assertion fails disconnect the event handler to prevent 
16983         infinite loops.
16984
16985         * src/nm-netlink-monitor.h: add new error condition
16986         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16987
16988 2005-06-18  Ray Strode <rstrode@redhat.com>
16989
16990         * src/nm-netlink-monitor.c 
16991         (nm_netlink_monitor_event_handler): remove bogus < 0
16992         check on unsigned value and return early if the kernel
16993         didn't send any bytes.
16994
16995 2005-06-17  Robert Love  <rml@novell.com>
16996
16997         * initscript/SUSE/networkmanager: Change the Provides and default
16998         run levels
16999
17000 2005-06-16  Dan Williams <dcbw@redhat.com>
17001
17002         Patch from Robert Love:
17003         * gnome/applet/applet.c
17004                 - Beautify some applet menu item names
17005
17006 2005-06-17  David Zeuthen  <davidz@redhat.com>
17007
17008         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
17009         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
17010         Also add new methods can_export, import_file and export.
17011
17012         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
17013         to the main UI
17014
17015         * gnome/vpn-properties/nm-vpn-properties.c:
17016         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
17017         nm-vpn-ui-interface.h.
17018         (update_edit_del_sensitivity): Also update "Export" sensitivity
17019         (add_vpn_connection): Also add new SVC_NAME column
17020         (import_settings): New function
17021         (retrieve_data_from_selected_connection): New function
17022         (edit_cb): Use retrieve_data_from_selected_connection to simplify
17023         this function
17024         (export_cb): New function
17025         (init_app): Also setup the "export" widget
17026         (main): Support the --import-service and --import-file commandline
17027         arguments
17028
17029         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
17030         D-BUS 0.34
17031
17032 2005-06-16  Dan Williams <dcbw@redhat.com>
17033
17034         Patch from Robert Love:
17035         * gnome/applet/menu-items.c
17036                 - (network_menu_item_new): pass -1 as wireless network
17037                         menu items height size request rather than ascent / 2
17038
17039 2005-06-16  Dan Williams <dcbw@redhat.com>
17040
17041         * Clean up wording in Wireless Scan Methods menu items and constants
17042
17043 2005-06-16  Robert Love  <rml@novell.com>
17044
17045         * po/POTFILES.in
17046                 - remove gtkcell* files
17047
17048 2005-06-15  Dan Williams <dcbw@redhat.com>
17049
17050         Patch from Robert Love: make the applet stetic
17051
17052         * gnome/applet/Makefile.am
17053                 - Don't compile the gtkcellview and gtkcellrendererprogress files
17054
17055         * gnome/applet/gtkcellview.h
17056           gnome/applet/gtkcellview.c
17057           gnome/applet/gtkcellrendererprogress.h
17058           gnome/applet/gtkcellrendererprogress.c
17059                 - Removed
17060
17061         * gnome/applet/menu-items.c
17062                 - Progress bars are 5:1 size ratio
17063                 - Use GTK progress bars rather than internal ones
17064
17065 2005-06-15  Dan Williams <dcbw@redhat.com>
17066
17067         Patch from Robert Love:
17068         * initscript/SUSE/networkmanager
17069                 - Fix typo
17070
17071 2005-06-15  Dan Williams <dcbw@redhat.com>
17072
17073         * src/backends/NetworkManagerSuSE.c
17074           src/backends/NetworkManagerRedHat.c
17075           src/backends/NetworkManagerDebian.c
17076                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
17077
17078 2005-06-15  Dan Williams <dcbw@redhat.com>
17079
17080         * src/backends/NetworkManagerDebian.c
17081                 - Add nm_system_device_get_use_dhcp() to debian backend
17082
17083         Patch from Kay Sievers:
17084         * src/backends/NetworkManagerSuSE.c
17085                 - Update debian backend for static IP nameservers
17086
17087         * src/NetworkManagerDevice.c
17088                 - Actually set the device to use static IP or DHCP rather
17089                         than always DHCP
17090
17091 2005-06-15  Dan Williams <dcbw@redhat.com>
17092
17093         Patch from Thom May:
17094         * src/backends/NetworkManagerDebian.c
17095                 - Update debian backend for static IP nameservers
17096
17097 2005-06-15  Dan Williams <dcbw@redhat.com>
17098
17099         Patches from Robert Love:
17100         * gnome/applet/wireless-applet.glade
17101                 - Tighten up wording
17102
17103         * src/NetworkManagerDevice.c
17104                 - Remove misplaced ';'
17105
17106         * configure.in
17107           initscript/Makefile.am
17108           initscript/SUSE/Makefile.am
17109           initscript/SUSE/networkmanager
17110                 - Add SUSE initscript
17111
17112 2005-06-12  David Zeuthen  <davidz@redhat.com>
17113
17114         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17115
17116         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17117
17118         * gnome/vpn-properties/nm-vpn-properties.c: New file
17119
17120         * gnome/vpn-properties/Makefile.am: New file
17121
17122         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17123         array of passwords
17124
17125         * src/vpn-manager/nm-vpn-manager.c
17126         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17127         instead of just a single one
17128
17129         * src/vpn-manager/nm-dbus-vpn.c:
17130         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17131         here
17132         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17133
17134         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17135         Change the interface here to give a list of passwords. Also, don't
17136         require username, but do require service
17137
17138         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17139         the binary for the auth-dialog and use that instead of putting up a
17140         dialog asking for a single password
17141
17142         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17143         however do remember the service
17144
17145         * gnome/applet/main.c (main): Setup i18n
17146
17147         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17148         connection to '%s'" to the tooltip if we are connected using VPN
17149         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17150         key to determine whether we the auth-dialog needs to
17151         reprompt. Also cope with the fact that the auth-dialog now returns
17152         an array of passwords.
17153         (nmwa_menu_configure_vpn_item_activate): New handler for
17154         "Configure VPN..." menu item
17155         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17156         (is_vpn_available): New function to determine if we got any
17157         NM-compatible VPN software installed
17158         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17159         items only if we have NM-compatible VPN software installed
17160         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17161         logic for detecting when VPN connections are removed
17162
17163         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17164         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17165         since these are defined elsewhere
17166
17167         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17168         function used to keep track of whether the last attempt succeded
17169         (nmwa_dbus_filter): Update last_attempt according to whether the
17170         VPN connection could be established or not
17171
17172         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17173         Change prototype to take an array of passwords, not just a single
17174         password
17175
17176         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17177         update service, not user
17178         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17179         dbus_active_vpn_name is not NULL before using it
17180         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17181         string array instead of assuming a single password
17182
17183         * gnome/applet/applet-dbus-info.c:
17184         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17185         user name; don't read from gconf
17186
17187         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17188         VPN_NAME_FILES_DIR
17189
17190         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17191
17192         * configure.in: Add checks for gmodule-2.0.
17193         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17194         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17195         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17196         for details
17197
17198         * vpn-daemons/Makefile.am: Removed
17199
17200         * vpn-daemons/README: New file to describe extensions points for VPN
17201         software
17202
17203 2005-06-10  Dan Williams <dcbw@redhat.com>
17204
17205         * src/backends/NetworkManagerRedHat.c
17206                 - (get_current_profile_name): new function, grab current network profile name from
17207                         /etc/sysconfig/network
17208                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17209                         update an IP4 Config structure's settings from it
17210                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17211                         get DNS info from current network profile
17212
17213 2005-06-09  Dan Williams <dcbw@redhat.com>
17214
17215         Patch from Robert Love:
17216         * src/NetworkManagerDevice.c
17217           src/NetworkManagerUtils.c
17218                 - 64-bit build fixes
17219
17220 2005-06-09  Dan Williams <dcbw@redhat.com>
17221
17222         Patch from Kay Sievers and Robert Love:
17223         * configure.in
17224           src/backends/Makefile.am
17225           src/backends/NetworkManagerSuSE.c
17226                 - Add SuSE support
17227
17228 2005-06-09  Dan Williams <dcbw@redhat.com>
17229
17230         * NetworkManager.h
17231                 - Add NMWirelessScanMethod enum for scan methods
17232
17233         * gnome/applet/applet-dbus-devices.c
17234                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17235                 - (nmwa_dbus_update_scanning_enabled): remove
17236                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17237                         since it got removed
17238                 - (nmwa_dbus_enable_scanning): remove
17239
17240         * gnome/applet/applet-dbus-info.c
17241                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17242                         update the wireless scanning method from NMI
17243                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17244                         method value to NetworkManager
17245                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17246
17247         * gnome/applet/applet-dbus-info.h
17248                 - Add prototype for nmi_dbus_signal_update_scan_method
17249
17250         * gnome/applet/applet.c
17251                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17252                         Wireless Scanning menu based on current wireless scan method
17253                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17254                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17255                         and update our menu items to make sure the right one is checked
17256                 - (nmwa_set_scanning_enabled_cb): remove
17257                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17258                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17259                         Scanning menu item
17260                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17261                         from GConf
17262                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17263                         so we get notified of preference values too
17264                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17265
17266         * gnome/applet/applet.h
17267                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17268                 - Add wireless scan method member to applet data
17269                 - Remove pause_scanning_item, add Wireless Scanning submenu
17270
17271         * src/NetworkManager.c
17272                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17273                 - (main): grab scanning method from NMI if we can
17274
17275         * src/NetworkManagerDbus.c
17276                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17277                         nm_dbus_update_wireless_scan_method()
17278                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17279                         from NMI
17280                 - (nm_dbus_nmi_is_running): redundant function, removed
17281                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17282                         when NMI comes back
17283
17284         * src/NetworkManagerDevice.c
17285                 - (nm_device_is_activated): return TRUE if the device is activated
17286                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17287                         and we are activated
17288
17289         * src/nm-dbus-nm.c
17290                 - (nm_dbus_nm_set_scanning_enabled): removed
17291                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17292                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17293
17294 2005-06-09  Dan Williams <dcbw@redhat.com>
17295
17296         * NetworkManager.h
17297           src/vpn-manager/nm-vpn-service.c
17298                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17299
17300 2005-05-27  Dan Williams <dcbw@redhat.com>
17301
17302         * vpn-daemons/vpnc/nm-vpnc-service.c
17303                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17304                         Should fix the bug where the VPN connection terminates the first time.
17305
17306 2005-05-20  Dan Williams <dcbw@redhat.com>
17307
17308         * NetworkManager.h
17309                 - Differentiate VPN config signals between bad VPN config options
17310                         and bad IP config
17311
17312         * gnome/applet/applet-dbus-info.h
17313                 - Add prototypes for wireless network and vpn connection update functions
17314
17315         * gnome/applet/applet-dbus.c
17316                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17317
17318         * gnome/applet/applet.c
17319                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17320                         error signals
17321                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17322                         propogation to NetworkManager
17323                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17324                         notify propogation to NetworkManager
17325
17326         * src/NetworkManagerDbus.c
17327                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17328                         are updating so a network can be removed from it if necessary
17329
17330         * src/vpn-manager/nm-vpn-manager.c
17331                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17332
17333         * vpn-daemons/vpnc/nm-vpnc-service.c
17334                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17335                 - (nm_vpnc_dbus_signal_launch_failed): remove
17336                 - (nm_vpnc_dbus_signal_connect_failed): remove
17337                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17338                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17339                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17340                         for new generalized error signal function, remove config file stuff
17341                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17342                         we can write configuration options to it
17343                 - (nm_vpnc_config_file_generate): removed
17344                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17345                 - (nm_vpnc_config_options_validate): validate the config options we receive
17346                         from NetworkManager to block potential exploits
17347                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17348                         starting vpnc
17349                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17350                         to NetworkManager
17351
17352 2005-05-16  Dan Williams  <dcbw@redhat.com>
17353
17354         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17355                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17356                         is not "connect"
17357
17358 2005-05-16  Dan Williams  <dcbw@redhat.com>
17359
17360         Patch from Tomislav Vujec <tvujec@redhat.com>
17361         * gnome/applet/applet-dbus-info.c
17362                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17363                         GConf and pass them to NetworkManager.  New key is 'routes' under
17364                         the VPN connection, and should be a string list
17365
17366         * src/NetworkManagerSystem.c
17367                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17368                         set them on the device when we set the rest of the VPN config.  Ensure
17369                         they are in the correct format since they are passed directly to the
17370                         command line.
17371
17372         * src/backends/NetworkManagerRedHat.c
17373           src/backends/NetworkManagerDebian.c
17374                 - (nm_system_device_add_route_via_device_with_iface): new function
17375
17376         * src/vpn-manager/nm-dbus-vpn.c
17377                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17378
17379         * src/vpn-manager/nm-vpn-manager.c
17380                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17381                         them into the IP4 config functions
17382
17383 2005-05-15  Dan Williams  <dcbw@redhat.com>
17384
17385         From Filip Miletic:
17386         * po/sr.po
17387           po/sr@Latn.po
17388           configure.in
17389                 - Serbian translation added
17390
17391 2005-05-15  Dan Williams  <dcbw@redhat.com>
17392
17393         * dispatcher-daemon/NetworkManagerDispatcher.c
17394                 - (main): sync arguments with NetworkManager and the applet, now use
17395                         "--no-daemon" rather than "daemon=no"
17396                 - (nmd_print_usage): Fix script path in usage message
17397
17398 2005-05-15  Dan Williams  <dcbw@redhat.com>
17399
17400         * src/NetworkManagerDevice.[ch]
17401           src/NetworkManagerPolicy.c
17402           src/NetworkManager.c
17403           src/nm-dbus-nm.c
17404                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17405                         longer send the DeviceNoLongerActive signal unconditionally, but only
17406                         when the device is actually active.
17407
17408         * dispatcher-daemon/NetworkManagerDispatcher.c
17409                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17410                         and simplify the logic
17411                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17412                         we free it later on
17413
17414         * initscript/RedHat/Makefile.am
17415           initscript/RedHat/NetworkManagerDispatcher
17416                 - Add initscript for NetworkManagerDispatcher
17417
17418
17419         Patch from Bill Moss:
17420         * dispatcher-daemon/NetworkManagerDispatcher.c
17421                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17422
17423         * src/NetworkManagerDbus.c
17424                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17425                         and DeviceNowActive gets signaled, then the device has a new IP address
17426                         anyway.  There's no need for a separate signal.
17427
17428         * src/NetworkManagerDevice.c
17429                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17430
17431         * src/NetworkManagerPolicy.c
17432                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17433                         activates successfully.  This kind of went missing when I reworked the
17434                         activation code.
17435
17436 2005-05-15  Dan Williams  <dcbw@redhat.com>
17437
17438         * configure.in
17439                 - Check for dhcdbd and error if its not found
17440
17441         * src/dhcp-manager/Makefile.am
17442           src/dhcp-manager/nm-dhcp-manager.c
17443                 - Use path to dhcdbd that configure found
17444
17445 2005-05-14  Dan Williams  <dcbw@redhat.com>
17446
17447         * gnome/applet/nm-device.c
17448                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17449                         sort wireless networks alphabetically
17450
17451         * gnome/applet/applet-dbus-devices.c
17452                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17453                         before copying them over to the GUI
17454
17455 2005-05-14  Dan Williams  <dcbw@redhat.com>
17456
17457         * src/NetworkManager.c
17458                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17459                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17460                         the device list, as does nm_get_active_device() which is called from
17461                         nm_vpn_manager_deactivate_vpn_connection().
17462
17463 2005-05-14  Dan Williams  <dcbw@redhat.com>
17464
17465         * NetworkManager.h
17466                 - Add signals for VPN Launch and Connect failures
17467
17468         * gnome/applet/applet-dbus.c
17469                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17470
17471         * gnome/applet/applet.c
17472                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17473                         function to handle all VPN failure messages
17474                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17475                         function to hanlde all VPN failure  messages
17476                 - (show_warning_dialog): work around focus-stealing prevention
17477
17478         * gnome/applet/other-network-dialog.c
17479           gnome/applet/passphrase-dialog.c
17480                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17481                         problem where it never enabled for ASCII Key and Hex Key types
17482
17483         * gnome/applet/wireless-applet.glade
17484                 - Add window title to Other Wireless Network Dialog
17485
17486         * src/vpn-manager/nm-dbus-vpn.c
17487                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17488                         function to handle all VPN failure messages
17489
17490         * src/vpn-manager/nm-vpn-manager.c
17491                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17492
17493         * vpn-daemons/vpnc/nm-vpnc-service.c
17494                 - (nm_vpnc_dbus_signal_launch_failed): new function
17495                 - (nm_vpnc_dbus_signal_connect_failed): new function
17496                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17497                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17498                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17499                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17500
17501 2005-05-11  Dan Williams  <dcbw@redhat.com>
17502
17503         * vpn-daemons/vpnc/nm-vpnc-service.c
17504                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17505                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17506                         file exists before trying to write it out.
17507
17508 2005-05-10  Dan Williams  <dcbw@redhat.com>
17509
17510     * gnome/applet/applet-dbus-device.c
17511         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17512             prevented just entering ESSID and leaving key and key type up to
17513             NetworkManager (which should have them already cached)
17514
17515 2005-05-08  Dan Williams  <dcbw@redhat.com>
17516
17517         * src/NetworkManagerPolicy.c
17518                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17519                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17520                         fix a situation where NM is told to terminate and the device stops activation,
17521                         but the main thread isn't aware of that because it would never have run
17522                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17523                         had already quit.
17524
17525         * src/NetworkManagerDevice.c
17526                 - (nm_device_probe_wired_link_state): cosmetic fixes
17527                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17528                         we've failed to activate or been canceled.
17529                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17530
17531 2005-05-08  Dan Williams  <dcbw@redhat.com>
17532
17533         * src/NetworkManagerWireless.c
17534                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17535                         value of WEXT quality structures, and add a debug message when we cannot
17536                         determine any quality % at all
17537
17538 2005-05-08  Dan Williams  <dcbw@redhat.com>
17539
17540         * src/dhcp-manager/nm-dhcp-manager.c
17541                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17542                         it goes down.
17543
17544 2005-05-06  Dan Williams  <dcbw@redhat.com>
17545
17546         * gnome/applet/applet-dbus-device.c
17547           gnome/applet/applet-dbus-info.c
17548           gnome/applet/applet-dbus.c
17549           gnome/applet/applet.c
17550           gnome/applet/applet.h
17551                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17552
17553         * gnome/applet/applet-dbus.c
17554                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17555                         so we notice when wired device's carriers come back on.  Should
17556                         fix issue with wired devices being grayed out even if the cable
17557                         is in, for devices that support carrier detection.
17558
17559         * gnome/applet/applet.c
17560                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17561                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17562                         tooltip message
17563                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17564                         Fix situation where applet wouldn't respond to menu selections
17565
17566         * src/NetworkManager.c
17567           src/NetworkManagerDevice.c
17568           src/NetworkManagerDbus.c
17569           src/NetworkManagerDbus.h
17570                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17571
17572         * src/NetworkManagerDbus.c
17573                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17574                         Remove, no longer used or relevant
17575                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17576                 - (nm_dbus_schedule_device_status_change_signal): add
17577
17578         * src/NetworkManagerDevice.c
17579                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17580                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17581                         ie don't deactivate them unless explicitly told to by the user.  Also send
17582                         CARRIER_OFF / CARRIER_ON signals when link changes
17583                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17584                         Don't print error message when device is no longer around
17585                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17586                         not just during activation
17587
17588         * src/NetworkManagerPolicy.c
17589                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17590                         auto-device-selection.
17591                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17592
17593         * src/NetworkManagerSystem.c
17594                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17595                         is no longer present (Bill Moss)
17596
17597         * src/backends/shvar.c
17598                 - (svOpenFile): Open read-only to make SELinux happy
17599
17600         * src/backends/NetworkManagerRedHat.c
17601                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17602                         the path to the ifcfg-* files
17603
17604 2005-05-05  Dan Williams  <dcbw@redhat.com>
17605
17606         * Expose activation stages to NetworkManager clients, like the applet
17607         * Add Diana's progress icons to the applet, cued off NM activation stage
17608         * Use more descriptive tooltips, cued off NM activation stage
17609
17610 2005-05-05  Ray Strode  <rstrode@redhat.com>
17611
17612         * src/nm-netlink-monitor.c:
17613                 - Use clear_event_source instead of g_nullify_pointer() again.
17614
17615 2005-05-05  Dan Williams  <dcbw@redhat.com>
17616
17617         * gnome/applet/main.c
17618                 - Fix session management so the applet is actually managed now
17619
17620         * gnome/applet/passphrase-dialog.c
17621                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17622
17623 2005-05-05  Dan Williams  <dcbw@redhat.com>
17624
17625         Patch from Bill Moss:
17626         * gnome/libnm_glib/libnm_glib.c
17627                 - Fix for dbus-0.33
17628
17629 2005-05-05  Dan Williams  <dcbw@redhat.com>
17630
17631         Suggestion from Bill Moss:
17632         * src/NetworkManagerSystem.c
17633                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17634
17635
17636         * src/NetworkManager.c
17637                 - (nm_data_free): move destruction of the various managers after
17638                         release of device list, because deactivating and freeing a device
17639                         requires at least the named manager
17640                 - (nm_poll_and_update_wireless_link_state):
17641                   (nm_device_link_activated):
17642                   (nm_device_link_deactivated):
17643                         don't grab the device list lock when actually updating device
17644                         link status or strength, since nm_device_set_link_active()
17645                         needs to call nm_get_active_device(), which also locks the device list.
17646
17647         * src/NetworkManagerDevice.c
17648                 - (nm_device_set_link_active): if a device's link switches from off->on,
17649                         and it's wired, and the active device is wireless (or there is no
17650                         active device), activate the new device whose link just came on
17651                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17652                         my only calling the link to the current ap "failed" when more than 2
17653                         consecutive link checks have failed
17654
17655 2005-05-04  Dan Williams  <dcbw@redhat.com>
17656
17657         * src/NetworkManagerDevice.c
17658                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17659                         but let link_to_specific_ap() do the locking where it needs
17660
17661         Patch from Bill Moss:
17662         * src/NetworkManagerSystem.c
17663                 - Set MTU of VPN devices to 1412
17664
17665 2005-05-04  Dan Williams  <dcbw@redhat.com>
17666
17667         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17668
17669         * Fix some holes in device activation and retaining the currently connected
17670                 access point
17671
17672 2005-05-03  Dan Williams  <dcbw@redhat.com>
17673
17674         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17675           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17676           means you need dhcdbd, which you can get here (get the latest one):
17677
17678                 http://people.redhat.com/jvdias/dhcdbd/
17679
17680           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17681           interface as dhcdbd.
17682
17683         * Rewrite device activation to facilitate the new DHCP infrastructure and
17684           future improvements.  Its now "activation request" based, ie there is a single
17685           activation request composed of the device, access point, and other info which
17686           follows the entire activation process.  There are 5 stages of the activation
17687           process which correspond to:
17688
17689                 1) Device preparation
17690                 2) Device configuration (bring it up, set ESSID/Key/etc)
17691                 3) IP Config Start (fire off DHCP if we're using it)
17692                 4) IP Config Get (grab config from DHCP or static config files)
17693                 5) IP Config Commit (set device's IP address, DNS, etc)
17694
17695           Note that there is no longer a "scanning" step, since the access point must
17696           be known _before_ activation starts.  If the access point drops out or does
17697           not exist for some reason, the entire activation process fails and must be
17698           restarted for a different access point or device.
17699
17700         Patch from Bill Moss:
17701         * gnome/applet/applet.c
17702                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17703
17704 2005-04-27  Dan Williams  <dcbw@redhat.com>
17705
17706         * gnome/applet/applet-dbus-vpn.c
17707           gnome/applet/applet.c
17708           gnome/applet/applet.h
17709                 - Fix up active VPN handling so that we reliably know when a VPN
17710                         connection has been deactivated
17711
17712         * src/vpn-manager/nm-vpn-manager.c
17713                 - Remove duplicate VPNConnectionChange signal
17714
17715 2005-04-27  Dan Williams  <dcbw@redhat.com>
17716
17717         Patch from Peter Jones:
17718         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17719
17720         Patch from Bill Moss:
17721         * src/NetworkManagerSystem.c
17722                 - Fix checking of return value from ioctl()
17723
17724 2005-04-27  Dan Williams  <dcbw@redhat.com>
17725
17726         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17727         * Warn and exit if icons cannot be found
17728
17729 2005-04-27  Dan Williams  <dcbw@redhat.com>
17730
17731         Patch from Tom Parker:
17732         * Update debian backend
17733
17734 2005-04-27  Dan Williams  <dcbw@redhat.com>
17735
17736         * Merge the applet and the info-daemon, and move the converged
17737                 applet under gnome/applet
17738         * Move libnm_glib to gnome/libnm_glib
17739         * Convert most dbus calls between the applet, info-daemon, and NM
17740                 into async calls
17741         * Fix a few things valgrind noticed
17742         * Make NM broadcast state more reliably
17743
17744 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17745
17746         * configure.in: Added ne in ALL_LINGUAS
17747
17748 2005-04-15  Dan Williams  <dcbw@redhat.com>
17749
17750         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17751                 code for dbus 0.2x versions
17752
17753 2005-04-15  Dan Williams  <dcbw@redhat.com>
17754
17755         Patches from Tom Parker:
17756         - Fix memleaks
17757         - Join with worker thread rather than polling for its exit
17758
17759         Patch from Bill Moss:
17760         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17761
17762 2005-04-15  Dan Williams  <dcbw@redhat.com>
17763
17764         - Fixes to pass 'make distcheck'
17765
17766 2005-04-15  Dan Williams  <dcbw@redhat.com>
17767
17768         Initial VPN Support
17769                 - supports 'vpnc'
17770                 - reworks device IP configuration, backend files have changed and will need
17771                         to be updated for all distributions.  I will try to do what I can for
17772                         them, but I cannot test them.
17773
17774         - Move named directory to src/named-manager
17775         - Make backends directory self-contained
17776
17777 2005-04-06  Dan Williams  <dcbw@redhat.com>
17778
17779         Add debug code for socket/file descriptor leaks.  We register every socket
17780         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17781         list of sockets that we forgot to close on shutdown.  This also consolidates
17782         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17783
17784 2005-04-06  Dan Williams  <dcbw@redhat.com>
17785
17786         * dhcpcd/dhcpcd.c
17787                 - (dhcp_interface_free): fix a file descriptor leak that may have
17788                         caused network drivers to not unload due to refcounts > 0
17789
17790 2005-04-04  Dan Williams  <dcbw@redhat.com>
17791
17792         * panel-applet/NMWirelessAppletDbus.c
17793                 - (nmwa_dbus_call_nm_method): remove some commented code
17794
17795         * src/NetworkManagerAPList.[ch]
17796                 - (nm_ap_list_remove_ap_by_essid): new function
17797
17798         * src/NetworkManagerDevice.c
17799                 - (nm_device_wireless_force_use): remove access points from the ignore list
17800                         when the user forces them
17801
17802         * src/nm-dbus-device.c
17803                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17804
17805 2005-04-04  Dan Williams  <dcbw@redhat.com>
17806
17807         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17808
17809 2005-04-04  Dan Williams  <dcbw@redhat.com>
17810
17811         * src/NetworkManagerDevice.c:
17812                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17813                         of only erroring after the second consecutive scan times out.  Also
17814                         don't exit when the card requires more time than we can give it, just
17815                         log the event and continue.
17816
17817 2005-04-01  Steve Murphy  <murf@e-tools.com>
17818
17819         * configure.in: Added "rw" to ALL_LINGUAS.
17820
17821 2005-04-01  Dan Williams <dcbw@redhat.com>
17822
17823         Perform scans during device activation, if needed.  Both activation 
17824         and scans run in the same GMainContext.  Therefore, if an access point
17825         is not found by the time the device starts activation, it will not
17826         be available until after activation.  We now try to scan during
17827         activation (in nm_wa_test) every 15s so that all available access
17828         points are more likely to be found and available for the activation
17829         procedure.
17830
17831         Also change nm_wireless_link_state_handle() to only update the "best"
17832         AP if we are not forcing a device and if we are not about to change
17833         state.  This attempts to work around a race when forcing a device,
17834         where the forced AP would get cleared out too soon by the link state
17835         checking timeout in the main thread, and the activation attempt with
17836         that AP would fail.
17837
17838 2005-04-01  Dan Williams <dcbw@redhat.com>
17839
17840         * po/POTFILES.in
17841                 - Update with new translatables
17842
17843 2005-03-31  Dan Williams <dcbw@redhat.com>
17844
17845         * panel-applet/NMWirelessAppletDbus.c
17846                 - Fix device names now that hal has changed device parenting for
17847                         network devices.
17848
17849 2005-03-31  Dan Williams <dcbw@redhat.com>
17850
17851         Tighten up handling of wireless devices that don't support wireless
17852         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17853         hadn't been doing pseudo-scanning for a while either and would just
17854         spin waiting for an access point.  They are now manual devices where
17855         the user must choose the access point from the menu every time.  All
17856         "allowed" access points are listed in the applet's menu regardless
17857         of whether or not they can be seen by the card, since it can't scan
17858         anyway.
17859
17860         * src/NetworkManager.c
17861                 - (nm_wireless_link_state_handle): new function, but only update
17862                         the "best" ap for non-scanning devices when its not activating,
17863                         and when no device is being forced on the card
17864                 - (nm_link_state_monitor): split wireless link state handling out
17865                         into separate function
17866
17867         * src/NetworkManagerDevice.c
17868                 - (nm_device_copy_allowed_to_dev_list): new function
17869                 - (nm_device_new): populate non-scanning cards' AP lists with
17870                         access points from the "allowed" list
17871                 - (nm_device_new): don't start a scanning timeout for devices that
17872                         can't scan
17873                 - (nm_device_activation_schedule_finish): new parameter, should be
17874                         the AP that failed to be connected to, pass it on to the
17875                         activation finish function in NetworkManagerPolicy.c
17876                 - (nm_device_activate_wireless): don't ever try to get a new AP
17877                         for non-scanning devices, just fail.  The user must choose
17878                         a new access point manually.
17879                 - (nm_device_activate): grab the AP that failed connection and
17880                         pass it on
17881                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17882                         a link to it, user must manually choose a new one
17883                 - (nm_device_do_pseudo_scan): remove function
17884                 - (nm_device_wireless_process_scan_results): remove bits for non-
17885                         scanning cards since they never get here
17886                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17887                         and fake the scan list for test devices a bit earlier
17888
17889         * src/NetworkManagerPolicy.c
17890                 - (nm_policy_activation_finish): use the failed_ap that we get
17891                         passed rather than getting the best_ap from the card, which
17892                         may have changed since we were scheduled
17893                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17894                         update their scan list directly from the allowed list when
17895                         we get updates to the allowed list from NetworkManagerInfo
17896
17897         * src/NetworkManagerPolicy.h
17898                 - New member for failed access point in NMActivationResult
17899
17900   -------------------------------------
17901
17902         Driver Notification patch: notifies the user when their driver
17903                 sucks.  Gives them the option to ignore further insertions
17904                 of the card that has the sucky driver.
17905
17906         * NetworkManager.h
17907                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17908                         enum and replace it with NO_CARRIER_DETECT and
17909                         NO_WIRELESS_SCAN
17910
17911         * panel-applet/NMWirelessApplet.[ch]
17912                 - Merge essid.glade -> wireless-applet.glade
17913                 - Implement the "Your driver sucks" notification dialog
17914
17915         * panel-applet/NMWirelessAppletDbus.c
17916                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17917                 - Grab hardware address for each device from NM too
17918                 - Check whether the driver for each device sucks or not whenever
17919                         a new device is noticed
17920
17921         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17922                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17923
17924         * src/NetworkManager.c
17925                 - Fix a double-unref on device removal
17926
17927         * src/NetworkManagerUtils.c
17928                 - Set appropriate driver support level on a device that doesn't
17929                         support scanning or carrier detection
17930
17931         * src/nm-dbus-device.c
17932                 - New "getHWAddress" dbus method on devices
17933                 - getSupportsCarrierDetect -> getDriverSupportLevel
17934
17935 2005-03-31  Dan Williams <dcbw@redhat.com>
17936
17937         * src/NetworkManagerDevice.c
17938                 - (nm_device_wireless_scan): Fix leak of scan results in some
17939                         instances
17940
17941 2005-03-29  Dan Williams <dcbw@redhat.com>
17942
17943         * src/NetworkManager.c
17944                 - (nm_poll_and_update_wireless_link_state): make code less indented
17945
17946         Patch from Bill Moss:
17947         * src/NetworkManager.c
17948                 - (nm_device_update_link_state): Update signal strength on wireless
17949                         devices every time we update link state too.
17950
17951 2005-03-29  Dan Williams <dcbw@redhat.com>
17952
17953         * src/NetworkManagerDevice.c
17954                 - (nm_device_set_essid): Work around Orinoco cards which need
17955                         extra time after setting the ESSID
17956
17957 2005-03-29  Dan Williams <dcbw@redhat.com>
17958
17959         * src/NetworkManagerDevice.c
17960                 - Merge one more bit of Peter Jones' completion patch
17961
17962 2005-03-29  Dan Williams <dcbw@redhat.com>
17963
17964         * src/NetworkManagerDevice.c
17965                 - (nm_device_force_use): Fix possible segfault
17966
17967 2005-03-29  Dan Williams <dcbw@redhat.com>
17968
17969         * src/NetworkManagerDevice.c
17970                 - Use iw_get_ext() where we should rather than iw_set_ext()
17971
17972 2005-03-29  Dan Williams <dcbw@redhat.com>
17973
17974         * src/NetworkManagerDevice.c
17975                 - (nm_device_set_up_down): remove check for unsupported devices
17976                         that caused NM to not bring devices up when they were
17977                         added to the device list.
17978
17979 2005-03-28  Dan Williams <dcbw@redhat.com>
17980
17981         * src/NetworkManagerDevice.c
17982                 - (mdio_read): Fix two bugs that caused all devices to fail
17983                         the MII carrier detection support checks
17984
17985 2005-03-26  Dan Williams <dcbw@redhat.com>
17986
17987         * src/NetworkManagerDevice.c
17988                 - (nm_device_wireless_scan): Remove duplicated scanning code
17989
17990 2005-03-25  Dan Williams <dcbw@redhat.com>
17991
17992         * panel-applet/NMWirelessApplet.c
17993                 - (nmwa_about_cb): Add some more contributors
17994                 - (nmwa_update_state): show the applet when there's no connection
17995                 - Enable the "Stop/Resume all wireless devices" option in the
17996                         context menu
17997                 - New "no connection" icon
17998
17999         * src/NetworkManager.c
18000                 - (nm_poll_and_update_wireless_link_state): don't do anything if
18001                         wireless is disabled or we're asleep
18002
18003         * src/NetworkManagerDHCP.c
18004                 - Remove trailing "\n" on debug messages
18005
18006         * src/NetworkManagerDbus.c
18007                 - (nm_dbus_network_status_from_data): new state "asleep"
18008
18009         * src/NetworkManagerDevice.c
18010                 - Merge most of Peter Jones' "completion" patch that greatly reduces
18011                         latency and wait times for most operations
18012                 - (nm_device_wireless_scan): Don't scan when asleep
18013
18014         * src/NetworkManagerPolicy.c
18015                 - (nm_policy_get_best_device): return no device when asleep
18016                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
18017                         for all wireless devices on update, not just active device
18018
18019         * src/NetworkManagerUtils.c
18020                 - Merge Peter Jones' "completion" patch
18021
18022         * src/nm-dbus-nm.c
18023                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
18024                         we're told to disable them
18025                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
18026
18027         * utils/nm-utils.h
18028                 - New variants of the warn/info/error/debug print functions that can take
18029                         variables rather than static strings
18030
18031 2005-03-24  Dan Williams <dcbw@redhat.com>
18032
18033         * src/NetworkManagerUtils.c
18034                 - (nm_get_device_driver_name): driver names are now on the parents of
18035                         "Network Interface" objects, so look for them there
18036
18037 2005-03-24  Dan Williams <dcbw@redhat.com>
18038
18039         * test/nmtest.c
18040                 - Escape some forgotten object paths before we shove them through dbus
18041
18042 2005-03-24  Dan Williams <dcbw@redhat.com>
18043
18044         * dhcpcd/dhcpcd.[ch]
18045           src/NetworkManagerDHCP.c
18046                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
18047                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
18048
18049         * src/NetworkManagerDbus.c
18050                 - spacing cleanups
18051
18052         * src/nm-dbus-dhcp.c
18053                 - Make the API suck less.  There is now only 1 type of each function,
18054                         ie only "getInteger" and no longer also "getIntegerv".  All types
18055                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
18056                         that will never have more than 1 element.  This should simplify
18057                         things greatly.
18058
18059         * test/nm-dhcp-opt-test.c
18060                 - Make the tool not segfault
18061                 - adapt to new DHCP Options API
18062
18063 2005-03-22  Dan Williams <dcbw@redhat.com>
18064
18065         * src/NetworkManager.c
18066                 - (nm_wired_link_deactivated): actually ignore netlink events from
18067                         wireless devices.
18068
18069 2005-03-22  Dan Williams <dcbw@redhat.com>
18070
18071         * src/NetworkManager.c
18072                 - (nm_wired_link_activated): actually ignore netlink events from
18073                         wireless devices.
18074
18075 2005-03-17  Dan Williams <dcbw@redhat.com>
18076
18077         Patch from Tom Parker:
18078         * src/nm-netlink-monitor.c
18079                 - Include unistd.h
18080         * info-daemon/NetworkManagerInfoDbus.c
18081                 - (nmi_dbus_update_network_auth_method): free GConf values
18082
18083         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
18084         * src/NetworkManagerDevice.c
18085                 - (nm_device_set_wireless_config): wait for successful
18086                         association longer for some cards (Atheros a/b/g)
18087
18088 2005-03-15  Ray Strode  <rstrode@redhat.com>
18089
18090         * src/NetworkManager.c:
18091         (sigterm_pipe_handler):
18092         remove bogus FIXME
18093
18094 2005-03-15  Ray Strode  <rstrode@redhat.com>
18095
18096         * src/NetworkManagerDbus.c:
18097         Fix some sign weirdness that gcc4 doesn't like,
18098         and add a header file so PPC can hopefully find
18099         SIGTRAP
18100
18101 2005-03-14  Ray Strode  <rstrode@redhat.com>
18102         
18103         Fourth (probably working) cut at porting to
18104         dbus 0.30 api and new hal. This cut adds
18105         some new logging macros to make debugging
18106         easier.
18107
18108         * dispatcher-daemon/NetworkManagerDispatcher.c:
18109         * info-daemon/NetworkmanagerInfo.c:
18110         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
18111         * info-daemon/NetworkManagerInfoVPN.c:
18112         * src/NetworkManager.c:
18113         * src/NetworkManagerAP.c:
18114         * src/NetworkManagerAPList.c:
18115         * src/NetworkManagerDHCP.c:
18116         * src/NetworkManagerDbus.c:
18117         * src/NetworkManagerDevice.c:
18118         * src/NetworkManagerPolicy.c:
18119         * src/NetworkManagerSystem.c:
18120         * src/NetworkManagerUtils.c:
18121         * src/NetworkManagerWireless.c:
18122         * src/autoip.c:
18123         * src/nm-dbus-nm.c:
18124         * src/backends/NetworkManagerDebian.c:
18125         * src/backends/NetworkManagerGentoo.c:
18126         * src/backends/NetworkManagerRedHat.c:
18127         * src/backends/NetworkManagerSlackware.c:
18128         use new logging macros.
18129
18130         * dispatcher-daemon/NetworkManagerDispatcher.c:
18131         (nmd_dbus_filter): s/dbus_free/g_free/
18132
18133         * info-daemon/Makefile.am: link in utils library.
18134         * info-daemon/NetworkmanagerInfo.c: use new logging 
18135         macros.
18136         (nmi_dbus_get_network): don't assume enumerations
18137         are 32-bit.
18138         (nmi_dbus_nmi_message_handler): don't free what 
18139         doesn't belong to us.
18140
18141         * libnm_glib/libnm_glib.c:
18142         (libnm_glib_get_nm_status): 
18143         (libnm_glib_init): don't free what doesn't
18144         belong to us.
18145         (libnm_glib_dbus): strdup result, so it doesn't get
18146         lost when message is unref'd.
18147
18148         * panel-applet/NMWirelessAppletDbus.c:
18149         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18150
18151         * src/NetworkManager.c:
18152         (nm_monitor_wired_link_state): request initial status 
18153         dump of all cards when we start up, instead of relying
18154         on /sys/.../carrier.
18155         (nm_info_handler), (nm_set_up_log_handlers): 
18156         log handlers to specify what syslog priorites 
18157         the logging macros default to.
18158
18159         * src/NetworkManagerAPList.c: 
18160         (nm_ap_list_populate_from_nmi):
18161         s/dbus_free_string_array/g_strfreev/
18162
18163         * src/NetworkManagerDbus.c:
18164         (nm_dbus_get_network_object):
18165         validate d-bus message argument types.
18166         Advance message iterator after reading argument,
18167         prepend instead of append to GSList.
18168
18169         * src/NetworkManagerDevice.c:
18170         (nm_device_probe_wired_link_status):
18171         remove redundant /sys in /sys path. remove wrong
18172         contents == NULL means has carrier assumption.
18173
18174         * src/nm-netlink-monitor.c 
18175         (nm_netlink_monitor_request_status): implement
18176         function to ask kernel to dump interface link
18177         status over netlink socket.
18178
18179         * test/*.c: s/dbus_free/g_free/
18180
18181         * utils/nm-utils.h:
18182         (nm_print_backtrace): new macro to print backtrace.
18183         (nm_get_timestamp): new macro to get sub-second precise
18184         unix timestamp.
18185         (nm_info), (nm_debug), (nm_warning), (nm_error):
18186         new logging functions. nm_info just prints,
18187         nm_debug includes timestamp and function,
18188         nm_warning includes function, nm_error includes
18189         backtrace and sigtrap.
18190
18191 2005-03-11  Ray Strode  <rstrode@redhat.com>
18192
18193         Third (unfinished, partially working) cut at porting to 
18194         dbus 0.30 api and new hal.
18195
18196         * info-daemon/NetworkManagerInfoDbus.c:
18197                 don't free null arrays.
18198
18199         * panel-applet/NMWirelessAppletDbus.c: 
18200         * src/nm-dbus-device.c:
18201         * src/nm-dbus-net.c: 
18202         * src/NetworkManagerDbus.c: more 
18203         STRING -> OBJECT_PATH fun
18204         * src/NetworkManagerDevice.c:
18205         * src/NetworkManagerDevice.h:
18206         (rename nm_device_get_link_active): rename to 
18207         nm_device_has_active_link
18208         (nm_device_wireless_link_active): rename to
18209         nm_device_probe_wireless_link_state
18210         (nm_device_wired_link_active): rename to
18211         nm_device_probe_wired_link_state.  Rewrite to
18212         use carrier file since hal doesn't maintain
18213         link state anymore.
18214         (nm_device_update_link_active): rename to
18215         nm_device_update_link_state
18216         * src/NetworkManagerPolicy.c 
18217           (nm_policy_activation_finish): check for NULL
18218           MAC address.
18219
18220         * src/Makefile.am:
18221         * src/NetworkManagerMain.h: 
18222         * src/NetworkManager.c:
18223         * src/nm-netlink-monitor.c:
18224         * src/nm-netlink-monitor.h: New class to support
18225         monitoring wired ethernet link status, since HAL
18226         doesn't export that information anymore.
18227
18228 2005-03-09  Ray Strode  <rstrode@redhat.com>
18229
18230         Second (unfinished, unworking) cut at porting to 
18231         dbus 0.30 api.
18232
18233         * dispatcher-daemon/NetworkManagerDispatcher.c:
18234         * info-daemon/NetworkManagerInfoDbus.c:
18235         * panel-applet/NMWirelessAppletDbus.c:
18236         * src/NetworkManagerDbusUtils.c:
18237         * src/NetworkManagerDbusUtils.h:
18238         * src/nm-dbus-device.c:
18239         * src/nm-dbus-nm.c:
18240         * test/nmtest.c: support dbus "object path" type
18241
18242         * configure.in: 
18243         * Makefile.am:
18244         * info-daemon/Makefile.am:
18245         * libnm_glib/Makefile.am:
18246         * panel-applet/Makefile.am:
18247         * dispatcher-daemon/Makefile.am
18248         * src/Makefile.am:
18249         * test/Makefile.am:
18250         * utils/Makefile.am: 
18251         * utils/nm-utils.c: 
18252         * utils/nm-utils.h: new utils static lib
18253
18254 2005-03-07  Ray Strode  <rstrode@redhat.com>
18255
18256         * info-daemon/NetworkManagerInfoDbus.c:
18257         * libnm_glib/libnm_glib.c:
18258         * panel-applet/NMWirelessAppletDbus.c:
18259         * src/NetworkManager.c:
18260         * src/NetworkManagerDbus.c:
18261         * src/NetworkManagerDevice.c:
18262         * src/NetworkManagerUtils.c:
18263         * src/nm-dbus-device.c:
18264         * src/nm-dbus-dhcp.c:
18265         * src/nm-dbus-net.c:
18266         * src/nm-dbus-nm.c:
18267         * test/nminfotest.c:
18268         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18269
18270 2005-03-04  Dan Williams  <dcbw@redhat.com>
18271
18272         * configure.in
18273                 - Mark HEAD as 0.4
18274
18275 2005-03-04  Dan Williams  <dcbw@redhat.com>
18276
18277         Patch from Peter Jones:
18278         - Make stuff work with gcc 4.0
18279
18280 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18281
18282         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18283
18284 2005-02-27  Jim Huang  <jserv@kaffe.org>
18285
18286         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18287
18288 2005-02-27  Dan Williams  <dcbw@redhat.com>
18289
18290         Patch from Bill Moss:
18291         * panel-applet/NMWirelessAppletDbus.c
18292                 - Make sure strength for current access point is up-to-date when we
18293                         update the gui data model
18294
18295 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18296
18297         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18298
18299 2005-02-27  Dan Williams  <dcbw@redhat.com>
18300
18301         * src/backends/NetworkManagerRedHat.c
18302                 - (nm_system_init): Kill any dhclient processes lying around as well
18303                         as stopping 'nifd' if its already been started.  NetworkManager
18304                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18305
18306 2005-02-27  Dan Williams  <dcbw@redhat.com>
18307
18308         * panel-applet/NMWirelessApplet.c
18309                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18310                         dbus data model, not the GUI data model twice.
18311
18312 2005-02-27  Dan Williams  <dcbw@redhat.com>
18313
18314         * panel-applet/NMWirelessApplet.[ch]
18315           panel-applet/NMWirelessAppletDbus.[ch]
18316                 - Move to incremental network updates.  Instead of blowing away our list
18317                         of devices every time we get a signal from NetworkManager, we now
18318                         incrementally add/remove networks when NetworkManager notifies us that
18319                         a new network has appeared or disappered.  Strength updates now happen
18320                         on-the-fly for each access point as well.  There are now two copies of
18321                         data from NetworkManager: one for the dbus side, and one for the gui side.
18322                         When the dbus side data is modified, it is copied over to the gui side
18323                         so we don't have to hold the data_mutex for long periods of time (and
18324                         therefore block animation of the applet's icon).
18325                 - Clean up some memleaks too
18326
18327         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18328                 - Minor code beautification
18329
18330         * src/NetworkManagerAPList.c
18331                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18332                         completely new and whether or not an existing one's strength was updated.
18333                         Try to fix multiple access points and signal strength by using the highest
18334                         signal strength in each scan for any given ESSID.
18335
18336         * src/NetworkManagerDbus.[ch]
18337                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18338                         wireless networks; now we have only WirelessNetworkUpdate which includes
18339                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18340                 - Kill usage of DbusMessageIter
18341
18342         * src/NetworkManagerDevice.c
18343                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18344                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18345                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18346                         currently associated with from the network list.
18347                 - Update for new signals during scan, send out Appeared, Disappeared, or
18348                         StrengthChanged when necessary.
18349
18350 2005-02-25  Dan Williams  <dcbw@redhat.com>
18351
18352         * README
18353                 - Line break the README
18354
18355 2005-02-25  Dan Williams  <dcbw@redhat.com>
18356
18357         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18358                 - Remove usage of gtk_window_set_default_size()
18359
18360         * panel-applet/essid.glade
18361                 - Stick default size here
18362                 - Add in random crap that current glade wants to add in now
18363
18364 2005-02-25  Dan Williams  <dcbw@redhat.com>
18365
18366         * src/backends/NetworkManagerRedHat.c
18367                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18368                         and that we actually tell nscd to reload the hosts cache when it changes
18369
18370 2005-02-25  Dan Williams  <dcbw@redhat.com>
18371
18372         * info-daemon/NetworkManagerInfoDbus.c
18373                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18374
18375         * test/nminfotest.c
18376                 - Whack usage of DbusMessageIter
18377                 - Clean up DbusError and DbusMessage handling and freeing
18378                 - Remove unused unregister handler
18379
18380         * test/nmtest.c
18381                 - Whack usage of DbusMessageIter
18382
18383         * test/nmtestdevices.c
18384                 - Whack usage of DbusMessageIter
18385
18386 2005-02-25  Dan Williams  <dcbw@redhat.com>
18387
18388         * NetworkManager.h
18389                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18390                         signal
18391
18392 2005-02-25  Dan Williams  <dcbw@redhat.com>
18393
18394         * named/nm-named-manager.c
18395                 - Ensure that pid and watch variables for child named process get cleared out
18396                         when the child goes away.
18397
18398 2005-02-22  Dan Williams  <dcbw@redhat.com>
18399
18400         * src/NetworkManagerPolicy.c
18401                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18402                         and NULL out data->active_device so that we have to choose another one.
18403                         This may make NetworkManager keep attempting to connect to a wired network
18404                         if it fails, but if it keeps failing the wired network has more problems than
18405                         just NetworkManager.
18406
18407         * src/backends/NetworkManagerRedHat.c
18408                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18409                         is already running
18410
18411         * named/nm-named-manager.c
18412                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18413                         named so that the distro can flush whatever name service caching
18414                         daemon it uses
18415
18416 2005-02-21  Dan Williams  <dcbw@redhat.com>
18417
18418         * src/NetworkManagerDHCP.[ch]
18419                 - (nm_device_dhcp_remove_timeouts): new function
18420
18421         * src/NetworkManagerDevice.c
18422                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18423                         remove the DHCP timeouts.
18424
18425 2005-02-21  Dan Williams  <dcbw@redhat.com>
18426
18427         * panel-applet/NMWirelessApplet.[ch]
18428           panel-applet/menu-info.[ch]
18429                 - Give the panel applet some major love: menu items are no longer
18430                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18431                         This allows the applet to actually reflect theme changes correctly,
18432                         since themeing of subclassed items in GTK _sucks_.
18433
18434 2005-02-18  Dan Williams  <dcbw@redhat.com>
18435
18436         * libnm_glib/libnm_glib.[ch]
18437           test/libnm_glib_test.c
18438                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18439                         and its data, and doesn't have to free the callback data anymore
18440
18441 2005-02-18  Dan Williams  <dcbw@redhat.com>
18442
18443         * panel-applet/NMWirelessApplet.c
18444                 - Revert 2005-02-18 William Jon McCann fix for standard
18445                         copyright string until it passes 'make distcheck'.
18446                         With standard copyright string, xgettext complains
18447                         about "Non-ASCII string at ...".
18448
18449 2005-02-18  Dan Williams  <dcbw@redhat.com>
18450
18451         * panel-applet/essid.glade
18452           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18453                 - Correct spelling of "adaptor"->"adapter"
18454
18455 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18456
18457         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18458         (nmwa_about_cb): Use standard copyright string.  Update comment
18459         text to reflect that it is a notification area applet.  Remove
18460         leading newline in authors list.
18461         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18462         instead of on parent menu item activation.  Fixes #167550.
18463
18464 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18465
18466         * panel-applet/essid.glade: Capitalize items as per HIG.
18467           Fixes #167632
18468
18469 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18470
18471         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18472         files for GTK 2.4 or lower, since now public in GTK 2.6.
18473
18474         * panel-applet/essid.glade: Don't specify window size.
18475         
18476 2005-02-17  Dan Williams  <dcbw@redhat.com>
18477
18478         Caught by Bill Moss:
18479         * dhcpcd/client.c
18480                 - Time remaining for DHCP transaction calculation was incorrectly
18481                         inside a #ifdef DEBUG
18482
18483 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18484
18485         * configure.in: Added fr (French) to ALL_LINGUAS.
18486
18487 2005-02-14  Dan Williams  <dcbw@redhat.com>
18488
18489         * src/NetworkManagerDHCP.c
18490                 - (set_domain_searches): Fix free of invalid pointer
18491
18492 2005-02-14  Dan Williams  <dcbw@redhat.com>
18493
18494         Patch from Peter Jones:
18495         * dhcpcd/client.c
18496                 - Ensure we return RET_DHCP_CEASED everywhere we should
18497         * dhcpcd/udpipgen.c
18498                 - Use faster TOS for IP packets
18499                 - Don't set ip_id since we're UDP
18500
18501         Patch from Tomislav Vujec:
18502         * src/nm-dbus-dhcp.c
18503           test/nm-dhcp-opt-test.c
18504                 - Clean up warnings to enable cvs tree compilation.
18505
18506 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18507
18508         * configure.in
18509           po/hr.po
18510                 - Add the Croatian locale.
18511
18512 2005-02-14  Colin Walters  <walters@verbum.org>
18513
18514         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18515         list of domains to search.
18516         
18517         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18518
18519 2005-02-13  Dan Williams  <dcbw@redhat.com>
18520
18521         * dhcpcd/client.c
18522                 - Debug output cleanups of DHCP option printing and parsing.
18523
18524 2005-02-13  Dan Williams  <dcbw@redhat.com>
18525
18526         Patch from Dan Reed:  DHCP options D-BUS API
18527                 Exposes the DHCP options that a device receives to clients over D-BUS.
18528
18529         * configure.in
18530                 - A few cleanups
18531
18532         * dhcpcd/client.h
18533                 - Correct names, option length, and types for DHCP options
18534
18535         * dhcpcd/dhcpcd.[ch]
18536                 - Clarify function names that access DHCP options & data
18537
18538         * src/NetworkManagerDHCP.c
18539                 - Use new DHCP data access functions
18540
18541         * src/NetworkManagerDbus.c
18542                 - Message handler for DHCP functions
18543
18544         * src/nm-dbus-dhcp.[ch] (new)
18545                 - DHCP dbus methods
18546
18547         * test/nm-dhcp-opt-test.c
18548                 - Test DHCP D-BUS API and return all present DHCP options
18549
18550 2005-02-12  Dan Williams  <dcbw@redhat.com>
18551
18552         * test/Makefile.am
18553           test/nmclienttest.c
18554           test/nmtest.c
18555                 - Move nmclienttest.c -> nmtest.c
18556
18557 2005-02-12  Dan Williams  <dcbw@redhat.com>
18558
18559         * dhcpcd/buildmsg.c
18560                 - Pad DHCP packets until they are at least 300 bytes in size.
18561
18562 2005-02-11  Dan Williams  <dcbw@redhat.com>
18563
18564         * dhcpcd/client.c
18565                 - (dhcp_init): only print out client ID and class ID if they are specified
18566
18567         * src/NetworkManagerDbus.[ch]
18568           src/nm-dbus-nm.[ch]
18569           src/nm-dbus-device.[ch]
18570           src/nm-dbus-net.[ch]
18571                 - Move NM, Device, and Net functions to separate files and use the
18572                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18573                         method dispatching
18574
18575         * src/NetworkManagerDbusUtils.c
18576                 - Add new validate_method called before each dispatch (if present)
18577                         that can validate the method call
18578
18579         * src/NetworkManagerWireless.c
18580                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18581                         levels never to be evaluated
18582
18583         Patch from j@bootlab.org
18584         * src/NetworkManagerDevice.c
18585                 - Add typedef for "u64"
18586
18587         * src/backends/NetworkManagerDebian.c
18588                 - Copy in Dave Woodhouse's fixes for IPv6
18589
18590 2005-02-11  Dan Williams  <dcbw@redhat.com>
18591
18592         Patch from Dave Woodhouse for IPv6:
18593         * src/NetworkManagerUtils.c
18594                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18595                         and multicast addresses
18596
18597         * src/NetworkManagerDevice.c
18598                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18599                         after bringing up a card.
18600
18601 2005-02-10  Dan Williams  <dcbw@redhat.com>
18602
18603         Patch from Dave Woodhouse:
18604         * src/NetworkManagerSystem.h
18605           src/backends/NetworkManagerDebian.c
18606           src/backends/NetworkManagerGentoo.c
18607           src/backends/NetworkManagerSlackware.c
18608                 - New nm_system_device_add_ip6_link_address() function to add link-local
18609                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18610
18611         * src/backends/NetworkManagerRedHat.c
18612                 - (nm_system_device_add_ip6_link_address): implement
18613                 - (nm_system_device_flush_addresses): revert to previous behavior of
18614                         flushing all addresses
18615
18616 2005-02-10  Dan Williams  <dcbw@redhat.com>
18617
18618         Patch from Tom Parker:
18619         * src/NetworkManagerDevice.c
18620                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18621                         mii.h headers are broken, and instead use our own typedefs
18622
18623 2005-02-10  Dan Williams  <dcbw@redhat.com>
18624
18625         * dhcpcd/buildmsg.c
18626                 - (fill_host_and_class_id): only fill in client and class IDs if
18627                         they are set by callers.
18628
18629         * dhcpcd/client.c
18630                 - (class_id_setup): don't autogenerate a class ID, only use one
18631                         we're given, if any.
18632                 - (client_id_setup): don't autogenerate a client ID, only use one
18633                         we're given, if any.
18634
18635         * dhcpcd/dhcpcd.c
18636                 - (dhcp_interface_init): ensure that client options are correctly
18637                         NULL terminated
18638
18639         * src/NetworkManagerDHCP.c
18640                 - (nm_device_dhcp_request): pass hostname to dhcp library
18641
18642 2005-02-10  Dan Williams  <dcbw@redhat.com>
18643
18644         * dhcpcd/client.c
18645                 - #rh147661# Don't send kernel version in DHCP requests
18646
18647         * src/NetworkManagerSystem.h
18648           src/backends/NetworkManagerDebian.c
18649           src/backends/NetworkManagerGentoo.c
18650           src/backends/NetworkManagerRedHat.c
18651           src/backends/NetworkManagerSlackware.c
18652                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18653                         functions, they are no longer used anyway
18654
18655         * src/backends/NetworkManagerRedHat.c
18656                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18657                         addresses in an attempt to keep IPv6 local-scope addresses around
18658
18659 2005-02-10  Dan Williams  <dcbw@redhat.com>
18660
18661         * src/NetworkManager.c
18662                 - (nm_create_device_and_add_to_list): change the add message slightly
18663
18664         * src/NetworkManagerUtils.c
18665                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18666                         Return driver name to calling function
18667                 - (nm_get_driver_support_level): print out the driver a device is using
18668                         during the support check
18669
18670         Patch from Dave Woodhouse:
18671         * dhcpcd/udpipgen.c
18672                 - (in_cksum): copy last byte of odd-sized packets into a
18673                         'u_short' rather than a 'u_char', should fix wrong checksums
18674                         on big-endian platforms
18675
18676 2005-02-09  Dan Williams  <dcbw@redhat.com>
18677
18678         * Clean up usage of GSList objects and looping through their members
18679         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18680                 now.
18681         * Fix problem where even if scanning was turned off, card would still
18682                 cycle through frequencies.
18683
18684 2005-02-08  Dan Williams  <dcbw@redhat.com>
18685
18686         * panel-applet/NMWirelessApplet.c
18687                 - Fix for gtk 2.4
18688
18689 2005-02-08  Dan Williams  <dcbw@redhat.com>
18690
18691         Patch from Bill Moss
18692         * panel-applet/NMWirelessApplet.c
18693                 - Restore correct ESSID in tooltips
18694
18695 2005-02-07  Dan Williams  <dcbw@redhat.com>
18696
18697         * panel-applet/NMWirelessApplet.[ch]
18698                 - Add a context menu that contains:
18699                         Pause/Resume Wireless Scanning
18700                         Stop/Start All Wireless Devices
18701                         About...
18702                 - Grab active device strength off active device,
18703                         not its network
18704
18705         * panel-applet/NMWirelessAppletDbus.[ch]
18706                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18707                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18708                 - Update active device strength every 2 seconds, not every 1 second
18709
18710         * panel-applet/menu-info.c
18711                 - Only disable wired devices in the menu when they support carrier detection,
18712                         and don't currently have a link.  Non-carrier-detect devices will always
18713                         remain choosable
18714
18715         * src/Makefile.am
18716           src/NetworkManagerDbusUtils.[ch]
18717                 - Add new new dbus utils sources
18718
18719         * src/NetworkManager.c
18720                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18721                         with the boolean parameter
18722                 - Set scanning_enabled & wireless_enabled to TRUE
18723
18724         * src/NetworkManagerDbus.c
18725                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18726                 - Implement scanning & wireless enable/disable calls
18727                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18728
18729         * src/NetworkManagerDevice.c
18730                 - New link detection stuff again...
18731                         o  Create device's mainloop earlier (but don't run it earlier)
18732                         o  Hook up new carrier-detect support stuff
18733                         o  Add in the ethtool & mii support detection code
18734                 - Don't scan if scanning is disabled
18735
18736         * src/NetworkManagerPolicy.c
18737                 - Never automatically choose a device that doesn't support carrier detection
18738                 - Don't automatically choose a wireless device if wireless is disabled
18739
18740 2005-02-07  Dan Williams  <dcbw@redhat.com>
18741
18742         * libnm_glib/libnm_glib.c
18743                 - Small cleanup in element list iteration
18744
18745 2005-02-07  Dan Williams  <dcbw@redhat.com>
18746
18747         * src/NetworkManagerWireless.c
18748                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18749                         to be in line with the WEXT quality specification
18750
18751 2005-02-02  Dan Williams  <dcbw@redhat.com>
18752
18753         Patch from Nathan Fredrickson <nathan@silverorange.com>
18754         * Fix up compile for deprecation of libgnomeui
18755                 - Switch to <glib/gi18n.h> from <libintl.h>
18756                 - Remove <libgnomeui/libgnomeui.h> includes
18757                 - Use gtk_window_set_default_icon_from_file() rather than
18758                         gnome_window_set_default_icon_from_file()
18759
18760         * named/nm-named-manager.c
18761                 - (generate_named_conf): Fix return-nothing in non-void
18762                         function
18763
18764 2005-02-02  Dan Williams  <dcbw@redhat.com>
18765
18766         * Clean up unused variables and the like
18767
18768 2005-02-02  Dan Williams  <dcbw@redhat.com>
18769
18770         * src/NetworkManagerAPList.c
18771                 - (nm_ap_list_merge_scanned_ap): merge strength too
18772
18773         * src/NetworkManagerUtils.c
18774                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18775                         of locking issues by printing out prettier information than g_mutex_lock
18776                 - Print out names of mutexes registered with nm_register_mutex_desc()
18777                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18778                         us to seemingly block here for too long
18779
18780         * src/NetworkManager.c
18781           src/NetworkManagerAPList.c
18782           src/NetworkManagerDevice.c
18783                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18784                         so we get better debug information printed
18785
18786         * src/NetworkManagerDbus.c
18787                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18788                         since it sometimes has locking side effects
18789                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18790                         from 10s
18791                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18792                         we don't need a switch.  This gets called often enough that we can't block
18793                         until the scan mutex is acquired, because we'll block on device activation
18794                         and a few other things, which hangs main thread for too long.
18795
18796         * src/NetworkManagerPolicy.c
18797                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18798                         nm_device_need_ap_switch() will be called               
18799
18800 2005-02-02  Dan Williams  <dcbw@redhat.com>
18801
18802         * panel-applet/NMWirelessApplet.c
18803                 - Display name of wireless network we are connecting to or connected to
18804                         in the tooltip of the applet
18805
18806 2005-02-02  Dan Williams  <dcbw@redhat.com>
18807
18808         * src/NetworkManagerDHCP.c
18809                 - Hopefully fix double-default-route problem by cleaning up the default
18810                         route added by DHCP code right before the DHCP transaction begins
18811
18812 2005-02-02  Dan Williams  <dcbw@redhat.com>
18813
18814         * named/nm-named-manager.c
18815                 - Write out valid resolv.conf when we exit
18816
18817 2005-02-01  Dan Williams  <dcbw@redhat.com>
18818
18819         Patch from Colin Walters:
18820         * named/nm-named-manager.c
18821                 - Make multi-domain search options work
18822
18823 2005-01-31  Dan Williams  <dcbw@redhat.com>
18824
18825         * info-daemon/NetworkManagerInfoDbus.c
18826                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18827
18828         * src/NetworkManagerDevice.c
18829                 - (nm_device_new): Don't store the entire range struct, use only what we need
18830                         (which is currently avg_quality, max_quality, and frequencies).  Also
18831                         zero device structure when we've free'd it to maybe expose errors down
18832                         the line.
18833                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18834                         quality data from the card since quality will be useless during a scan.
18835                         Call updated wireless qual-to-percent function with values stored in
18836                         nm_device_new() earlier.
18837                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18838                         nm_device_get_bad_crypt_packets())
18839                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18840                         nm_device_new()
18841                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18842                         list if available.  Problem was this: when the WEP key is wrong, NM will
18843                         try OS then SK modes, and then get stuck in SK mode after that.  This
18844                         should reset it.
18845                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18846                         function
18847
18848         * src/NetworkManagerWireless.c
18849                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18850                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18851                         if that's all present, otherwise fall back to signal-to-noise ratios.
18852
18853 2005-01-29  Dan Williams  <dcbw@redhat.com>
18854
18855         * initscript/RedHat/NetworkManager
18856                 - Don't spit out sysctl stuff to console
18857
18858         * libnm_glib/libnm_glib.c
18859                 - (libnm_glib_init): call dbus_g_thread_init()
18860
18861         * panel-applet/NMWirelessAppletDbus.c
18862                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18863
18864         * src/NetworkManager.c
18865                 - (main): call dbus_g_thread_init()
18866
18867         * src/NetworkManagerAPList.c
18868                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18869                         so we can actually see what's there in a normal syslog
18870
18871         * src/NetworkManagerDevice.c
18872                 - (nm_device_activate_wireless): print out the "waiting for access point"
18873                         message only once, then say what access point we actually got after
18874                         the wait.
18875                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18876                         function, wait until the scan is done.  Scans may change the ESSID of
18877                         the card, making this function think we need to switch access points
18878                 - (nm_device_wireless_process_scan_results): for artificial access points
18879                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18880                         prevents collisions with the scanning code, which may change the card's
18881                         ESSID and cause the access point to get dropped from the device's AP
18882                         list.  Also increase the keep-around time to 2m from 60s since the max
18883                         scan interval could be 60s in some cases.
18884
18885         * src/NetworkManagerPolicy.c
18886                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18887                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18888                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18889                         between NM and NMI.
18890
18891 2005-01-27  Dan Williams  <dcbw@redhat.com>
18892
18893         * info-daemon/NetworkManagerInfoDbus.c
18894                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18895                         GConf, make a minimal entry for it (essid & timestamp)
18896
18897         * src/NetworkManagerAPList.c
18898                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18899                         NetworkManagerInfo isn't running
18900
18901         * src/NetworkManagerDbus.[ch]
18902                 - (nm_dbus_nmi_is_running): new function
18903
18904         * src/NetworkManagerDevice.c
18905                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18906                         address to garbage.
18907
18908         * src/NetworkManagerPolicy.c
18909                 - (nm_policy_activation_finish): On successful activation, make sure
18910                         the "best" AP has a MAC address, and don't tell NMI to add the
18911                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18912                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18913                         access point after refreshing our allowed list if it doesn't already
18914                         have a "best" access point.
18915
18916 2005-01-25  Dan Williams  <dcbw@redhat.com>
18917
18918         * panel-applet/NMWirelessAppletDbus.c
18919                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18920                         so we check for NM_DBUS_SERVICE rather than not for it
18921
18922         * libnm_glib/libnm_glib.c
18923                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18924                         ServiceOwnerChanged signal
18925
18926 2005-01-25  Dan Williams  <dcbw@redhat.com>
18927
18928         * configure.in
18929                 - Check DBUS version in configure, and set the C macros
18930                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18931
18932         * info-daemon/NetworkManagerInfoDbus.c
18933                 - Remove #if 0-d section of code that quit NMI if NM went away.
18934
18935         * panel-applet/NMWirelessAppletDbus.c
18936                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18937
18938         * src/NetworkManager.c
18939           src/NetworkManagerMain.h
18940           src/NetworkManagerDbus.c
18941                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18942                 - Make updating of our Allowed Wireless Network lists from NMI
18943                         an idle function in the main thread now, with a high priority.
18944
18945 2005-01-24  Dan Williams  <dcbw@redhat.com>
18946
18947         * panel-applet/gtkcellview.[ch]
18948           panel-applet/menu-info.c
18949                 - Fix GTK version checks to be <= rather than <
18950
18951         * test/Makefile.am
18952                 - Include the libtool archive of libnm_glib rather than
18953                         trying to pull in the .so
18954
18955 2005-01-24  Dan Williams  <dcbw@redhat.com>
18956
18957         * src/NetworkManagerDevice.c
18958           src/NetworkManagerDevicePrivate.h
18959                 - Block nm_device_new() until our device's worker thread has had a
18960                         chance to start up.  Fixes a race between main thread and worker
18961                         thread starting that caused activation requests to get lost.
18962
18963 2005-01-24  Dan Williams  <dcbw@redhat.com>
18964
18965         * initscript/RedHat/NetworkManager
18966                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18967                         to add the NM startup script at priority 50, which was
18968                         way too early
18969
18970 2005-01-24  Colin Walters  <walters@redhat.com>
18971
18972         * named/named.conf: Use any port for query source instead of
18973         restricting to port 53.
18974
18975 2005-01-24  Dan Williams  <dcbw@redhat.com>
18976
18977         * initscript/RedHat/NetworkManager
18978                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18979                         to add the NM startup script at priority 50, which was
18980                         way too early
18981
18982 2005-01-24  Dan Williams  <dcbw@redhat.com>
18983
18984         Patch from Tom Parker <palfrey@tevp.net>
18985         * Fix up compile warnings & errors in the wireless applet
18986
18987 2005-01-24  Dan Williams  <dcbw@redhat.com>
18988
18989         * panel-applet/NMWirelessApplet.c
18990                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18991
18992 2005-01-24  Dan Williams  <dcbw@redhat.com>
18993
18994         * panel-applet/gtkcellview.[ch]
18995                 - Only compile these files for GTK 2.4 or lower, since 
18996                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18997                         when choosing "Other Wireless Networks" from the panel
18998                         applet menu
18999
19000 2005-01-21  Dan Williams  <dcbw@redhat.com>
19001
19002         * src/NetworkManager.c
19003                 - Daemonize earlier so that glib doesn't get confused (?)
19004
19005 2005-01-21  Dan Williams  <dcbw@redhat.com>
19006
19007         * panel-applet/NMWirelessApplet.[ch]
19008           panel-applet/NMWirelessAppletDbus.c
19009           panel-applet/menu-info.c
19010           src/NetworkManagerDevice.c
19011                 - Disable wired devices in the menu when they have no link.
19012
19013 2005-01-21  Dan Williams  <dcbw@redhat.com>
19014
19015         * Cache last-known-good wireless authentication method in
19016                 NetworkManagerInfo, and use that method first during
19017                 wireless device activation.  Should speed up devices that
19018                 need Shared Key authentication method since Open System is
19019                 now the default.
19020
19021         * Remove the hack to not do full activation on wired connections
19022                 that are active when we launch, it causes too many problems
19023                 with name resolution and was a hack in the first place.
19024
19025         * Re-work wireless device activation again somewhat to have a
19026                 clearer chain of events and to use last-known-good
19027                 authentication method of the access point.  Also provide
19028                 better status throughout activation to ensure the applet
19029                 can tell the user exactly what's going on.
19030
19031         * Remove the "find wireless network" code and now simply attempt
19032                 to activate with that access point.  This reduces the delay
19033                 between selecting "Other wireless Network" and actually
19034                 connecting to that network.
19035
19036         * Correctly stop the device's worker thread when its removed.
19037
19038 2005-01-21  Dan Williams  <dcbw@redhat.com>
19039
19040         * dhcpcd/client.c
19041                 - Clean up some of the debug messages
19042
19043 2005-01-21  Dan Williams  <dcbw@redhat.com>
19044
19045         * Add new icons, more frames of animation
19046         * Remove some hacks to get the panel applet to display correct
19047                 status, an NM update will soon follow that will fix the
19048                 real issue.
19049
19050 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
19051
19052         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
19053         the first include for working i18n. Also, don't include it in .h files
19054         * panel-applet/NMWirelessApplet.h: Same
19055         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
19056         * panel-applet/menu-info.c: Same
19057
19058 2005-01-18  Dan Williams <dcbw@redhat.com>
19059
19060         * dhcpcd/client.c
19061                 - Remove some debug messages
19062                 - Wrap others in #ifdef DEBUG/#endif
19063
19064         * src/NetworkManager.c
19065                 - Remove some debug messages
19066                 - Clarify some debug messages
19067                 - Remove code related to old single-thread wireless scanning
19068
19069         * src/NetworkManagerAP.[ch]
19070                 - New AP property "last_seen" to track how recently an AP was
19071                         found in a scan
19072                 - Start using 'const' more in function arguments
19073
19074         * src/NetworkManagerAPList.[ch]
19075                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
19076                         of an AP found in an AP list from a source AP, or if not found
19077                         in the list add the source AP
19078                 - (nm_ap_list_combine): remove, no longer needed
19079
19080         * src/NetworkManagerDevice.c
19081                 - Each device now has a "worker" thread from start to end of its life.
19082                         Scanning for wireless devices now happens in that thread,
19083                         not in a single "wireless scanning thread" for all devices as
19084                         previously.  Activation consists of adding an idle handler to the
19085                         thread's main loop/context, which gets run at the next available
19086                         opportunity.
19087                 - Wireless scanning is also simplified, there is now only one list of
19088                         access points per wireless device, and APs older than 60s are
19089                         removed from the list.  Previously, we kept results for the last
19090                         3 scans and merged whole lists, which was complicated.
19091                 - Cleaned up activation debug messages.
19092                 - Wireless activation and access-point search routines now use Open System
19093                         authentication before trying Shared Key.
19094                 - Removed some code in nm_device_update_best_ap() that could cause cards
19095                         to loose their link to the access point.
19096                 - Scanning now uses a backoff algorithm, where the inverval becomes
19097                         progressively longer between scans when the list of scanned access
19098                         points doesn't change.  A change will revert to the shortest scan
19099                         interval (20s).
19100
19101         * src/NetworkManagerWireless.[ch]
19102                 - Remove code related to old single-thread wireless scanning
19103
19104 2005-01-18  Colin Walters  <walters@redhat.com>
19105
19106         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
19107         of older nameservers.
19108
19109 2005-01-18  Colin Walters  <walters@redhat.com>
19110
19111         * named/nm-named-manager.c (generate_named_conf): Many fixes
19112         to config file generation.
19113         (safer_kill): Remove, was too much trouble for little gain.
19114         (nm_named_manager_start): Run named as NM_NAMED_USER.
19115
19116         * configure.in: Add option --with-named-user.
19117
19118 2005-01-14  Colin Walters  <walters@redhat.com>
19119
19120         Patch from ed@catmur.co.uk (Ed Catmur)
19121
19122         * named/nm-named-manager.c: Add "context" property.
19123         Use it to add child watch source in specific GMainContext.
19124
19125         * src/NetworkManager.c (nm_data_new): Initialize
19126         named with correct main context.  Start named only
19127         after forking.
19128
19129 2005-01-14  Colin Walters  <walters@redhat.com>
19130
19131         * named/nm-named-manager.c (generate_named_conf): Write config
19132         and pid files into NM_NAMED_DATA_DIR; this allows things to
19133         work better with FC3 named SELinux policy.  Also fix up silly
19134         format error.
19135
19136         * configure.in: Add --with-named-dir option.
19137
19138 2005-01-14  Colin Walters  <walters@redhat.com>
19139
19140         * configure.in: Make named support require passing --with-named.
19141
19142         * named/nm-named-manager.c: Support writing resolv.conf directly
19143         without running named.
19144
19145 2005-01-13  Dan Williams <dcbw@redhat.com>
19146
19147         * named/nm-named-manager.c
19148                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19149
19150         * src/NetworkManagerDevice.c
19151                 - Rework wireless link detection code to be more reliable
19152
19153 2005-01-12  Dan Williams <dcbw@redhat.com>
19154
19155         * initscripts/RedHat/NetworkManager
19156                 - Change initial level to "-" rather than "345" so that
19157                         we don't activate ourselves by default on install
19158
19159 2005-01-12  Dan Williams <dcbw@redhat.com>
19160
19161         * libnm_glib/
19162                 - Client library for applications using glib
19163
19164         * configure.in
19165           various Makefiles
19166                 - Split NM_CFLAGS and NM_LIBS into separate variables
19167                         like DBUS_*, HAL_* and GLIB_*
19168
19169         * src/NetworkManager.c
19170           src/NetworkManagerMain.h
19171                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19172                         broadcast a status changed signal over DBUS from the main thread.
19173                         Still unused anywhere for the moment.
19174
19175         Patch from j@bootlab.org
19176         * panel_applet/NMWirelessAppletDbus.c
19177           src/NetworkManagerDbus.c
19178                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19179                         for the "getMode" method call
19180
19181 2005-01-10  Dan Williams <dcbw@redhat.com>
19182
19183         * src/NetworkManagerDevice.c
19184                 - Minor fixups & corrections to "auto" frequency mode, make it
19185                         less chatty with syslog
19186
19187 2005-01-10  Dan Williams <dcbw@redhat.com>
19188
19189         * src/NetworkManagerDevice.c
19190                 - Implement "auto" frequency/channel support, since cards like Atheros
19191                         can't use other frequencies at all when you've told it to use a
19192                         specific one, even for scanning.
19193                 - Grab the scan mutex around places where we can't tolerate wireless
19194                         settings changing underneath us, like nm_device_wireless_network_exists()
19195                         and nm_device_activate_wireless()
19196
19197         * src/NetworkManagerWireless.c
19198                 - Back scan interval off to 20s instead of 14s
19199
19200 2005-01-09  Dan Williams <dcbw@redhat.com>
19201
19202         * src/NetworkManagerDevice.c
19203                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19204                         already set.  Stops some drivers like Atmel from continually
19205                         reloading the firmware, which they do upon every configuration
19206                         change.
19207
19208 2005-01-09  Dan Williams <dcbw@redhat.com>
19209
19210         * dhcpcd/client.c
19211                 - Use correct timeout value
19212
19213         * info-daemon/NetworkManagerInfoDbus.c
19214           src/NetworkManagerDbus.c
19215                 - Consolidate communication between NM and NMI by doing only 1 dbus
19216                         method call to get Wireless Network info from NMI instead of 6
19217
19218         * src/NetworkManager.c
19219                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19220                         when we didn't have an AP to use, we'd wait for one forever without
19221                         quitting
19222
19223         * src/NetworkManagerDevice.c
19224                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19225                         activation, dhcp might not have started yet but we don't quit activation
19226                         before starting it, so the quit signal gets lost
19227
19228 2005-01-07  Dan Williams <dcbw@redhat.com>
19229
19230         * dhcpcd/client.c
19231                 - Rework the DHCP client code to be much less chatty when
19232                         it receives non-DHCP UDP packets during the DHCP run
19233                         (reported by and preliminary patches from Bill Moss)
19234
19235         * Move wireless scanning to a separate thread.  This thread forwards the
19236                 results to the main thread when done where they are integrated into
19237                 the device's access point lists.  This keeps the main thread (which
19238                 does all the DBUS communication) from being blocked for long periods
19239                 of time by wireless scanning.
19240
19241         * Make state modification an idle routine in the main loop, and trigger
19242                 state changes rather than polling for them.
19243
19244         * src/backends/NetworkManagerGentoo.c
19245                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19246
19247         * src/NetworkManagerDevice.c
19248                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19249                         router advertisements, causing problems and infinite loop
19250                         during "best" device determination due to link going up/down
19251                         (reported by Bill Moss)
19252
19253         Apply patch from Peter Jones
19254         * src/NetworkManagerDevice.c
19255                 - Shortcut for link-checking for ipw2x00 cards
19256                 - Split out association check into separate routine
19257
19258 2004-01-05  Colin Walters  <walters@redhat.com>
19259
19260         * named/named.conf: Add PID_FILE.
19261
19262         * named/nm-named-manager.c: Always generate a pid
19263         file, since older BIND versions don't support
19264         "pid-file none".
19265
19266 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19267
19268         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19269
19270 2004-12-22  Dan Williams <dcbw@redhat.com>
19271
19272         * src/NetworkManagerDevice.c
19273                 - Silently fail when setting bitrate doesn't work
19274
19275
19276         Patches from j@bootlab.org:
19277         * src/backends/NetworkManagerDebian
19278                 - Update backend to match functionality in RedHat backend
19279         * src/NetworkManagerDevice.c
19280                 - Take down then bring up wired devices after connection so
19281                 they send out ipv6 router advertisements
19282
19283 2004-12-21  Colin Walters  <walters@verbum.org>
19284
19285         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19286         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19287
19288 2004-12-21  Colin Walters  <walters@redhat.com>
19289
19290         * configure.in: Correct named detection.
19291
19292 2004-12-21  Colin Walters  <walters@redhat.com>
19293
19294         * src/NetworkManager.c (nm_data_new): Initialize named.
19295         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19296         the mainloop when these signals are received.
19297         (nm_data_free): Unref named.
19298         (sigterm_handler, sigterm_pipe_handler): New functions for
19299         exiting mainloop.
19300         
19301         * src/NetworkManagerMain.h (NMData): Add signal handling and
19302         nameserver bits.
19303
19304         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19305         unref.
19306
19307         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19308         set nameservers from DHCP response data.
19309         (set_domain_search): Set domain search from DHCP response.
19310         (nm_device_dhcp_configure): Invoke them.
19311
19312         * src/NetworkManagerSystem.c
19313         (nm_system_device_update_resolv_conf): Delete.  Deleting
19314         code is totally sweet.
19315
19316         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19317
19318         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19319         implements an object which controls a nameserver.  Currently
19320         uses bind 9.
19321
19322         * configure.in: Check for named.
19323
19324         * Makefile.am (SUBDIRS): Add named dir.
19325
19326         * named/named.conf: New template config file.
19327
19328 2004-12-20  Colin Walters  <walters@redhat.com>
19329
19330         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19331         instead of '='.
19332
19333 2004-12-17  Dan Williams  <dcbw@redhat.com>
19334
19335         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19336                 link-local addresses instead of doing DHCP.
19337
19338         * In the panel applet, there's a new "Create new Wireless Network..." item
19339
19340         * The panel applet also sticks around now even if NetworkManager dies, but
19341                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19342                 a bug, I'll fix that later.
19343
19344         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19345                 lookups after a switch rather than actually doing them.
19346
19347         * Clean up some of those warnings in nm_ap_list_* functions
19348
19349         * Delay between scans changed to 15s instead of 10s
19350
19351 2004-12-15  Dan Williams  <dcbw@redhat.com>
19352
19353         Patch from Tom Parker
19354         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19355                 address
19356
19357         * Longer pause after setting ESSID on cards that support a larger number
19358                 of channels to give the card time to find the right channel
19359
19360         * Add system hook to restart mDNSResponder (or whatever the local implementation
19361                 of Multicast DNS is) when we activate interfaces
19362
19363 2004-12-15  Dan Williams  <dcbw@redhat.com>
19364
19365         * Rework the DHCP code again to revert to sending full ethernet frames
19366                 rather then relying on the kernel to do the right thing with our
19367                 packets.
19368
19369 2004-12-06  Dan Williams  <dcbw@redhat.com>
19370
19371         * dhcpcd/client.c
19372                 - Fix some minor errors in dhcp_handle_transaction() that caused
19373                         unexpected early timeouts of DHCP transactions
19374
19375         * dhcpcd/client.h
19376                 - DHCP retransmit time from 4s -> 5s
19377
19378 2004-12-05  Dan Williams  <dcbw@redhat.com>
19379
19380         * Major rework of the DHCP code, taking some cues from pump.  We don't
19381                 write raw Ethernet packets anymore, which simplifies the code quite
19382                 a bit.  The new code should be more robust, not hang in recvfrom()
19383                 as much, and generally work better.  This also means that we need
19384                 to force HAL/dbus to use a created GMainContext rather than the
19385                 default context, since having the DHCP renew/rebind thread using
19386                 its own GMainContext seemed to give dbus a fit.  There is also more
19387                 debugging information printed from the DHCP loop to help with future
19388                 problems.
19389
19390         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19391                 assume that the default gateway should be the DHCP server.
19392
19393         Patch from Matthew Schick <matt oss-institute org>
19394         * src/backends/NetworkManagerGentoo.c
19395                 - Fix compilation error due to missing "ip4_broadcast"
19396
19397 2004-12-03  Dan Williams  <dcbw@redhat.com>
19398
19399         * initscript/Makefile.am
19400         * initscript/Debian/NetworkManager
19401         * initscript/Gentoo/NetworkManager
19402         * initscript/RedHat/NetworkManager
19403         * initscript/NMLaunchHelper.c
19404                 - Remove NMLaunchHelper, if you need to wait until the network
19405                         comes up, use the dead code from CVS.
19406
19407 2004-12-01  Colin Walters  <walters@redhat.com>
19408         
19409         * configure.in: Suck in gcc warnings code from Rhythmbox,
19410         but use fewer default flags, and in particular add -Wno-unused,
19411         since the codebase has a lot of unused variables.
19412
19413         * test/nmtestdevices.c (create_device): 
19414         * test/nminfotest.c (get_network_string_property) 
19415         (get_networks_of_type): 
19416         * test/nmclienttest.c (main): 
19417         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19418         * initscript/NMLaunchHelper.c (get_nm_status): 
19419         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19420         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19421         Fix declarations after statements.
19422
19423 2004-12-01  Colin Walters  <walters@redhat.com>
19424
19425         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19426         (nmi_dbus_get_vpn_userpass): New method.
19427         (nmi_dbus_nmi_message_handler): Invoke it.
19428
19429         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19430
19431         * info-daemon/NetworkManagerInfoVPN.h,
19432         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19433         to requests for VPN passwords.
19434
19435         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19436
19437 2004-12-01  Colin Walters  <walters@redhat.com>
19438
19439         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19440         includes.
19441
19442 2004-12-01  Colin Walters  <walters@redhat.com>
19443
19444         * panel-applet/NMWirelessAppletDbus.c
19445         (nmwa_dbus_update_active_device_strength): Fix missing
19446         return value.
19447
19448 2004-12-01  Colin Walters  <walters@redhat.com>
19449
19450         * panel-applet/NMWirelessApplet.c: Add missing include.
19451
19452 2004-12-01  Colin Walters  <walters@redhat.com>
19453
19454         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19455         Remove useless CLAMP (); the value is unsigned, and the case tests
19456         qual->qual < 100, so the value must always be between 0 and 100.
19457
19458 2004-12-01  Colin Walters  <walters@redhat.com>
19459
19460         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19461
19462 2004-11-22  Colin Walters  <walters@verbum.org>
19463
19464         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19465         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19466         which is essentially a noop since nscd caches hosts on disk too.
19467         
19468 2004-11-22  Colin Walters  <walters@redhat.com>
19469
19470         * src/Makefile.am (NetworkManager_SOURCES): Add
19471         NetworkManagerDevicePrivate.h.
19472
19473 2004-11-22  Dan Williams <dcbw@redhat.com>
19474
19475         * src/NetworkManagerDevicePrivate.h
19476                 - Split out the NMDevice struct to a different file so that stuff like
19477                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19478
19479         * dhcpcd/client.c
19480                 - fprintf->syslog
19481                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19482                         need to cancel the dhcp request during the send and recv
19483
19484         * dhcpcd/client.h
19485                 - Move the DHCP option enum to dhcpcd.h
19486
19487         * src/NetworkManagerDHCP.c
19488                 - Split out the actual IP/netmask/etc setting code
19489                 - New Renew/Rebind functions
19490                 - New timer setup function for renew/rebind operations
19491
19492         * src/NetworkManagerDevice.c
19493                 - For device activation, if we are using DHCP then keep the activation thread
19494                         alive until device deactivation.  We need to renew/rebind the DHCP address
19495                         after the T1 (renew) and T2 (rebind) times have expired.
19496                 - Increase some timeouts after bringing wireless cards up/down
19497
19498 2004-11-17  Dan Williams <dcbw@redhat.com>
19499
19500         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19501                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19502                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19503                 show known access points that don't broadcast their ESSID in the menus without
19504                 any user intervention whatsoever.
19505
19506         * info-daemon/NetworkManagerInfoDbus.c
19507                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19508                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19509
19510         * src/NetworkManagerAP.[ch]
19511                 - Add a "user_addresses" data member to the NMAccessPoint structure
19512                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19513                         the user_addresses data member
19514
19515         * src/NetworkManagerAPList.c
19516                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19517                         the AP's reported address
19518                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19519
19520         * src/NetworkManagerDHCP.c
19521                 - Increase DHCP timeout from 25s -> 30s
19522
19523         * src/NetworkManagerDbus.[ch]
19524                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19525                         user addresses
19526
19527         * src/NetworkManagerDevice.c
19528                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19529                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19530                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19531                         So, we take the card down to clear it out.
19532                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19533                         too, since that's where the user_addresses are
19534
19535         * src/NetworkManagerPolicy.c
19536                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19537                         that wireless networks' user_addresses list upon successful activation
19538
19539 2004-11-16  Dan Williams <dcbw@redhat.com>
19540
19541         * src/NetworkManagerDevice.[ch]
19542                 - (nm_device_clear_activation_fail): new function
19543
19544         * src/NetworkManagerPolicy.c
19545                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19546                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19547
19548 2004-11-16  Dan Williams <dcbw@redhat.com>
19549
19550         * src/NetworkManagerDevice.c
19551                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19552                         leak the structure, better updating of now_scanning status
19553                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19554
19555 2004-11-15  Dan Williams <dcbw@redhat.com>
19556
19557         Major rework of link detection code.  We now use DHCP
19558         as part of the link detection which proves to be much more robust,
19559         and also supports Open System authentication for wireless networks.
19560
19561         We no longer use external DHCP client programs.  Instead, we use 
19562         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19563         which was written by:
19564                 Yoichi Hariguchi <yoichi@fore.com>
19565                 Sergei Viznyuk <sv@phystech.com>
19566                 http://www.phystech.com/download/
19567         It resides in the "dhcpcd" directory and was refactored into a general
19568         purpose DHCP client library by me.
19569
19570         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19571         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19572
19573 2004-11-15  Dan Williams <dcbw@redhat.com>
19574
19575         Patch from Tom Parker <palfrey@tevp.net>:
19576
19577         * src/NetworkManagerDevice.c
19578                 - Less output to console when no access
19579                         points are found during a scan
19580
19581 2004-11-15  Dan Williams <dcbw@redhat.com>
19582
19583         Patch from Tom Parker <palfrey@tevp.net>:
19584
19585         * src/backends/interface_parser.c
19586                 - Use g_strdup ()
19587                 - Check for inp == NULL
19588                 - use syslog ()
19589
19590 2004-11-13  Colin Walters  <walters@redhat.com>
19591
19592         Patch from Tom Parker <palfrey@tevp.net>:
19593
19594         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19595         
19596         * src/backends/NetworkManagerRedHat.c: Switch to
19597         including shvar.h instead of shvar.c.
19598
19599         * src/backends/NetworkManagerDebian.c: Don't include
19600         interface_parser.c in source file.
19601
19602         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19603         and interface_parser.[ch].
19604         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19605         Include shvar.c and shvar.h here.
19606         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19607         interface_parser.c and interface_parser.h here.
19608
19609 2004-11-12  Colin Walters  <walters@redhat.com>
19610
19611         * configure.in: Strip out TARGET_DISTRO and
19612         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19613         conditionals.
19614
19615         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19616         (libnmbackend_la_SOURCES): Use Automake conditionals
19617         to add distro-specific files.
19618
19619         * initscript/Makefile.am (SUBDIRS): Update to
19620         use conditionals.
19621
19622 2004-11-12  Colin Walters  <walters@redhat.com>
19623
19624         Patches from j bootlab org
19625
19626         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19627         Add interface_parser.[ch].
19628
19629         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19630         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19631
19632 2004-11-12  Colin Walters  <walters@redhat.com>
19633
19634         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19635         call to nmi_dbus_is_running too, not necessary anymore.
19636         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19637         pick up exit().
19638
19639 2004-11-11  Colin Walters  <walters@verbum.org>
19640
19641         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19642         Delete.
19643         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19644         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19645         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19646         This avoids a race condition that made it pretty easily
19647         possible to get two NetworkManagerInfo daemons running.
19648
19649 2004-11-11  Colin Walters  <walters@verbum.org>
19650         
19651         * src/NetworkManager.c (main): Use daemon(3).
19652
19653         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19654
19655         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19656
19657 2004-11-10 Dan Williams <dcbw@redhat.com>
19658
19659         Patches from j bootlab org
19660         * src/NetworkManagerDevice.c
19661                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19662                         whether the card has a link or not, some cards are slow
19663                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19664
19665         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19666                 - Disable the "Login" button on the passphrase dialog until the user
19667                         enters a valid passphrase or key
19668
19669         Patches from Tom Parker <palfrey tevp net>
19670         * src/backends/NetworkManagerDebian.c
19671                 - Add static IP support to the debian backend
19672
19673         * src/backends/interface_parser.[ch]
19674                 - Parse debian interface config files
19675
19676 2004-11-08 Dan Williams <dcbw@redhat.com>
19677
19678         * src/NetworkManagerDevice.c
19679                 - Some random fprintf->syslog conversions
19680                 - (nm_device_wireless_network_exists): double-check for network
19681                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19682
19683         * src/NetworkManagerWireless.[ch]
19684                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19685                         so that the binary->ascii conversion works (if unsigned, the bitshift
19686                         will fill with zeros, which is what's required).  Also mask bitshift
19687                         result with 0xF for futher assurance.
19688
19689 2004-11-06 Dan Williams <dcbw@redhat.com>
19690
19691         * src/NetworkManagerUtils.c
19692                 - (nm_get_wireless_driver_support_level): default to
19693                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19694                         flip this when changing from whitelist->blacklist of
19695                         wireless drivers
19696
19697 2004-11-05 Dan Williams <dcbw@redhat.com>
19698
19699         Patch from Robert Paskowitz:
19700         * src/backends/NetworkManagerGentoo.c
19701                 - Update static IP config code
19702
19703 2004-11-05 Dan Williams <dcbw@redhat.com>
19704
19705         * info-daemon/NetworkManagerInfoDbus.c
19706           src/NetworkManagerDbus.[ch]
19707           src/NetworkManagerDevice.c
19708                 - Keep track of the # of attempts to get the WEP key
19709                         from the user and pass that along to the info daemon
19710
19711 2004-11-05 Dan Williams <dcbw@redhat.com>
19712
19713         * src/NetworkManagerUtils.c
19714                 - Blacklist wireless cards rather than whitelisting them.
19715                 - Grab driver name from HAL rather than trying to find it
19716                         ourselves.
19717
19718 2004-11-03 Dan Williams <dcbw@redhat.com>
19719
19720         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19721                 - Disable OK button until valid data is entered
19722                         for encryption stuff too
19723
19724         * panel-applet/NMWirelessApplet.c
19725                 - Report card strength for current AP if the card
19726                         doesn't report strength data for scanned access
19727                         points
19728
19729         * src/NetworkManagerDevice.c
19730                 - Smooth out cards reported quality, Atmel card was
19731                         intermittently reporting no quality data but soon
19732                         recovers
19733
19734         * src/NetworkManagerWireless.c
19735                 - Better quality data percentage calculation.  Atmel
19736                         cards (mine at least) seem to report the quality
19737                         in percentage format already, so honor that
19738
19739         Patch from <j@bootlab.org>
19740         * NetworkManager.h
19741           info-daemon/NetworkManagerInfoPassphraseDialog.c
19742           info-daemon/passphrase.glade
19743           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19744           panel-applet/essid.glade
19745           src/NetworkManagerAP.c
19746           src/NetworkManagerDevice.c
19747           src/NetworkManagerWireless.[ch]
19748                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19749
19750 2004-11-03 Dan Williams <dcbw@redhat.com>
19751
19752         * src/NetworkManagerDevice.[ch]
19753                 - (nm_device_set_enc_key): Add parameter to set Authentication
19754                         Mode (Open System, Shared Key, or None).  We're still using
19755                         Shared Key for now though.
19756
19757 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19758
19759         * panel-applet/menu-info.c: change from bold text to light
19760         colored, may cause problems with some themes, i've tested a lot
19761         and they seem fine. 
19762
19763         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19764
19765 2004-11-01  Colin Walters  <walters@verbum.org>
19766
19767         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19768         (nm_wireless_128bit_key_from_passphrase): Add const.
19769
19770         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19771         (nm_ap_set_enc_key_source): Add const.
19772         
19773 2004-11-01  Colin Walters  <walters@verbum.org>
19774
19775         * .cvsignore: Update.
19776
19777 2004-10-29 Dan Williams <dcbw@redhat.com>
19778
19779         * src/NetworkManagerDevice.c
19780                 - (nm_device_wireless_network_exists): Actually use the encryption
19781                         key we got from the applet when attempting to find a wireless network
19782                 - Don't bring devices down so much since on some cards it triggers
19783                         firmware hotplugs each time
19784
19785         * src/NetworkManagerDbus.c
19786                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19787                         from the caller
19788
19789 2004-10-29 Dan Williams <dcbw@redhat.com>
19790
19791         * src/NetworkManager.c
19792                 - (nm_hal_device_property_modified): unlock a locked active
19793                         wireless device when a wired connection gets a link.
19794                         (Means you'll switch to wired whenever you plug in no
19795                         matter what).
19796
19797 2004-10-29 Dan Williams <dcbw@redhat.com>
19798
19799         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19800                 - New files, implement the "Other wireless network" dialog
19801
19802         * panel-applet/NMWirelessApplet.c
19803                 - Move "other wireless network" dialog to separate file
19804
19805         * panel-applet/NMWirelessAppletDbus.[ch]
19806                 - Take key and key_type paramaters for the set_device function
19807
19808         * panel-applet/essid.glade
19809                 - Add UI bits for encryption settings
19810
19811         * src/NetworkManagerDbus.c
19812                 - Retrieve key and key_type params for "setActiveDevice" method call
19813                         and pass them on
19814                 - unref AP returned from nm_device_get_best_ap() when needed
19815
19816         * src/NetworkManagerDevice.c
19817                 - (nm_device_get_best_ap): ref the ap before returning it
19818                 - unref AP returned from nm_device_get_best_ap() when needed
19819                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19820                         need to call nm_device_get_best_ap() here, it was pretty much
19821                         redundant anyway
19822                 - (AP_NEED_KEY): break second link check condition out into separate
19823                         function, and fix segfault when ap->enc_key_source was NULL
19824                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19825                         pass them along to nm_device_wireless_network_exists().  If the
19826                         network does exist, set the passed-in key+key_type on the AP
19827
19828         * src/NetworkManagerPolicy.c
19829                 - unref AP returned from nm_device_get_best_ap() when needed
19830
19831 2004-10-28 Dan Williams <dcbw@redhat.com>
19832
19833         * src/NetworkManagerUtils.c
19834                 - (nm_spawn_process): Fix a potential dereference of NULL
19835
19836         Patches from Peter Jones:
19837
19838         * src/NetworkManagerDevice.c
19839                 - (nm_device_test_wireless_extensions): Better check for
19840                         wireless devices
19841
19842         * src/NetworkManagerUtils.c
19843                 - (nm_spawn_process): Pass in valid stdout and stderr so
19844                         executed programs don't randomly SIGPIPE and fail
19845                 - (nm_get_wired_driver_support_level): quash hal warning
19846                         when checking for USB ethernet device
19847
19848 2004-10-27 Dan Williams <dcbw@redhat.com>
19849
19850         * info-daemon/NetworkManagerInfo.c
19851           info-daemon/NetworkManagerInfoDbus.c
19852           info-daemon/NetworkManagerInfoPassphraseDialog.c
19853           panel-applet/NMWirelessApplet.c
19854                 - Properly escape gconf keys
19855
19856         * src/NetworkManager.c
19857                 - remove unused variables
19858
19859         * src/NetworkManagerAP.c
19860                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19861                         refcount since it got set in nm_ap_new()
19862
19863         * src/NetworkManagerAPList.c
19864                 - (nm_ap_list_combine): Give up ownership of newly created
19865                         access points to the ap list, fixes memleak
19866
19867         * src/NetworkManagerDevice.c
19868                 - Remove cached_ap_list4 member since its not really needed
19869                 - (nm_device_wireless_network_exists): Try to get correct
19870                         encryption status of a found AP if its already in our
19871                         device list
19872                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19873                         memory allocs/deallocs a bit clearer and shorter-lived
19874
19875 2004-10-26 Ray Strode <rstrode@redhat.com>
19876
19877         * panel-applet/NMWirelessApplet.c:
19878           (custom_essid_item_selected):  kill some compiler
19879         warnings 
19880
19881 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19882
19883         * info-daemon/NetworkManagerInfoDbus.c
19884                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19885                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19886
19887 2004-10-23 Dan Williams <dcbw@redhat.com>
19888
19889         * info-daemon/NetworkManagerInfoDbus.c
19890                 - Trap the "DeviceActivationFailed" signal
19891
19892         * docs/NetworkManager DBUS API.txt
19893                 - Add "DeviceActivationFailed" signal
19894
19895         * panel-applet/NMWirelessAppletDbus.c
19896                 - Quash the "NetworkManager service not available" message
19897
19898         * src/NetworkManagerDbus.[ch]
19899                 - Add the "DeviceActivationFailed" signal
19900
19901         * src/NetworkManagerDevice.c
19902                 - Add support for activation_failed flag
19903                 - Fix deadlock where activation thread didn't clean itself up, making
19904                         main thread still believe it was alive forever (didn't reset activation
19905                         flags like activating, just_activated, etc when IP configuration
19906                         failed)
19907
19908         * src/NetworkManagerPolicy.c
19909                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19910                         for wireless networks, try to fall back to some other access point
19911
19912 2004-10-23 Dan Williams <dcbw@redhat.com>
19913
19914         * panel-applet/NMWirelessApplet.[ch]
19915                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19916                         to the applet object, so we can get tooltips
19917                 - Add tooltips (RH #136866)
19918
19919         * src/NetworkManagerDevice.c
19920                 - When trying to find a wireless network, try to connect with encryption
19921                         turned on first, so that we can more accurately detect whether or not
19922                         we need to use encryption for the actual association later on
19923
19924 2004-10-21 Dan Williams <dcbw@redhat.com>
19925
19926         * Add some support for telling NetworkManagerInfo to tell the user
19927                 that they are using a device that's not fully supported
19928
19929         * Fix some assertions in debug messages due to null access point args
19930
19931 2004-10-21 Dan Williams <dcbw@redhat.com>
19932
19933         * src/NetworkManagerDevice.c
19934                 - Don't try to activate/bring up/down unsupported
19935                         devices
19936
19937         * src/NetworkManagerUtils.c
19938                 - Fix case of PCI ID checks for driver support levels
19939
19940 2004-10-21 Dan Williams <dcbw@redhat.com>
19941
19942         * NetworkManager.h
19943                 - New file, now contains commonly used structures and bits
19944                         for the dbus API of NetworkManager
19945
19946         * Makefile.am
19947                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19948
19949         * src/NetworkManager.h
19950                 - Rename -> src/NetworkManagerMain.c
19951
19952         * Various fixups all around to use NetworkManager.h and new
19953                 src/NetworkManagerMain.h, remove redundant bits that got
19954                 moved into NetworkManager.h
19955
19956         * src/NetworkManagerDevice.[ch]
19957           src/NetworkManagerUtils.[ch]
19958           src/NetworkManagerPolicy.c
19959           src/NetworkManagerDbus.c
19960                 - Whitelist wireless drivers, and blacklist some wired
19961                         drivers.  Also blacklist cipsec and ethernet-over-usb
19962                         devices at this time (RH #135722, RH #135648)
19963                 - Don't leak unsupported devices out over dbus, or allow
19964                         them to be set as the active device.  Skip over them
19965                         during automatic device picking
19966
19967         * test/nmclienttest.c
19968                 - Clean up the dbus code a lot
19969
19970 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19971
19972         * configure.in: post release bump.
19973
19974 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19975
19976         * configure.in:
19977         * NEWS: Released NetworkManager-0.3.1
19978
19979 2004-10-18 Dan Williams <dcbw@redhat.com>
19980
19981         Patches from Thom May:
19982         * test/nmtestdevices.c
19983                 - Include <string.h>
19984         * src/backends/NetworkManagerDebian.c:
19985                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19986                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19987                         Move to using g_strdup_printf rather than arbitrary buffers
19988                 - (nm_system_device_setup_static_ip4_config) Implement function.
19989                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19990
19991 2004-10-17 Dan Williams <dcbw@redhat.com>
19992
19993         * info-daemon/NetworkManagerInfoDbus.c
19994                 - Display name of network in the "network not found" dialog
19995
19996         * panel-applet/NMWirelessAppletDbus.c
19997                 - (nmwa_dbus_call_nm_method): new function replaces all other
19998                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19999                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
20000                         consolidated into nmwa_dbus_get_object_name()
20001
20002 2004-10-15 Dan Williams <dcbw@redhat.com>
20003
20004         * src/NetworkManagerDbus.c
20005           info-daemon/NetworkManagerInfoDbus.c
20006                 - Display an error dialog when the user tries to use an
20007                         "Other wireless network" that's not found.
20008
20009 2004-10-15 Dan Williams <dcbw@redhat.com>
20010
20011         * panel-applet/NMWirelessApplet.[ch]
20012                 - Fix up corner cases in applet state, making it
20013                         look more responsive.  Change state to "connecting" when
20014                         the user is forcing a device too.
20015
20016 2004-10-15 Dan Williams <dcbw@redhat.com>
20017
20018         * src/NetworkManagerAPList.c
20019                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
20020
20021         * src/NetworkManagerDbus.c
20022                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
20023
20024         * src/NetworkManagerDevice.c
20025                 - Disown APs after the device's AP list takes ownership
20026
20027 2004-10-15 Dan Williams <dcbw@redhat.com>
20028
20029         * panel-applet/NMWirelessApplet.c
20030                 - Update our applet state from the GUI thread
20031
20032         * panel-applet/NMWirelessAppletDbus.c
20033                 - Greatly simplify the locking to make the GUI thread
20034                         smoother.  Update a private copy of the device list
20035                         and active device and only when done talking to
20036                         NetworkManager turn it over to the GUI thread.
20037
20038 2004-10-15 Dan Williams <dcbw@redhat.com>
20039
20040         * src/NetworkManagerAP.[ch]
20041                 - Add "artificial" get/set functions, set for APs that
20042                         aren't discovered as part of a scan but instead
20043                         discovered by force-setting the ESSID
20044
20045         * src/NetworkManagerDevice.[ch]
20046                 - (nm_device_wireless_network_exists): pass back whether
20047                         or not the discovered AP was encrypted.  Also, try
20048                         falling back to encrypted mode on the card if unencrypted
20049                         association doesn't work
20050                 - (nm_device_find_and_use_essid): If the network requested
20051                         did in fact exists, but it wasn't in our scan list, add
20052                         an "artificial" entry for it.  Some Cisco cards don't
20053                         see non-ESSID-broadcasting APs in their scan but can still
20054                         associate with them if you know the ESSID, this works around
20055                         that behavior
20056                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
20057                         to scan if the card is currently associated with that AP
20058
20059 2004-10-15 Dan Williams <dcbw@redhat.com>
20060
20061         ---- We have a website ----
20062         http://people.redhat.com/dcbw/NetworkManager
20063
20064         Patch from Robert Paskowitz:
20065         * src/NetworkManager.c
20066                 - (main): Make sure we are run as root
20067         * src/NetworkManagerDevice.c
20068                 - Fix type in ad-hoc setting function
20069
20070         Patch from Thom May:
20071         * src/backends/NetworkManagerDebian.c
20072                 - Make Debian backend compile again
20073
20074 2004-10-14 Dan Williams <dcbw@redhat.com>
20075
20076         * Tagged NetworkManager-0_3
20077
20078 2004-10-14 Dan Williams <dcbw@redhat.com>
20079
20080         Patch from Robert Paskowitz:
20081         * NEWS
20082           src/NetworkManagerDevice.[ch]
20083           src/backends/NetworkManagerDebian.c
20084           src/backends/NetworkManagerGentoo.c
20085           src/backends/NetworkManagerRedHat.c
20086           src/backends/NetworkManagerSlackware.c
20087                 - Add support for grabbing and using a broadcast address
20088                         from system config files
20089                 - Some Gentoo backend fixes for grabbing network config
20090                 - Fix LOG_WARN->LOG_WARNING
20091
20092 2004-10-14 Dan Williams <dcbw@redhat.com>
20093
20094         * NEWS: a few small fixes in the credits
20095
20096 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
20097
20098         * NEWS: prep for release.
20099
20100 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
20101
20102         * panel-applet/NMWirelessAppletDbus.c
20103         (nmwa_dbus_update_device_wireless_networks): remove warnings.
20104
20105 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
20106
20107         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
20108         applet->state == APPLET_STATE_NO_NM animation.
20109
20110         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
20111         set the text correctly.
20112
20113 2004-10-14 Dan Williams <dcbw@redhat.com>
20114
20115         * src/NetworkManager.c
20116                 - Only accept and manager 802.3 and 802.11 devices
20117
20118         * src/NetworkManagerDbus.[ch]
20119                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20120                         logic into NetworkManagerDevice.c
20121                 - (nm_dbus_network_status_from_data): new function
20122                 - (nm_dbus_signal_network_status_change): new function, unused for now
20123                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20124
20125         * src/NetworkManagerDevice.[ch]
20126                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20127                         a random ESSID.
20128
20129 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20130
20131         * info-daemon/NetworkManagerInfo.c 
20132                 - (main): Added session management
20133
20134 2004-10-14 Dan Williams <dcbw@redhat.com>
20135
20136         * panel-applet/NMWirelessAppletDbus.[ch]
20137                 - Expose network_device_[un]ref()
20138                 - Expose wireless_network_[un]ref()
20139                 - (wireless_network_new_with_essid): new function, create and return
20140                         a wireless network with a particular essid
20141
20142         * panel-applet/NMWirelessApplet.c
20143                 - Hook up the "other network" dialog to do something
20144
20145 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20146
20147         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20148         doesn't work yet, but it looks okay.
20149
20150         * panel-applet/icons/*png: Resize to 22x22 and install in the
20151         right place.
20152
20153 2004-10-13 Dan Williams <dcbw@redhat.com>
20154
20155         * panel-applet/NMWirelessApplet.c
20156                 - Add function to print out applet_state in a readable
20157                         manner
20158
20159         * src/NetworkManager.c
20160                 - (main): Don't segfault when nm_dbus_init() fails, we had
20161                         a left-over call to hal_shutdown() into which we passed NULL
20162
20163         * src/NetworkManagerAP.c
20164                 - (nm_ap_set_essid): Allow NULL essids
20165
20166         * src/NetworkManagerAPList.[ch]
20167                 - More use of nm_ap_list_[un]lock ()
20168                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20169                         network/essid, just return nothing.  Also skip over NULL
20170                         essid access points in the list when searching
20171                 - (nm_ap_list_get_ap_by_address): new function
20172                 - (nm_ap_list_update_network): set the access point's key source to
20173                         NULL when the key returned from NetworkManagerInfo is NULL or
20174                         of 0 length
20175                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20176                         copy timestamp over too
20177                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20178                         find the correct ESSID for a blank-essid access point by searching
20179                         through another list and matching access point MAC addresses
20180                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20181
20182         * src/NetworkManagerDbus.c
20183                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20184                         may specify.  This is mainly for access points that don't
20185                         broadcast their essid.  So if the user tells us to associate with
20186                         some random ESSID that's not in our access point list, we find
20187                         out if the access point does in fact exist (by attempting association
20188                         and then matching that access point's MAC address with the essid the
20189                         user gave us) and then we switch to it.
20190                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20191                         to the returned list of networks for the "getNetworks" method
20192
20193         * src/NetworkManagerDevice.[ch]
20194                 - Extra debugging info for link detection
20195                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20196                         based on MAC address
20197                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20198                 - (nm_device_wireless_network_exists): new function, find out whether
20199                         a random ESSID exists by attempting to associate with it
20200                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20201                         device list as long as they have an AP MAC address we can use.
20202                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20203                         devices too.  Lets the applet update more frequently.
20204
20205         * src/backends/NetworkManagerGentoo.c
20206                 - Patch from: Robert Paskowitz
20207                         - Update backend code for Gentoo
20208                         - Implement nm_system_device_update_config_info ()
20209
20210         * test/nmclienttest.c
20211                 - (set_network_device): new function, takes a command-line argument
20212                         and tells NetworkManager to use that wireless network
20213
20214 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20215
20216         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20217         if the notification icon crashes 5 times within 5 seconds of each respawn 
20218
20219 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20220
20221         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20222         g_print.
20223
20224 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20225
20226         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20227
20228         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20229         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20230         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20231         Change the name of the icons.
20232
20233         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20234         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20235         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20236         (nm_menu_wireless_expose_event): Really bad hack to get the style
20237         to draw in the right color.
20238
20239 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20240
20241         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20242         Notification if it crashes
20243
20244 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20245
20246         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20247         (nmwa_dbus_get_string): remove unused functions
20248
20249         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20250         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20251         remove unused functions
20252
20253         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20254
20255 2004-10-12 Dan Williams <dcbw@redhat.com>
20256
20257         * panel-applet/NMWirelessAppletDbus.c
20258                 - New functions:
20259                         wireless_network_new
20260                         wireless_network_copy
20261                         network_device_new
20262                         network_device_copy
20263
20264         * src/NetworkManagerDevice.[ch]
20265                 - New functions:
20266                         nm_device_set_mode_managed
20267                         nm_device_set_mode_adhoc
20268                 - Use these functions where appropriate
20269                 - When creating a new wireless device, force the card
20270                         to managed/Infrastructure mode as soon as possible
20271
20272 2004-10-12 Dan Williams <dcbw@redhat.com>
20273
20274         * src/NetworkManagerDevice.c
20275                 - Force wireless cards into Infrastructure mode before we use them
20276
20277 2004-10-12 Dan Williams <dcbw@redhat.com>
20278
20279         * TODO
20280                 - Remove bit about static IP address support
20281
20282         * src/NetworkManagerUtils.c
20283                 - (nm_spawn_process): Add some error reporting
20284
20285         * src/NetworkManagerDevice.c
20286                 - (nm_device_activation_configure_ip): hook up to the static config
20287                         routines in the backends
20288
20289         * src/backends/NetworkManagerRedHat.c
20290                 - (nm_system_device_update_config_info): use shvar.c routines to
20291                         parse the config file iformation, not our own
20292                 - (nm_system_device_setup_static_ip4_config): new function, based
20293                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20294                         with a static IP address and gateway
20295
20296         * src/backends/shvar.[ch]
20297                 - Parser (filched from initscripts package) for ifcfg-* files
20298
20299         * src/backends/NetworkManagerSystem.h
20300           src/backends/NetworkManagerGentoo.c
20301           src/backends/NetworkManagerDebian.c
20302           src/backends/NetworkManagerSlackware.c
20303                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20304
20305 2004-10-11 Dan Williams <dcbw@redhat.com>
20306
20307         * TODO
20308                 - Remove bit about more robust AP diffing since I just implemented it
20309
20310 2004-10-11 Dan Williams <dcbw@redhat.com>
20311
20312         * src/NetworkManagerAP.c
20313                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20314                         enough RAM to allocate new AP structures, but return NULL instead
20315
20316         * src/NetworkManagerAPList.[ch]
20317                 - (nm_ap_list_is_empty): new function
20318                 - (nm_ap_list_combine): new function, combine two access point lists
20319                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20320                         into another
20321
20322         * src/NetworkManagerDevice.[ch]
20323                 - Rename some functions to be clearer:
20324                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20325                         nm_device_just_activated     -> nm_device_is_just_activated
20326                         nm_device_activating         -> nm_device_is_activating
20327                         nm_device_now_scanning       -> nm_device_is_scanning
20328                 - Cache the last 4 scans so that the access point list is more stable.
20329                         We combine the lastest two scans and use that as the AP list,
20330                         and diff that combined list against the combination of the earliest
20331                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20332
20333 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20334
20335         * info-daemon/NWManagerInfo.h
20336                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20337
20338         * info-daemon/NWManagerInfoDbus.c
20339                 - (shutdown_callback): new function
20340                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20341                         if NetworkManager goes away.  Kill the timeout
20342                         if NetworkManager restarts before the 30 seconds
20343                         are up.
20344                 - (nmi_dbus_service_init): 
20345                         - call gtk_main_quit if NetworkManager is not running
20346                         - add filters to monitor dbus service creations and
20347                                 deletions
20348         
20349 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20350
20351         * panel-applet/NMWirelessApplet.c
20352                 - (nmwa_update_state): Hide notification icon if we are only
20353                         showing one wired card and no wireless interfaces 
20354                         (Red Hat Bug #134895)
20355
20356         * panel-applet/NMWirelessAppletDbus.c
20357                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20358
20359         * info-daemon/NWManagerInfo.c
20360                 - (main): Terminated the notification_icon_cmd array with a NULL
20361
20362 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20363
20364         * configure.in (ALL_LINGUAS): Added de (German).
20365
20366 2004-10-08 Dan Williams <dcbw@redaht.com>
20367
20368         * src/NetworkManagerDevice.c
20369                 - Be a bit more robust about link checking, ie make sure that
20370                         the WEP key we were given actually has some data in it
20371
20372 2004-10-08 Dan Williams <dcbw@redhat.com>
20373
20374         * info-daemon/NetworkManagerInfo.c (main):
20375                 - Initialize GError object to NULL
20376
20377 2004-10-08 Dan Williams <dcbw@redhat.com>
20378
20379         * panel-applet/NMWirelessAppletDbus.c
20380                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20381
20382 2004-10-08 Dan Williams <dcbw@redhat.com>
20383
20384         * info-daemon/NetworkManagerInfo.[ch]
20385           info-dameon/NetworkManagerInfoDbus.[ch]
20386           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20387                 - Preserve original label text in the passphrase dialog so that
20388                         it actually gets updated with the new network name the next
20389                         time around.  Previously, we were overwriting it so you'd get
20390                         the wrong network name to enter a key for
20391                 - Add a "Key Type" combo to the passphrase dialog, user selects
20392                         encryption key type now, type is stored in GConf too
20393                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20394
20395         * src/NetworkManagerAP.[ch]
20396                 - Remove all the encyption method magic.  It's now set by the user
20397                         and NetworkManager retrieves the type of encryption key from
20398                         NetworkManagerInfo
20399
20400         * src/NetworkManagerAPList.[ch]
20401           src/NetworkManagerDbus.[ch]
20402                 - Adjust to new way of setting encryption key and method
20403                 - Pull encryption method down from NMI along with key
20404
20405         * src/NetworkManagerDevice.[ch]
20406                 - Removed encryption method fallback magic as the method is now
20407                         determined by the user.  This greatly simplifies the connection
20408                         logic.
20409                 - More robust connection/link logic.  Besides removing the encryption
20410                         method fallback magic, check whether or not the card is receiving
20411                         invalidly encrypted packets, which usually indicates that we have
20412                         a bad WEP key set.
20413                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20414
20415         * test/nminfotest.c
20416                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20417
20418 2004-10-07 Dan Williams <dcbw@redhat.com>
20419
20420         * info-daemon/NetworkManagerInfo.conf
20421                 - Allow root user to run NMI too
20422
20423 2004-10-06 Dan Williams <dcbw@redhat.com>
20424
20425         * src/NetworkManagerDevice.[ch]
20426           src/NetworkManagerDbus.c
20427           doc/NetworkManager DBUS API.txt
20428                 - Add a new status tag "scanning", which is set when there
20429                         is no active network connection, but NetworkManager is
20430                         looking for an access point to associate with
20431
20432         * panel-applet/main.c
20433                 - Cast the applet appropriately for gtk_widget_show_all ()
20434
20435 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20436
20437         * panel-applet/eggtrayicon.[ch]:
20438         * panel-applet/main.c: Add missing file
20439
20440 2004-10-04 Dan Williams <dcbw@redhat.com>
20441
20442         * src/NetworkManagerDevice.[ch]
20443                 - Add a slightly more robust method of determining if the WEP key
20444                         is correct or not, by checking the WEP-discarded packet count
20445                         on the card
20446
20447         * info-daemon/NetworkManagerInfo.c
20448                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20449                         un-escape values we pull out rather than escaping them
20450
20451 2004-10-03  Marcel Telka  <marcel@telka.sk>
20452
20453         * configure.in (ALL_LINGUAS): Added sk.
20454
20455 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20456
20457         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20458         and feel.  We should be back to working, and have a good, clean
20459         look.
20460
20461 2004-09-30 Dan Williams <dcbw@redhat.com>
20462
20463         * info-daemon/NetworkManagerInfo.c
20464           info-daemon/NetworkManagerInfoDbus.c
20465           test/nminfotest.c
20466                 - Escape ESSIDs in gconf
20467
20468         * src/NetworkManagerDevice.c
20469                 - Fix pseudo-scanning to use netowrk list from info daemon
20470
20471 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20472
20473         * configure.in: Add a temporary --enable-notification-icon.  This
20474         will prolly go away.
20475
20476         * info-daemon/Makefile.am:
20477         * info-daemon/NetworkManagerInfo.c:
20478         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20479
20480         * panel-applet/Makefile.am:
20481         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20482         * panel-applet/NMWirelessApplet.h:
20483
20484 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20485
20486         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20487         before 'select custom ESSID'.
20488
20489         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20490         fully complete, but syncing in prep for merge.
20491
20492         * panel-applet/icons/*png: New images
20493
20494 2004-09-28 Dan Williams <dcbw@redhat.com>
20495
20496         * src/NetworkManager.c
20497           src/NetworkManagerDevice.c
20498           src/NetworkManagerPolicy.c
20499                 - Don't blow away an active wired connection on startup
20500
20501 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20502
20503         Changes from J5
20504         
20505         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20506
20507         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20508         syslog output
20509
20510 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20511
20512         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20513         have a wireless card.
20514
20515 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20516
20517         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20518         Also, get the right device strings.
20519
20520 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20521
20522         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20523         the logic to make this right.
20524
20525         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20526         devices so that wired networks are always first.
20527
20528 2004-09-22    <clarkbw@cvs.gnome.org>
20529
20530         * initscript/Debian/.cvsignore:
20531         * initscript/Slackware/.cvsignore:
20532         Added new cvsignores for Makefile, Makefile.in
20533         
20534         * test/.cvsignore:
20535         Added nmtestdevices
20536         
20537         * src/NetworkManagerDevice.c: 
20538         * src/NetworkManager.c: 
20539         Updated the wireless/wired HAL device strings from net.ethernet to
20540         net.80203 or net.80211 depending on wired or wireless respectively
20541         
20542         * examples/python/NetworkManager.py: 
20543         s/Quality/Strength/
20544
20545         * examples/python/systray/network_tray.py:
20546         Lots of little changes and fixes.  been rotting for a while so I
20547         figured I'd finally sync them all with CVS
20548
20549 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20550
20551         * configure.in: Add graphics
20552
20553         * panel-applet/Makefile.am: Add graphics
20554
20555         * panel-applet/icons/*: Add graphics
20556
20557         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20558         the icons fully lined up.
20559
20560         * panel-applet/menu-info.c: 
20561         * panel-applet/menu-info.h: Add another menu type.
20562
20563 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20564
20565         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20566
20567         * panel-applet/menu-item.[ch]: Wireless menu item.
20568
20569 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20570
20571         * info-daemon/NetworkManagerInfo.conf
20572                 - Created a more robust security policy for the DBus service
20573                         - everything is denied by default
20574                         - root can own and send to the service
20575                         - users logged in at the console can send to the service
20576
20577 2004-09-13  Dan Williams <dcbw@redhat.com>
20578
20579         * src/NetworkManagerDevice.c
20580                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20581                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20582                         the latter
20583
20584 2004-09-13  Dan Williams <dcbw@redhat.com>
20585
20586         * TODO: fix typo
20587
20588         * docs/NetworkManager DBUS API.txt
20589                 - Update for new signal strength changes
20590
20591         * panel-applet/NMWirelessApplet.c
20592                 - Make panel icon show strength of the current connection
20593                 - Cleanups and memleak fixes
20594
20595         * panel-applet/NMWirelessApplet.h
20596                 - Add data members for signal strength on devices and networks
20597
20598         * panel-applet/NMWirelessAppletDbus.c
20599                 - Free more DBusErrors
20600                 - Update for new signal strength changes
20601                 - Make devices and networks more like real objects, use ref/unref methods
20602                 - Actually unlock the mutex when updating the active device
20603
20604         * src/NetworkManagerAP.c
20605                 - Change AP functions and data members from "quality"->"strength"
20606
20607         * src/NetworkManagerDbus.c
20608                 - Kill "getMaxQuality" and "getQuality" methods
20609                 - Add "getStrength" methods for Networks and Devices
20610
20611         * src/NetworkManagerDevice.[ch]
20612                 - Add accessors for device strength
20613                 - Add functions to update strength for a device.  Note that not all drivers
20614                         actually support signal strength for scanned access points (Atmel drivers
20615                         being one)
20616                 - Calculate signal strength for each AP during scan
20617
20618         * src/NetworkManagerWireless.[ch]
20619                 - Add function to return signal strength % from a device and a raw quality struct
20620
20621         * test/nmclienttest.c
20622                 - Update for new signal strength changes
20623
20624 2004-09-11  Dan Williams <dcbw@redhat.com>
20625
20626         * src/NetworkManager.c
20627                 - Fix race condition between initscripts and NM on card insertion
20628                         which could cause a card to keep an IP address and routes around
20629                         even when it was not the active device
20630
20631         * src/NetworkManagerDbus.c
20632                 - Fix compile errors, free more DBusErrors
20633
20634 2004-09-11  Dan Williams <dcbw@redhat.com>
20635
20636         * docs/NetworkManager DBUS API.txt
20637                 - Add an explanation of NM's API
20638
20639         * src/NetworkManagerDbus.c
20640                 - Free some more DBusErrors if needed
20641
20642 2004-09-11  Dan Williams <dcbw@redhat.com>
20643
20644         * panel-applet/NMWirelessApplet.c
20645           panel-applet/NMWirelessAppletDbus.c
20646                 - Start using NetworkDevice/WirelessNetwork structures in more places
20647                 - Update for unified device/network forcing in NetworkManager
20648
20649         * src/NetworkManager.c
20650                 - some code consolidation
20651
20652         * src/NetworkManagerDbus.c
20653                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20654                         or two arguments:  the first is the NM ID of the device to switch to,
20655                         and the second (optional) argument is the ESSID of a wireless network
20656                         to use as well.
20657                 - Get rid of "setNetwork" method due to above change
20658
20659         * src/NetworkManagerDevice.c
20660                 - (nm_device_new): perform scan and update best AP on device creation
20661                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20662                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20663                         spin waiting for cancellation to finish before returning
20664
20665         * src/NetworkManagerPolicy.c
20666                 - Changes here clarify the situations in which a device switch occurs, and 
20667                         make sure to keep using a forced device and network if the user gives
20668                         us one
20669                 - Remove old unused code
20670
20671 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20672
20673         * configure.in: Added Danish (da) to ALL_LINGUAS.
20674
20675 2004-09-09  Dan Williams <dcbw@redhat.com>
20676
20677         * panel-applet/NMWirelessAppletDbus.c
20678                 - Pull fresh devices and networks from NM when wireless networks
20679                         change.  Provides faster feedback of a forced wireless network
20680
20681         * src/NetworkManagerDbus.c
20682                 - Return error when "getMaxQuality" is called on a wired device
20683                 - Make best_ap freezing actually work again, and signal cancellation
20684                         of activation if there's already a device activation when the user
20685                         freezes the best_ap
20686
20687         * src/NetworkManagerDevice.c
20688                 - Don't clear out the best_ap for wireless devices when the link goes
20689                         down, that's done elsewhere
20690                 - Kill any dhcp daemons when cancelling device activation since they
20691                         may be stuck waiting for a DHCP address, and since we're cancelling
20692                         activation we don't care about that anymore
20693
20694         * src/NetworkManagerPolicy.c
20695                 - Make sure to unref the device we ref earlier (we refed it to make sure
20696                         it stuck around during device activation and such)
20697                 - If we were going to change the best device, but its activating currently
20698                         (and therefore the change didn't occur due to the check earlier)
20699                         we mark the state changed to we come back to it later when device
20700                         activation has canceled and its no longer activating
20701
20702         * src/backends/NetworkManagerRedHat.c
20703                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20704
20705 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20706
20707         * info-daemon/passphrase.glade: 
20708         set passphrase input to activates_default : True
20709
20710         * examples/python/systray/network_tray.py
20711         (network_tray.sort_networks):
20712
20713         Added support for having wireless always scanning
20714
20715 2004-09-09  Dan Williams <dcbw@redhat.com>
20716
20717         NOTE: this commit changes the behavior of wireless devices in
20718         NetworkManager.  They are now up all the time, scanning all
20719         the time.  Only the active device has an IP address and routing
20720         information set up however.  Also, NetworkManager will no longer
20721         opportunistically switch wireless networks when a better one
20722         comes in range, it will remain associated with one wireless network
20723         until that one drops out.
20724
20725         * panel-applet/NMWirelessApplet.c
20726           panel-applet/NMWirelessAppletDbus.c
20727                 - List all wireless cards and their respective networks
20728
20729         * src/NMLoadModules
20730                 - Use full path to /sbin/ip
20731
20732         * src/NetworkManager.c
20733                 - Keep wireless devices up all the time so they can scan
20734
20735         * src/NetworkManagerDbus.c
20736                 - On a WirelessNetworkUpdate signal from NMI, don't update
20737                         the "best" AP
20738
20739         * src/NetworkManagerDevice.c
20740                 - (nm_device_set_link_active): clear out the best ap for
20741                         wireless devices when the link is set to FALSE
20742                 - Scan on all wireless cards, all the time
20743                 - (nm_device_activation_worker): split out the wireless card
20744                         link-waiting code to a separate function
20745                 - Keep wireless cards up even if device activation fails
20746                 - Don't update the "best" ap as much
20747
20748         * src/NetworkManagerPolicy.c
20749                 - Don't update the best ap when checking if its frozen,
20750                         let link checking clear out a frozen best ap for us
20751
20752         * src/NetworkManagerWireless.c
20753                 - Scan on all wireless cards, all the time
20754
20755 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20756
20757         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20758
20759 2004-09-09  Ankit Patel <ankit@redhat.com>
20760
20761         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20762
20763 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20764
20765         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20766
20767 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20768
20769         * examples/python/NetworkManager.py: 
20770         added CONNECTED, CONNECTING, and DISCONNECTED states
20771         added methods to return number of devices of a single type
20772
20773         * examples/python/systray/network_tray.py: 
20774         did some tweaks to get the menu looking near what it is supposed
20775         to look like.  Also did a Airo card hack to make it show the
20776         correct AP quality
20777
20778 2004-09-08  Dan Williams <dcbw@redhat.com>
20779
20780         * panel-applet/no-networkmanager.png
20781           panel-applet/Makefile.am
20782           panel-applet/NMWirelessApplet.c
20783                 - Add a "NetworkManager not running" icon and use it
20784                 - Use new consolidated GConf keys rather than Preferred/Trusted
20785
20786         * TODO: update
20787
20788         * info-daemon/NetworkManagerInfo.c
20789           info-daemon/NetworkManagerInfoDbus.[ch]
20790           info-daemon/NetworkManagerInfoPassphraseDialog.c
20791                 - There are now no longer two separate lists of wireless networks,
20792                         but one list where each network is "trusted" or not trusted
20793                 - Add a "getNetworkTrusted" dbus method
20794                 - "WirelessNetworkUpdate" signal now sent rather than
20795                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20796                 - Start freeing some dbus errors (not completed yet)
20797
20798         * info-daemon/passphrase.glade
20799                 - Remove the "don't show" hints for pager and taskbar
20800                 - Add a title since its going to be in the taskbar
20801
20802         * src/NetworkManager.[ch]
20803           src/NetworkManagerAPList.[ch]
20804                 - There are now no longer two separate lists of wireless networks,
20805                         but one list where each network is "trusted" or not trusted
20806
20807         * src/NetworkManagerAP.[ch]
20808                 - Add get/set "trusted" accessors and data bit
20809
20810         * src/NetworkManagerDbus.[ch]
20811                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20812                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20813
20814         * src/NetworkManagerDevice.[ch]
20815                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20816                 - (nm_device_new): Get device config from backend when initializing devices
20817                 - (nm_device_activation_worker): Split out device configuration on
20818                         activation to deal with static/dynamic IP differences, and try encryption
20819                         fallbacks on a device if the encryption method for the best AP is not good
20820                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20821                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20822
20823         * src/NetworkManagerWireless.c
20824                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20825
20826         * src/backends/NetworkManagerRedHat.c
20827           src/backends/NetworkManagerSystem.h
20828                 - (nm_system_device_update_config_info): Add function to get device configuration
20829                         from system data in ifcfg-* files
20830
20831         * src/backends/NetworkManagerDebian.c
20832           src/backends/NetworkManagerGentoo.c
20833           src/backends/NetworkManagerSlackware.c
20834                 - Add stub functions for getting device configuration
20835
20836 2004-09-07  Dan Williams <dcbw@redhat.com>
20837
20838         * src/backends/NetworkManagerRedhat.c
20839           src/backends/NetworkManagerSlackware.c
20840                 - Use full path to /sbin/ip everywhere
20841
20842 2004-09-07  Dan Williams <dcbw@redhat.com>
20843
20844         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20845
20846         * configure.in
20847           initscript/Makefile.am
20848           initscript/Slackware/Makfile.am
20849           initscript/Slackware/rc.networkmanager
20850           src/Makefile.am
20851           src/backends/NetworkManagerSlackware.c
20852                 - Add Slackware support
20853
20854 2004-09-07  Dan Williams <dcbw@redhat.com>
20855
20856         Patches below from:
20857                 <j@bootlab.org>
20858                 Mark Roach <mrroach@okmaybe.com>
20859                 Thom May <thom@debian.org>
20860
20861         * configure.in
20862           initscript/Debian/NetworkManager
20863           initscript/Debian/Makefile.am
20864                 - Initscript for Debian
20865
20866         * src/backends/NetworkManagerDebian.c
20867                 - Add missing system init function to allow compilation
20868                         on Debian
20869
20870 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20871
20872         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20873
20874 2004-09-03  Akagic Amila <bono@linux.org.ba>
20875
20876         * configure.in: Added 'bs' to ALL_LINGUAS.
20877
20878 2004-09-02  Colin Walters  <walters@verbum.org>
20879
20880         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20881         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20882         g_strdup_printf instead of arbitrarily sized buffers.
20883
20884 2004-09-01  Colin Walters  <walters@verbum.org>
20885
20886         * NetworkManager.pc.in: New file.
20887
20888         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20889
20890 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20891         
20892         * configure.in: Punjabi(pa) is added to po/.
20893
20894 2004-08-31  Dan Williams <dcbw@redhat.com>
20895
20896         * Remove 'debug' extern global from all files since we now
20897                 use syslog()
20898
20899         * src/NetworkManager.[ch]
20900                 - Break out routine that get the net.interface property from HAL,
20901                         removing that logic from nm_create_device_and_add_to_list()
20902                 - (nm_create_device_and_add_to_list): make this a bit more general so
20903                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20904                         the create of test devices.
20905                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20906                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20907                         which makes NetworkManager listen for dbus commands to create test
20908                         devices, which have no backing hardware.  Use when you're on a plane
20909                         for example, and/or forgot your wireless card at home.  Test devices
20910                         _cannot_ be created unless NM is started with --enable-test-devices.
20911
20912         * src/NetworkManagerDbus.[ch]
20913                 - New "getLinkActive" method for devices
20914                 - New "setLinkActive" method for devices (only works on test devices)
20915                 - New "createTestDevice" method on NetworkManager object to create a test
20916                         device of a specified type (ie wired, wireless).  UDI is created from
20917                         scratch, as is the interface name.  Only works when NM is started with
20918                         --enable-test-devices switch.
20919                 - New "removeTestDevice" method on NetworkManager object which removes a
20920                         test device.  Only works when NM is started with --enable-test-devices
20921
20922         * src/NetworkManagerDevice.[ch]
20923                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20924                         whether a device is a test device or not, and what its link status is.
20925                 - Deal with test devices in most functions.  For those that work directly on hardware
20926                         special-case test devices.
20927                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20928                         command-line.
20929                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20930                         checking to separate functions to facilitate test device link checking.
20931                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20932                         don't make a distinction between System Authentication and Encryption
20933                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20934                         on the card.  We don't deal with Shared Key auth yet.
20935                 - (nm_device_activation_worker): split the activation cancel check logic out into
20936                         a separate routine nm_device_activation_cancel_if_needed()
20937                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20938                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20939                         a list of fake access points that they can "see"
20940                 - (nm_device_is_test_device): return whether or not a device is a test device
20941
20942         * src/NetworkManagerPolicy.c
20943                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20944                         previously if you "locked"/forced NM to use a wireless device but then
20945                         selected a wireless network for NM to use, it would switch to a wired device.
20946                         So, if the active device is wireless and it has a "forced" best AP, use it
20947                         if the "forced" best AP is still valid
20948                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20949                         there were no usable network devices, or the last one was removed
20950
20951         * src/backends/NetworkManager*.c
20952                 - Deal with test devices, mostly just return success for operations like getting
20953                         a DHCP address
20954
20955         * test/nmtestdevices.c
20956                 - Test tool to create/remove/link-switch test devices
20957
20958 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20959
20960         * examples/python/NetworkManager.py: 
20961         added convience functions has_wired_device and has_wireless_device
20962
20963         * examples/python/systray/network_tray.py: 
20964         cleaned up a bunch of cruft, added support for listing wireless
20965         networks just like the real applet.  This is probably all I'm
20966         going to work on this applet from now on.
20967         TODO: add support for actually changing networks and devices
20968
20969         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20970         changed "nm.networks" into a dict from a list so I can store all
20971         the cool information about networks in there
20972
20973         * examples/python/systray/network_tray.py: 
20974         Added nice message when you try to run without running make first
20975
20976         * examples/python/NetworkManager.py: 
20977         Bug fixes to the code so we get all the device information
20978         that we need in get_device()
20979         
20980         * examples/python/NMTester.py: 
20981         Fixed _print_device_list to print_device_list
20982
20983 2004-08-29  Seth Nickell  <seth@gnome.org>
20984
20985         * configure.in:
20986
20987         Actually properly setup the Debian backend in configure.
20988         
20989 2004-08-29  Colin Walters  <walters@verbum.org>
20990
20991         * test/nminfotest.c: Include string.h and stdlib.h.
20992         (get_network_string_property, get_networks_of_type): Return NULL.
20993
20994         * test/nmclienttest.c (get_device_name, get_active_device): Return
20995         NULL.
20996
20997         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20998         use strlen, fgets always NULL-terminates the string.
20999
21000         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
21001         dbus_message_get_member): Remove /* in comment.
21002
21003         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
21004
21005         * src/NetworkManager.c (quit): Unused, delete.
21006         (nm_data_free): Cast arg to GFunc.
21007
21008         * panel-applet/NMWirelessAppletDbus.c: Need to include
21009         string.h, and dbus-glib-lowlevel.h (the latter is needed
21010         for dbus_connection_setup_with_g_main at present).
21011         (nmwa_dbus_update_wireless_network_list): Parenthesize
21012         assignment in conditional.
21013         (nmwa_dbus_worker): Return NULL.
21014
21015         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
21016         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
21017         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
21018         (nmwa_populate_menu): Return NULL on failure, instead of just
21019         return;
21020
21021         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
21022
21023         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
21024         variables.
21025
21026         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
21027         delete.
21028         
21029 2004-08-29  Colin Walters  <walters@verbum.org>
21030
21031         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
21032         a GTimeVal instead of time_t.  This is easier to work with,
21033         since time_t may be a long or double, we don't know.
21034
21035         * src/NetworkManagerDbus.h: Update prototype.
21036         
21037         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
21038         instead of time_t.
21039         (nm_ap_get_timestamp): Update to return GTimeVal.
21040         (nm_ap_set_timestamp): Update to take GTimeVal.
21041         
21042         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
21043         to handle GTimeVal.
21044
21045         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
21046         GTimeVal change.
21047         (nm_ap_list_print_members): Fix warnings in printf format.
21048
21049 2004-08-29  Colin Walters  <walters@verbum.org>
21050         
21051         * panel-applet/NMWirelessApplet.c: Include config.h.
21052
21053 2004-08-29  Colin Walters  <walters@verbum.org>
21054
21055         * configure.in: Generate config.h.
21056
21057         * configure.in: Dump dependency on OpenSSL; we can't
21058         use it since this package is GPL:
21059         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
21060         Instead, check for libgcrypt, use it if available,
21061         otherwise use included MD5 code.
21062
21063         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
21064         Suck in from gnome-keyring, munge a bit.
21065         
21066         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
21067         gnome-keyring-md5.h gnome-keyring-md5.c.
21068         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
21069
21070         * src/NetworkManagerWireless.c (nm_md5): New function, uses
21071         libgcrypt or included gnome-keyring md5 bits.
21072         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
21073
21074 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
21075
21076         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
21077
21078 2004-08-27  Bryan Clark  <bclark@redhat.com>
21079
21080         * examples/python/systray/Makefile: 
21081
21082         Updated the clean section
21083         
21084         * examples/python/systray/trayiconmodule.c: 
21085         * examples/python/systray/trayicon.override: 
21086         * examples/python/systray/network_tray.py: 
21087         * examples/python/systray/eggtrayicon.h: 
21088         * examples/python/systray/eggtrayicon.c: 
21089         * examples/python/systray/Makefile: 
21090         * examples/python/README: 
21091         * examples/python/NetworkManager.py: 
21092         * examples/python/NMTester.py: 
21093
21094         Initial commit of these python example files
21095
21096 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
21097
21098         * panel-applet/NMWirelessApplet.c
21099                 - Make current device bold
21100                 - Show more user-friendly device name if we got one from hal
21101
21102         * panel-applet/NMWirelessAppletDbus.c
21103                 - Grab "info.product" key from hal for network devices
21104                 - Cache the current active device
21105
21106 2004-08-27  Adam Weinberger  <adamw@gnome.org>
21107
21108         * configure.in: Added en_CA to ALL_LINGUAS.
21109
21110 2004-08-27  Christian Rose  <menthos@menthos.com>
21111
21112         * configure.in: Added "sv" to ALL_LINGUAS.
21113
21114 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21115
21116         * Tag NetworkManager-0.2
21117
21118 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21119
21120         * initscripts/Makefile.am
21121         * configure.in: Make pass distcheck
21122
21123         * po/ChangeLog: added
21124
21125 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21126
21127         * panel-applet/NMWirelessApplet.c
21128                 - Remove debugging code
21129                 - Enable device switching from menus
21130
21131         * panel-applet/NMWirelessAppletDbus.[ch]
21132                 - Method for asking NM to switch devices
21133
21134         * src/NetworkManagerDevice.c
21135                 - Set dev->activating earlier, avoids race between
21136                         the dbus signal of "DeviceActivating" and setting
21137                         dev->activating (which is what NM's "status" method call
21138                         looks at)
21139
21140 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21141
21142         * panel-applet/NMWirelessApplet.[ch]
21143                 - Rework menu code to add devices to menu, and to show
21144                         signal strength for each access point.  Code cleanups
21145                         too.
21146
21147         * panel-applet/NMWirelessAppletDbus.c
21148                 - Grab network devices from NetworkManager too
21149                 - Grab quality information from NM for wireless networks
21150
21151         * src/NetworkManagerDbus.[ch]
21152                 - Add dbus methods for getting the HAL UDI from a device and
21153                         for getting its base quality, if its wireless
21154                 - Consolidate some functions (wireless network notifications,
21155                         device notifications)
21156                 - Add method for requesting NM to use a particular device
21157
21158         * src/NetworkManager.c
21159                 - Change for function consolidations from NetworkManagerDbus.c
21160                 - Implement active device locking and user-requested devices
21161                         (ie, tell NM to use a particular device instead of the one
21162                         it autochose)
21163
21164         * src/NetworkManagerDevice.c
21165                 - Add method for getting the base quality of a device, if its
21166                         wireless
21167                 - Grab device base quailty info from iwlib during scans
21168
21169         * src/NetworkManagerPolicy.c
21170                 - Use a user-requested device rather than the auto-chosen device
21171                         if we are told to
21172
21173 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21174
21175         * Makefile.am: add po as a supdir
21176
21177         * autogen.sh: use gnome-autogen.sh
21178
21179         * initscript/Gentoo/.cvsignore:
21180         * initscript/RedHat/.cvsignore: Shut up cvs
21181
21182         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21183
21184         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21185         (nmwa_fill): Use gettext.
21186
21187         * configure.in: add gettext support
21188         * po/.cvsignore:
21189         * po/NetworkManager.pot:
21190         * po/POTFILES.in:
21191
21192 2004-08-26  Seth Nickell  <seth@gnome.org>
21193
21194         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21195         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21196         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21197         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21198         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21199         * panel-applet/NMWirelessApplet.h:
21200
21201         Use a menu bar instead of a button for the main clickable
21202         thingy.
21203         
21204 2004-08-25  Dan Williams <dcbw@redhat.com>
21205
21206         * src/NetworkManagerDevice.c
21207                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21208                         turning encryption off, because the Cisco driver doesn't associate
21209                         with WEP-enabled access points unless we are in "open"
21210
21211 2004-08-25  Dan Williams <dcbw@redhat.com>
21212
21213         * src/NetworkManagerWireless.c
21214                 - Don't try to defererence blank passphrases
21215
21216 2004-08-25  Dan Williams <dcbw@redhat.com>
21217
21218         * panel-applet/NMWirelessApplet.c
21219                 - Rebuild the menu whenever a user clicks
21220
21221 2004-08-25  Dan Williams <dcbw@redhat.com>
21222
21223         * panel-applet/NMWirelessApplet.c
21224                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21225                         when NM isn't around or when its not connected
21226
21227         * src/NetworkManagerDevice.c
21228                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21229                         canceled.
21230
21231 2004-08-25  Dan Williams <dcbw@redhat.com>
21232
21233         * panel-applet/NMWirelessAppletDbus.c
21234                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21235                         for getting encryption, and don't stop on "val" once we've gotten it
21236                         from NetworkManager.  Short form:  encryption should now show up.
21237
21238 2004-08-25  Dan Williams <dcbw@redhat.com>
21239
21240         * panel-applet/NMWirelessApplet.c
21241                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21242                         network to associate with
21243
21244 2004-08-25  Dan Williams <dcbw@redhat.com>
21245
21246         * panel-applet/*
21247                 - Rework the panel applet to do all DBUS communication in a separate
21248                         thread
21249
21250 2004-08-25  Dan Williams <dcbw@redhat.com>
21251
21252         * info-daemon/NetworkManagerInfo.[ch]
21253                 - Remove "get_next_priority" function
21254
21255         * info-daemon/NetworkManagerInfoDbus.[ch]
21256                 - Convert "priority" functions to "timestamp"
21257
21258 2004-08-25  Dan Williams <dcbw@redhat.com>
21259
21260         * src/NetworkManagerAP.[ch]
21261                 - Add a "enc_method_good" member and accessors to an Access Point
21262                         to signal when we've found the correct encryption method
21263                         for an access point
21264                 - Add a "timestamp" member and accessors, remove "priority" member
21265                         and accessors (use timestamps instead)
21266                 - Rename "wep_key"->"enc_key"
21267                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21268                         for a specified encryption method using the access points
21269                         source encryption key/passphrase
21270
21271         * src/NetworkManagerAPList.c
21272                 - When updating a network with dbus, grab timestamp now instead of
21273                         priority
21274
21275         * src/NetworkManagerDBus.[ch]
21276                 - Add signal for "DeviceActivating"
21277                 - Switch priority->timestamp
21278
21279         * src/NetworkManagerDevice.c
21280                 - Change references of "wep_key" -> "enc_key" or "key"
21281                 - Signal DeviceActivating when starting activation
21282                 - When activating a wireless device, if the access point we are connecting
21283                         to is encrypted, and we have a source key, try to generate a mangled
21284                         key and use that (ie, generate real WEP key from a passphrase)
21285                 - Rework device activation to fallback to other encryption methods if
21286                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21287                         first, then if that doesn't work fall back to direct hex key).
21288                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21289                         priority.  We now prefer the latest access point used, rather than using
21290                         a priority scheme
21291                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21292                         points we've just discovered, and merge in correct info from the global
21293                         access point lists
21294
21295 2004-08-25  Seth Nickell  <seth@gnome.org>
21296
21297         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21298         Debian support.
21299         
21300         * src/Makefile.am:
21301         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21302         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21303         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21304         (nm_system_delete_default_route),
21305         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21306         (nm_system_load_device_modules):
21307
21308 2004-08-24  Dan Willemsen <dan@willemsen.us>
21309
21310         * src/NetworkManager.c
21311           src/backends/NetworkManagerGentoo.c
21312           src/backends/NetworkManagerRedHat.c
21313           src/backends/NetworkManagerSystem.h
21314                 - Implement preliminary Gentoo support, adding a
21315                         nm_system_init function to the backend specification
21316
21317         * configure.in
21318                 - Distribution auto-detection, lowercase any user-fed
21319                         distribution names
21320
21321         * initscript/.cvsignore
21322           initscript/Makefile.am
21323           initscript/RedHat/Makefile.am
21324           initscript/RedHat/NetworkManager
21325           initscript/Gentoo/Makefile.am
21326           initscript/Gentoo/NetworkManager
21327                 - Refactored initscript code separately for each
21328                         distribution
21329
21330 2004-08-23  Dan Williams <dcbw@redhat.com>
21331
21332         * configure.in
21333           src/Makefile.am
21334           src/NetworkManagerDevice.c
21335           src/NetworkManager.c
21336           src/NetworkManagerUtils.[ch]
21337           src/backends/NetworkManagerSystem.h
21338           src/backends/NetworkManagerRedHat.c
21339           src/backends/NetworkManagerGentoo.c
21340                 - Refactor system-specific code into separate backends for
21341                         each distribution
21342
21343 2004-08-23  Dan Willemsen <dan@willemsen.us>
21344
21345         * dispatcher-daemon/NetworkManagerDispatcher.c
21346           info-daemon/NetworkManagerInfo.[ch]
21347           info-daemon/NetworkManagerInfoDbus.c
21348           info-daemon/NetworkManagerInfoPassphraseDialog.c
21349           src/NetworkManager.c
21350           src/NetworkManagerAP.c
21351           src/NetworkManagerAPList.c
21352           src/NetworkManagerDbus.c
21353           src/NetworkManagerDevice.c
21354           src/NetworkManagerPolicy.c
21355           src/NetworkManagerUtils.[ch]
21356           src/NetworkManagerWireless.c
21357                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21358
21359         * src/NetworkManager.c
21360                 - Fixed usage wording for --no-daemon
21361
21362 2004-08-23  Dan Williams <dcbw@redhat.com>
21363
21364         * panel-applet/NMWirelessApplet.c
21365                 - Update our state every second to get more responsive panel icon
21366                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21367                         was causing our marching ants status blips to never move when
21368                         looking for a wireless network
21369
21370         * src/NetworkManagerDevice.c
21371                 - (nm_device_activation_begin): return if activation has already begun
21372                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21373                         trusted/preferred network into the device's access point when the
21374                         scan list is processed
21375
21376 2004-08-23  Dan Williams <dcbw@redhat.com>
21377
21378         * initscript/NetworkManager
21379                 - Use NMLaunchHelper rather than sleeping
21380
21381         * initscript/NMLaunchHelper.c
21382           Makefile.am
21383                 - Add helper program that exits only when NM activates a device,
21384                         or 10 seconds have passed, whichever happens first.  This
21385                         stops the boot processes until we have a network connection,
21386                         which NM can't do because it daemonizes and brings the connection
21387                         up in the background.  Allows stuff like NFS to not die.
21388
21389 2004-08-20  Dan Williams <dcbw@redhat.com>
21390
21391         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21392                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21393                         for a network, set the essid as well since it may not exist yet
21394                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21395                         since WEP keys/passphrases are long and prone to entry-error
21396
21397         * panel-applet/Makefile.am
21398           panel-applet/wired.png
21399                 - Add (pulled from system-config-network temporarily)
21400
21401         * panel-applet/NMWirelessApplet.[ch]
21402                 - Show wired picture when a wired connection is used
21403                 - Rename wireless icon enums, adding WIRELESS
21404
21405         * src/NetworkManagerDevice.c
21406                 - (nm_device_activate_wireless): unset encryption before bringing
21407                         down the card and setting the essid
21408                 - (nm_device_activatin_worker): request a key from the user if the
21409                         AP we are connecting to is encrypted but we don't have a key
21410                         for it yet
21411                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21412                         strcmp() that prevented a user-entered key from actually getting
21413                         used
21414
21415 2004-08-16  Dan Williams <dcbw@redhat.com>
21416
21417         * initscript/NetworkManager
21418                 - Check for /sbin/ip
21419                 - Do sysctl magic that network service does
21420                 - sleep 4s after start to allow network time to come up [hack]
21421
21422         * src/Makefile.am
21423           src/NMLoadModules
21424                 - Load all network device kernel modules (hal doesn't know devices
21425                         are ethernet until the module is loaded, and therefore we don't know)
21426
21427         * src/NetworkManager.c
21428                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21429                         network devices, and bring up the loopback device explicitly
21430
21431         * src/NetworkManagerUtils.[ch]
21432                 - (nm_enable_loopback): new function
21433
21434 2004-08-13  Dan Williams <dcbw@redhat.com>
21435
21436         * configure.in
21437           panel-applet/Makefile.am
21438                 - Fix up cleanfiles and server_DATA/server_in_files
21439
21440         * README
21441                 - Update with some comments on theory of operation
21442
21443         * CONTRIBUTING
21444           Makefile.am
21445                 - Add CONTRIBUTING
21446
21447 2004-08-12  Dan Williams <dcbw@redhat.com>
21448
21449         * info-daemon/passphrase.glade
21450                 - Set window title to " "
21451
21452         * panel-applet/Makefile.am
21453           panel-applet/keyring.png
21454                 - Deliver to correct place
21455
21456         * panel-applet/NMWirelessApplet.[ch]
21457                 - Add comments
21458                 - Remove applet->have_active_device as its no longer used
21459                 - (nmwa_load_theme): load keyring.png too
21460                 - (error_dialog): remove
21461                 - (show_warning_dialog): subsume functionality of error dialog too
21462                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21463                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21464                         the networks menu
21465                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21466                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21467                         and when we get broadcasts of changed wireless access points only, not when the
21468                         user clicks on the button to display the menu (too long of a wait)
21469                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21470                         networks that are encrypted
21471                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21472                         menu item with g_object_set_data()
21473
21474         * panel-applet/NMWirelessAppletDbus.[ch]
21475                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21476                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21477                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21478                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21479                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21480                         activation/deactivation signals and rebuild the menu when they happen
21481
21482         * src/NetworkManager.c
21483                 - (main): use new nm_spawn_process() rather than system()
21484
21485         * src/NetworkManagerDbus.c
21486                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21487                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21488                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21489                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21490                         to freeze the best_ap.
21491
21492         * src/NetworkManagerDevice.[ch]
21493                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21494                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21495                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21496                         ap list
21497
21498         * src/NetworkManagerUtils.[ch]
21499                 - (nm_spawn_process): add replacement for system() usage
21500
21501 2004-08-11  Dan Williams <dcbw@redhat.com>
21502
21503         * panel-applet/NMWirelessApplet.[ch]
21504                 - Fix up copyright and credits to include Bastien and Eskil,
21505                         who created the gnome-applets wireless applet, from whose
21506                         skeleton this one was created
21507                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21508                         pixmap to draw is computed during nmwa_update_state()
21509                 - Applet now shows itself all the time due to panel packing issues
21510                         which caused the applet to previously never come back after hiding.
21511                         When a wired device is the active device, the applet shows "not connected"
21512
21513         * panel-applet/NMWirelessAppletDbus.[ch]
21514                 - Clean up error messages and show what function they are from
21515                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21516                 - Add new device type getters, and a status getter
21517
21518         * src/NetworkManagerDbus.c
21519                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21520                         network is actually in the device's ap list
21521                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21522
21523         * src/NetworkManagerDevice.c
21524                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21525                         card
21526
21527         * test/nmclienttest.c
21528                 - Report status of NetworkManager too
21529
21530 2004-08-11  Dan Williams <dcbw@redhat.com>
21531
21532         * info-daemon/NetworkManagerInfo.c:
21533                 - (main): clean up Seth's code style
21534
21535         * info-daemon/NetworkManagerInfoDbus.c:
21536                 - Use the more aptly-named path/service/interface constants from NetworkManager
21537                 - Don't return empty strings ("") as object paths ever, instead return errors
21538
21539         * panel-applet/NMWirelessApplet.c:
21540                 - Clean up Seth's code style
21541
21542         * src/NetworkManager.[ch]
21543                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21544                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21545
21546         * src/NetworkManagerAPList.[ch]
21547                 - Move Iter struct right above the iter functions to preserve opacity
21548                 - (nm_ap_list_remove_ap): implement
21549                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21550                         remove AP if NetworkManagerInfo doesn't know anything about it
21551                 - (nm_ap_list_diff): user NMAPList iterators
21552                 - (nm_ap_list_print_members): implement debugging function
21553
21554         * src/NetworkManagerDbus.[ch]
21555                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21556                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21557                         and move the actual key setting stuff into NetworkManagerDevice.c
21558                 - (nm_dbus_get_network_priority): return -1 now on errors
21559                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21560                         get lost, and force the active device to update its "best" ap when AP lists change
21561                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21562                         method call due to pending_device member removal
21563
21564         * src/NetworkManagerDevice.[ch]
21565                 - Move NMDevice structure to the top
21566                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21567                 - Remove Pending Action stuff from everywhere
21568                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21569                         activation for us.  This thread blocks until all conditions for activation have
21570                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21571                         then setup up the interface and runs dhclient.  We have to do this because there
21572                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21573                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21574                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21575                         can tell nm_device_activation_worker() that we've got a key
21576                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21577                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21578                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21579                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21580
21581         * src/NetworkManagerPolicy.c
21582                 - Remove anything to do with pending_device
21583                 - Adjust device activation to deal with activation-in-worker-thread
21584
21585         * src/NetworkManagerUtils.c
21586                 - Clean up locking debugging a bit
21587
21588         * src/NetworkManagerWireless.[ch]
21589                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21590                         was badly named and is better as a device function
21591
21592         * panel-applet/.cvsignore: add
21593
21594 2004-08-09  Seth Nickell  <seth@gnome.org>
21595
21596         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21597         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21598         (nmwa_new):
21599         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21600
21601         Don't load the menus until clicked on (also removes a call outside
21602         normal code paths at first load).
21603
21604         Hide applet when NM is not present.
21605         
21606         Improve printf debugging stuff.
21607         
21608 2004-08-09  Dan Williams <dcbw@redhat.com>
21609
21610         * dispatcher-daemon/NetworkManagerDispatcher.c:
21611                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21612                 - Use constants for NetworkManager interface, service, and path
21613
21614 2004-08-09  Dan Williams <dcbw@redhat.com>
21615
21616         * src/NetworkManagerDbus.c:
21617                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21618                         instead return an error message
21619                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21620                         on a wired device.  Also never return an empty object path, instead return an error message
21621
21622 2004-08-06  Seth Nickell  <seth@gnome.org>
21623
21624         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21625
21626         Check the error code when getting a connection.
21627         
21628         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21629
21630         Check if the NM service exists when initializing (rather than
21631         assuming it does not).
21632         
21633         * src/NetworkManagerDbus.c: (nm_dbus_init):
21634
21635         Don't acquire the well-known service name until we have
21636         registered object/path handlers and can actually receive
21637         calls.
21638         
21639 2004-08-06  Dan Williams <dcbw@redhat.com>
21640
21641         * panel-applet/*
21642                 - Add panel applet
21643
21644         * src/NetworkManagerPolicy.c
21645           src/NetworkManager.c
21646                 - Get access point lists from NetworkManagerInfo on-demand,
21647                         and look for ServiceCreate/ServiceDeleted signals to see when
21648                         we should query NMI for lists
21649         * src/NetworkManagerAPList.c
21650                 - Make sure to init the list's mutex
21651                 - Convert traversals of the list over to the list iter functions
21652
21653         * src/NetworkManagerDbus.[ch]
21654                 - Use more aptly-named path/service/interface constants
21655                 - Treat both active and pending devices the same for "getActiveDevice"
21656                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21657
21658         * src/NetworkManagerDevice.c
21659                 - Honor "ignored" network list when picking best ap to use
21660
21661 2004-08-06  Seth Nickell  <seth@gnome.org>
21662
21663         * aclocal.m4:
21664
21665         Autogenerated, remove from CVS.
21666         
21667         * autogen.sh:
21668
21669         Don't hardcode automake version.
21670         
21671         * configure.in:
21672         * info-daemon/Makefile.am:
21673         * info-daemon/NetworkManagerInfo.c: (main):
21674
21675         Use GnomeProgram et al. for doing session management.
21676         Use popt stuff for argument parsing rather than doing
21677         it manugally.
21678         
21679 2004-08-05  Dan Williams <dcbw@redhat.com>
21680
21681         * test/nminfotest.c
21682                 - Update to new NMI dbus API, check different network types
21683
21684         * info-daemon/NetworkManagerInfoDbus.c
21685                 - Update to new NM dbus API, ie network type sent in query message
21686
21687 2004-08-05  Dan Williams <dcbw@redhat.com>
21688
21689         * An assload of changes
21690
21691 2004-08-02  Dan Williams <dcbw@redhat.com>
21692
21693         * TODO
21694                 - new task: proper logging support
21695
21696         * info-daemon/NetworkManagerInfo.c
21697                 - Correct spelling of "canceled"
21698                 - Correct casting of objects for g_signal_connect()
21699
21700         * info-daemon/NetworkManagerInfoDbus.c
21701                 - Add defines for NetworkManager namespace and object path, and use them
21702                 - Add filter function to trap new signals from NetworkManager:
21703                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21704
21705         * info-daemon/passphrase.glade
21706                 - Change name of "ok" button to "Login to Network..."
21707                 - Mark invisible
21708
21709         * src/NetworkManager.c
21710                 - Code and debug message cleanups
21711                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21712                 - (nm_add_initial_devices) Check returned string array of devices
21713                         and don't try to add devices if array is NULL
21714                 - (main) Initialize libhal a bit later, make code a bit clearer
21715
21716         * src/NetworkManagerAP.[ch]
21717                 - New accessor and data member "matched": used to speed up AP list
21718                         diffing
21719                 - New accessor and data member "enc_method": will be used during key
21720                         fallback to cache which passphrase->key conversion actually works
21721                         so we don't have to do it every time
21722
21723         * src/NetworkManagerAPList.[ch]
21724                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21725                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21726                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21727                         dbus in response to those differences
21728
21729         * src/NetworkManagerDbus.[ch]
21730                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21731                         make an object path for that access point (NOTE that we don't yet check to
21732                         make sure that access point is actually in the device's AP list yet)
21733                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21734                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21735                         New: signal appearance/disappearance of wireless networks
21736                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21737                         key entry
21738
21739         * src/NetworkManagerDevice.[ch]
21740                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21741                 - (nm_device_ap_list_get) New: return the AP list (static function)
21742                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21743                         new one resulting from the scan with the old one
21744
21745         * src/NetworkManagerWireless.c
21746                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21747
21748         * test/nminfotest.c
21749                 - #define object paths and namespaces and use the #defines rather than static strings
21750                 - Test out user-key functionality of NetworkManagerInfo too
21751
21752 2004-07-29  Dan Williams <dcbw@redhat.com>
21753
21754         * info-daemon/NetworkManagerInfoDbus.c
21755           src/NetworkManagerDbus.c
21756                 - Update to current DBus (ie don't use decomposed paths when registering
21757                         object paths/fallbacks)
21758
21759 2004-07-27  Dan Williams <dcbw@redhat.com>
21760
21761         * Remove various Makefile.in files
21762
21763         * TODO
21764                 - Add some more items
21765
21766         * configure.in
21767                 - Add checks for OpenSSL/md5 headers and libs
21768
21769         * src/Makefile.am
21770                 - Use OpenSSL CFLAGS
21771
21772         * src/NetworkManagerAP.[ch]
21773                 - Remove 'stamp' functions, replace with 'invalid' functions
21774                         to support user cancelling WEP key entry
21775
21776         * src/NetworkManagerDbus.c
21777                 - Remove 'stamp' return functions
21778                 - Treat returned user key as a passphrase and convert to a WEP key,
21779                         but don't actually use the WEP key yet.  We use the returned user
21780                         key as a hexadecimal WEP key until we can figure out a UI for
21781                         passphrase-vs-hex key
21782
21783         * src/NetworkManagerWireless.[ch]
21784                 - Add passphrase-to-128bit-key function
21785
21786 2004-07-27  Dan Williams <dcbw@redhat.com>
21787
21788         * TODO
21789                 - Add a couple of items
21790
21791 2004-07-27  Dan Williams <dcbw@redhat.com>
21792
21793         * info-daemon/NetworkManagerInfo.c
21794                 - Update allowed network's GConf key when user enters a WEP key explicitly
21795
21796         * info-daemon/NetworkManagerDbus.c
21797                 - Fix some comments
21798                 - nmi_dbus_get_allowed_networks(): kill warning
21799
21800 2004-07-27  Dan Williams <dcbw@redhat.com>
21801
21802         * initscript/Makefile.in
21803                 - Remove
21804
21805         * initscript/Makefile.am
21806                 - Add correct rules to install the init.d initscript
21807
21808         * info-daemon/NetworkManagerInfoDbus.c
21809                 - Remove debug fprintf
21810
21811         * src/NetworkManagerDbus.[ch]
21812                 - Remove debug fprintfs
21813                 - Add macros for NetworkManagerInfo object path/namespace
21814                 - Use said macros instead of constant strings
21815
21816 2004-07-27  Dan Williams <dcbw@redhat.com>
21817
21818         * initscript/.cvsignore
21819                 - Add
21820
21821         * info-daemon/Makefile.am
21822                 - Install .glade files and keyring.png
21823                 - Fix stupid omission of a \ that caused half the flags not to be
21824                         passed to gcc
21825
21826         * info-daemon/NetworkManagerInfo.c
21827                 - gtk_signal_connect->g_signal_connect
21828                 - Alert NetworkManagerInfo to new glade file location
21829
21830 2004-07-27  Dan Williams <dcbw@redhat.com>
21831
21832         * test/nmclienttest.c
21833           test/nminfotest.c
21834                 - Add missing <dbus/dbus.h> headers
21835                 - Add GPL message at top
21836
21837 2004-07-27  Dan Williams <dcbw@redhat.com>
21838
21839         * src/NetworkManagerAPList.[ch]
21840           src/Makefile.am
21841                 - Add.  Deal with allowed network list additions, deletions, and updates
21842
21843         * dispatcher-daemon/NetworkManagerDispatcher.c
21844                 - Add missing <dbus/dbus.h> header
21845
21846         * info-daemon/NetworkManagerInfo.[ch]
21847                 - Add missing <dbus/dbus.h> header
21848                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21849                         network change
21850                 - Better error checking
21851
21852         * info-daemon/NetworkManagerInfoDbus.[ch]
21853                 - Add missing <dbus/dbus.h> header
21854                 - Convert to using dbus_message_append_args/dbus_message_get_args
21855                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21856                         that an allowed network changed.  We don't want to signal on individual
21857                         keys _inside_ an allowed network really, just want NM to query the info
21858                         daemon for updated info on all keys.
21859                 - Better error checking
21860
21861         * src/NetworkManager.[ch]
21862                 - Add missing <dbus/dbus.h> header
21863                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21864                 - Zero out NMData structure on free
21865                 - No longer use a thread for allowed_ap_list updating, instead its now done
21866                         through dbus queries against NetworkManagerInfo
21867                 - Populate allowed_ap_list initially before adding existing network devices
21868                         to the device list, so wireless devices can get their "best" AP
21869
21870         * src/NetworkManagerDbus.[ch]
21871                 - Convert to using dbus_message_append_args/dbus_message_get_args
21872                 - Better error checking
21873                 - Implement Allowed Network info functions to request allowed network
21874                         info from NetworkManagerInfo
21875                 - Implement the filter function to process signals from NetworkManagerInfo
21876                         about changing allowed networks
21877
21878         * src/NetworkManagerDevice.c
21879                 - Fix file descriptor leak in nm_device_update_ip4_address()
21880
21881 2004-07-27  Dan Williams <dcbw@redhat.com>
21882
21883         * .cvsignore
21884           src/.cvsignore
21885           test/.cvsignore
21886           dispatcher-daemon/.cvsignore
21887           info-daemon/.cvsignore
21888                 - Add .cvsignore files to reduce noise when diffing
21889
21890 2004-07-24  Dan Williams <dcbw@redhat.com>
21891
21892         * src/NetworkManager.[ch]
21893           src/NetworkManagerDbus.[ch]
21894           src/NetworkManagerDevice.[ch]
21895           src/NetworkManagerPolicy.c
21896           src/NetworkManagerWireless.[ch]
21897                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21898                 - Pass the NMData application data structure through all calls
21899                         that need it so we can get rid of nm_get_global_data()
21900                 - Change deallocation of the allowed_ap_list GSList in preparation
21901                         for not completely clearing it every time we get an update,
21902                         but instead getting incremental updates via GConf/dbus
21903
21904 2004-07-22  Dan Williams <dcbw@redhat.com>
21905
21906         * configure.in
21907                 - Add checks for GConf libs & headers & flags
21908
21909         * info-daemon/Makefile.am
21910                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21911
21912         * info-daemon/NetworkManagerInfo.[ch]
21913                 - Don't use gquarks for data storage, just use normal data storage
21914                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21915
21916         * info-daemon/NetworkManagerDbus.[ch]
21917                 - Add method call for getting allowed networks
21918                 - Add method calls for getting an allowed network's essid, priority, and key
21919                 - Hook the method calls up to GConf
21920                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21921                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21922                 
21923         * src/NetworkManagerDbus.[ch]
21924                 - Switch for enumeration of networks to using essid instead
21925
21926         * test/Makefile.am
21927           test/nminfotest.c
21928                 - Add test program for NetworkManagerInfo
21929
21930 2004-07-19  Dan Williams <dcbw@redhat.com>
21931
21932         * src/NetworkManagerDbus.c
21933                 - Switch from indexed device paths to names.  Less code, more efficient.
21934                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21935
21936 2004-07-19  Dan Williams <dcbw@redhat.com>
21937
21938         * dispatcher-daemon/NetworkManagerDispatcher.c
21939                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21940
21941 2004-07-19  Dan Williams <dcbw@redhat.com>
21942
21943         * Makefile.am
21944                 - Add info-daemon directory
21945
21946         * configure.in
21947                 - Check for glade libs and headers
21948                 - Add info-daemon directory
21949
21950         * src/NetworkManagerAP.c
21951                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21952                         copied over to the new AP.
21953
21954         * src/NetworkManagerDbus.c
21955           src/NetworkManagerDbus.h
21956                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21957                 - Remove nm_dbus_signal_need_key_for_network()
21958                 - Add disabled code for asynchronous user wep key callbacks
21959                 - Add functions for getting, setting, and cancelling user key operations
21960                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21961                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21962
21963         * src/NetworkManagerDevice.c
21964           src/NetworkManagerDevice.h
21965                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21966                         logic is in device activation now
21967                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21968                         key is wrong) trigger get-user-key pending action
21969                 - Implement get-user-key pending action stuff, tie to dbus messages
21970                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21971                 - Add nm_device_ap_list_get_ap_by_essid()
21972                 - Instead of copying "best" access points, ref them instead so that the key we set
21973                         sticks around
21974
21975         * src/NetworkManagerPolicy.c
21976                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21977                 - Don't cancel pending actions on a device if its the same device as last iteration
21978                 - Only promote pending_device->active_device if activation was successfull
21979
21980         * src/Makefile.am
21981                 - Rename nmclienttest->nmtest
21982
21983         * info-daemon/Makefile.am
21984           info-daemon/NetworkManagerInfo.c
21985           info-daemon/NetworkManagerInfo.h
21986           info-daemon/NetworkManagerInfoDbus.c
21987           info-daemon/NetworkManagerInfoDbus.h
21988           info-daemon/passphrase.glade
21989           info-daemon/NetworkManagerInfo.conf
21990           info-daemon/keyring.png
21991                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21992                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21993                         lists to NetworkManager by proxying user's GConf
21994           
21995
21996 2004-07-15  Dan Williams <dcbw@redhat.com>
21997
21998         * src/Makefile.am
21999                 - Turn on warnings
22000
22001         * src/NetworkManager.c
22002                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
22003                         that doing the deactivation ourselves
22004                 - Cancel an pending actions on a device if its being removed
22005                 - Break up link state checking a bit, make non-active wireless cards
22006                         deactivated to save power
22007                 - Remove unused variables
22008
22009         * src/NetworkManager.h
22010                 - Add support for "pending" device
22011
22012         * src/NetworkManagerAP.h
22013           src/NetworkManagerAP.c
22014                 - Add support for determining whether and AP has encryption enabled or not
22015                 - AP address is now "struct ether_addr" rather than a string
22016
22017         * src/NetworkManagerDbus.h
22018           src/NetworkManagerDbus.c
22019                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
22020                 - Changes for AP address from struct ether_addr->string
22021
22022         * src/NetworkManagerDevice.h
22023           src/NetworkManagerDevice.c
22024                 - Remove unused variables, fix warnings
22025                 - Add support for Pending Actions (things that block a device from being "active"
22026                         until they are completed).
22027                 - First pending action:  Get a WEP key from the user
22028                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
22029                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
22030                 - Update wireless link checking to try to determine if the AP we are associated
22031                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
22032                         trigger the GetUserKey pending action on the device
22033                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
22034                         up in that case, otherwise we can't scan or link-check on it
22035                 - Add IP address change notifications at appropriate points (still needs some work)
22036                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
22037
22038         * src/NetworkManagerPolicy.h
22039           src/NetworkManagerPolicy.c
22040                 - Split out "best" access point determiniation into separate function
22041                 - Make device activation 2-stage:  first the device is pending, then
22042                         in the next iteration through it becomes "active" unless it has
22043                         pending actions
22044
22045         * src/NetworkManagerUtils.h
22046           src/NetworkManagerUtils.c
22047                 - Clean up unused variables and warnings
22048                 - Wrap our debug macros in {} to prevent possible confusion
22049
22050         * src/NetworkManagerWireless.c
22051                 - Forgot to return current best priority, which lead to last available AP always
22052                         being chosen no matter what its priority was.  Corrected.
22053
22054 2004-07-15  Dan Williams <dcbw@redhat.com>
22055
22056         * dispatcher-daemon/Makefile.am
22057                 - Turn on warnings
22058
22059         * dispatcher-daemon/NetworkManagerDispatcher.c
22060                 - Remove unused variables due to warnings
22061                 - Fix some comments
22062                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
22063
22064 2004-07-06  Dan Williams <dcbw@redhat.com>
22065
22066         * src/NetworkManager.c
22067                 - Add IPv4 address update for active device during link state check
22068                 - Don't allow wireless cards to be powered up when they are not the
22069                         active device
22070
22071         * src/NetworkManagerDbus.c
22072           src/NetworkManagerDbus.h
22073                 - Add DBUS IPv4 address change signal
22074                 - Add DBUS IPv4 address get method for devices
22075
22076         * src/NetworkManagerDevice.c
22077                 - Make setting the WEP key actually work
22078                 - Move IP address get/set/update stuff here, per-device
22079                 - Power down/bring down wireless device when deactivated
22080                 - For scanning wireless devices, if first scan returned ENODATA, try again
22081
22082         * src/NetworkManagerPolicy.c
22083                 - Only set the WEP key for an allowed access point if there is one.
22084                         We were setting it to be blank if one wasn't specified.
22085
22086         * src/NetworkManagerUtils.h
22087           src/NetworkManagerUtils.c
22088                 - Move the IP address stuff to NetworkManagerDevice.c
22089
22090         * dispatcher-daemon/NetworkManagerDispatcher.c
22091                 - Add device IPv4 address change notification stuff
22092
22093 2004-07-05  Dan Williams <dcbw@redhat.com>
22094
22095         * dispatcher-daemon/NetworkManagerDispatcher.c
22096                 - A bit more descriptive state message
22097                 - Don't segfault when reading directory
22098
22099         * src/NetworkManager.h
22100                 - Remove NMData desired_ap member, its now
22101                         per-device rather than global
22102
22103         * src/NetworkManager.c
22104                 - Remove references to desired_ap
22105                 - Move the allowed AP list refresh stuff into a thread
22106
22107         * src/NetworkManagerDevice.c
22108           src/NetworkManagerDevice.h
22109                 - Each wireless device now has a "best ap"
22110                 - Make device activate/deactivate functions per-device
22111                 - Make wireless scanning per-device
22112                 - Add IPv4 address discover functions, stub IPv6 ones
22113                 - Move ethernet address validation functions to NetworkManagerUtils.c
22114                 - Add wireless access point accessor function
22115                 - Get/Set functions for "best ap"
22116
22117         * src/NetworkManagerPolicy.c
22118                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22119                 - Deal with per-device "best ap" rather than data->desired_apa
22120                 - Implement allowed access point worker thread
22121                 - Add nm_policy_essid_is_allowed() function
22122
22123         * src/NetworkManagerUtils.c
22124           src/NetworkManagerUtils.h
22125                 - Add nm_ethernet_address_is_valid() function
22126                 - Add IPv4/IPv6 address get functions
22127
22128         * src/NetworkManagerWireless.c
22129           src/NetworkManagerWireless.h
22130                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22131
22132 2004-06-29  Dan Williams <dcbw@redhat.com>
22133
22134         * dispatcher-daemon/NetworkManagerDispatcher.c
22135                 - Implement script callout functionality
22136
22137 2004-06-24  Dan Williams <dcbw@redhat.com>
22138
22139         * NetworkManager.c
22140             - Spacing cleanups
22141             - Flush device routes and ip addresses when added to the device list
22142
22143         * NetworkManagerDbus.c
22144             - Spacing cleanups
22145             - Add missing returns in the two signal functions
22146         
22147         * NetworkManagerPolicy.c
22148             - Spacing and variable cleanups
22149
22150 2004-06-24  Dan Williams <dcbw@redhat.com>
22151
22152         * Makefile.am
22153           Makefile.in
22154           configure.in
22155           dispatcher-daemon/Makefile.am
22156           dispatcher-daemon/Makefile.in
22157           dispatcher-daemon/NetworkManagerDispatcher.c
22158             - Add a daemon that receives signals from NetworkManager
22159                         and will (eventually) call scripts in /etc/somewhere
22160                         when devices go up or down.
22161         
22162         * NetworkManager.c
22163             - Spacing cleanups
22164             - Flush device routes and ip addresses when added to the device list
22165
22166         * NetworkManagerDbus.c
22167             - Spacing cleanups
22168             - Add missing returns in the two signal functions
22169         
22170         * NetworkManagerPolicy.c
22171             - Spacing and variable cleanups
22172             - Rename nm_policy_switch_interface->nm_policy_switch_device
22173             - nm_policy_switch_device():
22174                                 Use kill (pid) instead of system ("kill <pid>")
22175             - nm_state_modification_monitor():
22176                                 Add wireless essid to output of debug statements
22177                                 Correct typo in device compare to switch or not (should be !=)
22178                                 Don't sleep after sending "no longer active" signal, was useless
22179
22180 2004-06-24  Dan Williams <dcbw@redhat.com>
22181
22182         * Initial import